问一个消息的问题 窗体移动,改变大小,会向它里面包含的控件,发送哪个消息呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) private { Private declarations } public procedure WMPosChange(var msg: TMessage); message WM_WINDOWPOSCHANGED; end;var Form1: TForm1;implementation{$R *.dfm}{ TForm1 }procedure TForm1.WMPosChange(var msg: TMessage);begin Caption := IntToStr(Random(1000));end;end. 好像只会向form发吧,form里的控件是不会得到消息的除非form的响应事件再对控件发消息——猜测 哦,是的,没看清楚窗体不给控件发消息,应该是notify每一个控件就是用for语句遍历每一个控件,告诉他们我变大了应该是这样 只会对窗体发送WM_WINDOWPOSCHANING或者WM_WINDOWPOSCHANGED消息 是这样的:窗口先得到WM_Size消息,然后窗口根据新的size还有内部空间的布局方式重算各个子控件的位置,然后调用子控件的SetBounds方法,而setbounds里面是调的window api:setwindowpos让子控件的大小和位置发生变化,setwindowpos会触发WM_Size、WM_WINDOWPOSCHANING或者WM_WINDOWPOSCHANGED消息。看看vcl代码就会明白。 spy也能检测消息,我还真么用过,请问怎么监测只是用spy++拿handle,然后测试发消息 如何动态创建窗口,可以先设计好窗口和里面的控件吗,还是必须要在代码里布置控件? 请问Delphi如何取得数据库所有者 bcd overflow-------dbgrid问题 TClientSocket问题 Delphi提供的菜单的被选中颜色及字体的颜色如何改变? 怎么做下载? 如何在tdbcombobox中显示表中的某个字段里的内容?? 向SQL 2000 添加到第16574条纪录出错 在BDE中如何实现数据库数据的分页显示!! 我需要一个日程表的控件! 我在仿Outlook中的日历!写一个程序! (急!!!) 如何取消打印任務 简单问题,困扰很久,请各位帮忙
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;type
TForm1 = class(TForm)
private
{ Private declarations }
public
procedure WMPosChange(var msg: TMessage); message WM_WINDOWPOSCHANGED;
end;var
Form1: TForm1;implementation{$R *.dfm}{ TForm1 }procedure TForm1.WMPosChange(var msg: TMessage);
begin
Caption := IntToStr(Random(1000));
end;end.
除非form的响应事件再对控件发消息——猜测
窗体不给控件发消息,应该是notify每一个控件
就是用for语句遍历每一个控件,告诉他们我变大了
应该是这样
只是用spy++拿handle,然后测试发消息