S snappy Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-19 #1 就像Delphi下的数据感知控件,当数据库内容更改后,相应的DBEdit等控件也随着改了。 我想用自定义信息的方式向控件发送一个信息,然后这个控件接收到这个信息后再 作相应处理,请问如何实现??
W wvy Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-19 #2 1> const PWM_MyInfo = WM_User + 100; 2> 自己的控件假如 名字 为 frmTest 在需要发送消息的 地方 frmTest.perform(PWM_MyInfo,0,0); 3> 自己的控件 有响应的消息处理过程 procedure vpDoMyInfo(var Msg : TMessage);Message PWM_MyInfo;
1> const PWM_MyInfo = WM_User + 100; 2> 自己的控件假如 名字 为 frmTest 在需要发送消息的 地方 frmTest.perform(PWM_MyInfo,0,0); 3> 自己的控件 有响应的消息处理过程 procedure vpDoMyInfo(var Msg : TMessage);Message PWM_MyInfo;
S snappy Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-19 #3 我在同一个表单内用你这种方法的确可以,可当我把它放入两个新建的控件内: 1、当其中一个控件发信息时,另一个并不接收这个信息。 2、如果是控件发送信息,窗口能收到。 3、窗口发送信息,控件也不能收到。 这到底是怎么回事?! 注:这两个控件一个可视一个非可视、发信息的控件为不可视。 我在非可视控件中发信息的语句为: (Getowner as TForm).perform(PWM_SSS,0,0);
我在同一个表单内用你这种方法的确可以,可当我把它放入两个新建的控件内: 1、当其中一个控件发信息时,另一个并不接收这个信息。 2、如果是控件发送信息,窗口能收到。 3、窗口发送信息,控件也不能收到。 这到底是怎么回事?! 注:这两个控件一个可视一个非可视、发信息的控件为不可视。 我在非可视控件中发信息的语句为: (Getowner as TForm).perform(PWM_SSS,0,0);
B bbkxjy Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-23 #7 (Getowner as TForm).perform(PWM_SSS,0,0); 是发消息给你控件所在的 Form 了,控件 A 要发消息给控件 B 应该在 A 的方法中调用 B.Perform(YourMessageID, .., ..) 如 Edit1.Perform(WM_CHAR,...) 就向 Edit1 发了一个 WM_CHAR 的消息,当然接收消息 的控件 B 所属的类 TB 要有响应 YourMessageID 消息的消息处理过程: TB = class(TControl) private ... procedure Handle_YourMessageID(var Msg: TMessage); message YourMessageID; ... end; 才能对消息作相应动作。
(Getowner as TForm).perform(PWM_SSS,0,0); 是发消息给你控件所在的 Form 了,控件 A 要发消息给控件 B 应该在 A 的方法中调用 B.Perform(YourMessageID, .., ..) 如 Edit1.Perform(WM_CHAR,...) 就向 Edit1 发了一个 WM_CHAR 的消息,当然接收消息 的控件 B 所属的类 TB 要有响应 YourMessageID 消息的消息处理过程: TB = class(TControl) private ... procedure Handle_YourMessageID(var Msg: TMessage); message YourMessageID; ... end; 才能对消息作相应动作。