如何给一个form上的所有Twincontrol控件的onmousedown事件赋值?(如果有的话)
解决方案 »
- 窗体最大化后,其中的所有控件按比列放大如何操作呢?? 在线等,先行谢过!!
- 有关quickreport打印的问题
- 【求助】关于VCLZip组件的用法
- 换汤不换药的 Turbo Delphi。
- 我用DLL创建的MDICHILD,如何在该MDICHILD关闭的时候释放掉DLL呢 ?
- 各位 大哥:我的调用还是不行,请您再帮我看看,好吗?谢谢!
- 本人是菜鸟刚开始学Delphi 有几题不懂做那位能不能帮帮忙
- 急聘一个有经验的delphi程序员和一个sqlserver人员(内详)
- 请给出计算机文献中经常出现的"上下文"的正确定义!
- 急急~~~~,TOleContainer如何使用?
- 请问怎样以二进制的方式打开任何文件!
- 在Delphi中如何使用ActiveX控件MsFlexGrid的TextMatrix属性?
i: integer;
begin
for i := 0 to form1.ComponentCount-1 do
begin
if Form1.Components[i] is TWinControl then
TWinControl(Form1.Components[i] ).OnMouseDown := YourEvent;
end;
end;
???????
给你就是思路,你不会一行代码也不想写吧
如果还有什么特别的
你可以在动态生成控件的时候加tag=9之类的,然后在ljmanage(过客) 的代码中判断tag
http://www.delphibbs.com/delphibbs/dispq.asp?LID=1619353
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure btn(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}{ TForm1 }procedure TForm1.btn(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ShowMessage('ok');
end;procedure TForm1.FormCreate(Sender: TObject);
var
myMemo:TMemo;
begin
myMemo:=TMemo.Create(nil);
with myMemo do
begin
parent:=Form1;
left:=100;
top:=100;
onMouseDown:=btn;
end;
end;end.
btw,你上面的这段程序似乎和我的问题没有关系,也许你没看明白我得意思,也许我没说清楚。如果是我没说清楚,那我再说一遍;一个from上面有很多不一样的Twincontrol控件,比如Tlabel,TEdit,TCombox等等,我希望他们响应同一个OnmouseDwon事件MyMouseDown。问通过什么办法可以实现?
请你想清楚了再回答。
再本方法一点点
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure btn(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
public
{ Public declarations }
end;var
Form1: TForm1;implementation
{$R *.DFM}{ TForm1 }procedure TForm1.btn(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ShowMessage('ok');
end;procedure TForm1.FormCreate(Sender: TObject);
var
myMemo:TMemo;
myEdit:TEdit;
i: integer;
begin
myMemo:=TMemo.Create(nil);
with myMemo do
begin
parent:=Form1;
left:=100;
top:=100;
// onMouseDown:=btn;
end; myEdit:=TEdit.Create(nil);
with myEdit do
begin
parent:=Form1;
left:=300;
top:=100;
onMouseDown:=btn;
end; for i := 0 to form1.ControlCount-1 do
begin
//这里列出所有响应onMouseDown的
if (Form1.Controls[i] is TEdit) then
(Form1.Controls[i] as TEdit).onMouseDown := btn;
if (Form1.Controls[i] is TMemo) then
(Form1.Controls[i] as TMemo).onMouseDown := btn;
end;
end;end.