FastReport 3.14 对话框中的Edit控件无法录入中文? ( 积分: 200 )

  • 主题发起人 主题发起人 JamesDF
  • 开始时间 开始时间
J

JamesDF

Unregistered / Unconfirmed
GUEST, unregistred user!
最近用FastReport写了一个报表,有对话框,在对话框中放入Edit控件,运行后无法录入中文,其他没有问题,已经修改的Edit控件的Font属性为“宋体,11,GB2312”,请问有谁知道什么原因
 
最近用FastReport写了一个报表,有对话框,在对话框中放入Edit控件,运行后无法录入中文,其他没有问题,已经修改的Edit控件的Font属性为“宋体,11,GB2312”,请问有谁知道什么原因
 
修改Frclass.pas
procedure TfrxDialogControl.DoOnKeyDown(Sender: TObject;
var Key: Word;
Shift: TShiftState);
var
v: Variant;
begin
v := VarArrayOf([Integer(Self), Key, ShiftToByte(Shift)]);
if Report <> nil then
Report.DoParamEvent(FOnKeyDown, v);
// Key := v[1];
end;

procedure TfrxDialogControl.DoOnKeyPress(Sender: TObject;
var Key: Char);
var
v: Variant;
begin
v := VarArrayOf([Integer(Self), Key]);
if Report <> nil then
Report.DoParamEvent(FOnKeyPress, v);
{if VarToStr(v[1]) <> '' then
Key := VarToStr(v[1])[1]
else
Key := Chr(0);}
end;

procedure TfrxDialogControl.DoOnKeyUp(Sender: TObject;
var Key: Word;
Shift: TShiftState);
var
v: Variant;
begin
v := VarArrayOf([Integer(Self), Key, ShiftToByte(Shift)]);
if Report <> nil then
Report.DoParamEvent(FOnKeyUp, v);
//Key := v[1];
end;
 
另外frreport的bug可不少,下面是我修改的几个问题
1.修改了报表对话框中无法输入中文的问题 :修改keydown keypress keyup事件
2.修改无法传递中文参数的问题:主要是unpackqueryline函数中无法处理utf8的中文字符,一个utf8中文字符占三位,需要确认起始位(若大于则是中文),目前使用7E(127,从0x80开始)代替
3.修改资源文件,使得Html报表上的按钮为中文,fxrcexports.pas
4.pdf的中文问题(从网上得到)
5.todo:修改Excel,XML导出的功能,怀疑其中文支持有问题
 
谢谢,先试一下
 
安装你的方法改了,也重新编译的,但是还是不行,还有就是好像 SUM,MIN MAX 等函数都用不了,只有COUNT函数可以用。
 
试试Grid++Report, 去 http://www.rubylong.cn 下载
 
接受答案了.
 
后退
顶部