如何在DLL中编一个过程,以实现对外部某一个窗体中的标签控件的标题进行修改? 如何在DLL中编一个过程,以实现对外部某一个窗体中的标签控件的标题进行修改?另外在很多材料上都说要在DLL中的过程或函数后面加一个stdcall,但我在加了之后,DLL中的函数或过程调用却出错,不加反倒正常。我用的是DELPHI7,WIN98SE 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看如下的例子,你最后将过程ChangeLabel移动到dll即可:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;const WM_ChangeLabel = WM_USER + 1024; //自定义消息type TForm1 = class(TForm) Button2: TButton; Label1: TLabel; procedure Button2Click(Sender: TObject); private procedure WMChangeLabel(var Message: TMessage); message WM_ChangeLabel; end;var Form1: TForm1;implementation{$R *.dfm}procedure ChangeLabel(Handle: THandle; Name, NewText: PChar); //Handle接受需要被修改的标签所在窗体的句柄,Name接受标签控件的名字,NewText为新的标签begin SendMessage(Handle, WM_ChangeLabel, Integer(Name), Integer(NewText)); //WM_ChangeLabel为自定义消息,如:end;procedure TForm1.Button2Click(Sender: TObject);begin ChangeLabel(Handle, 'Label1', 'lxphasid');end;procedure TForm1.WMChangeLabel(var Message: TMessage);var tfLabel: TLabel;begin with Message do if Msg = WM_ChangeLabel then begin tfLabel := TLabel(FindComponent(PChar(WParam))); if tfLabel <> nil then tfLabel.Caption := PChar(LParam); end;end;end.—————————————————————————————————宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。————————————————————————————————— 急!关于线程的应用 判断窗体的右端是否为屏幕左端并在屏幕右端显示,急求 有没有专家在啊?晕,!!!有的回复一下,提个问题 求关于二维码(QRCode)编码及解码 感谢为我女儿起名字的人,weiyf2008(阿飞) 关于多线程WaitForMultipleObjects函数的几个疑问. 打印间距问题? 怎么遍历一个目录里面所有的文件? Delphi7中Button的Caption的字体为什么不能改颜色?是不是Delphi7中的bug? 看看过去,再看看现在! 能不能打DBGRID Title 变得高一点,而字体不变 OBDC连接数据库编译
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;const WM_ChangeLabel = WM_USER + 1024; //自定义消息type
TForm1 = class(TForm)
Button2: TButton;
Label1: TLabel;
procedure Button2Click(Sender: TObject);
private
procedure WMChangeLabel(var Message: TMessage);
message WM_ChangeLabel;
end;var
Form1: TForm1;implementation{$R *.dfm}procedure ChangeLabel(Handle: THandle; Name, NewText: PChar); //Handle接受需要被修改的标签所在窗体的句柄,Name接受标签控件的名字,NewText为新的标签
begin
SendMessage(Handle, WM_ChangeLabel, Integer(Name), Integer(NewText)); //WM_ChangeLabel为自定义消息,如:
end;procedure TForm1.Button2Click(Sender: TObject);
begin
ChangeLabel(Handle, 'Label1', 'lxphasid');
end;procedure TForm1.WMChangeLabel(var Message: TMessage);
var
tfLabel: TLabel;
begin
with Message do
if Msg = WM_ChangeLabel then
begin
tfLabel := TLabel(FindComponent(PChar(WParam)));
if tfLabel <> nil then
tfLabel.Caption := PChar(LParam);
end;
end;end.—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————