截获文本空件WM_ERASEBKGND消息,画完背景后返回非零即可。限定行字符数要看你的要求了,如果你能定位文本框的行和列,其它的操作应该没有问题。
解决方案 »
- rzdbedit 无法找到相关字段
- 窗体用了VCLSKIN后,webbrowser页面中的propmt不能返完整的信息。
- 紧急求助,现场给分!ICS的WSocketServer1和WSocket进行通讯,如何用WSocketServer1返回信息给WSocket呀?WSocket又是如何接收?多谢!!
- 请问这个错是怎么造成的?(入门者的困惑)
- 关于数据库的操作问题。
- 怎样把messagedlg显示为中文
- 局域网上如何设置POP3,SMTP?
- 如何使用TClientDataset中的aggregate
- 一个问题,请帮忙!!
- delphi xe10 安装 android SDK 问题
- 求教,创建DB2数据库.
- 怎样才能让DELPHI编的程序能就一个EXE就可以运行?
TForm1 = class(TForm)
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
FWinProc: Longint;
procedure MyWndProc(var Message: TMessage);
end;implementationprocedure TForm1.FormCreate(Sender: TObject);
begin
FWinProc := SetWindowLong(Memo1.Handle, GWL_WNDPROC,
Longint(MakeObjectInstance(MyWndProc)));
end;procedure TForm1.MyWndProc(var Message: TMessage);
var
DC: HDC;
begin
if Message.Msg = WM_ERASEBKGND then
begin
DC := HDC(Message.WParam);
{.. 画背景 ...}
Message.Result := 1;
end
else CallWindowProc(pointer(FWinProc), Memo1.Handle,
Message.Msg, Message.WParam, Message.LParam);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
FWinProc := SetWindowLong(Memo1.Handle, GWL_WNDPROC, FWinProc);
FreeObjectInstance(pointer(FWinProc));
end;