首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

怎么模拟点击窗体的最大化

2012-02-29 
如何模拟点击窗体的最大化。我想模拟点击一下窗体的最大化按钮,怎么做??::PostMessage(Form1-Handle, WM_S

如何模拟点击窗体的最大化。
我想模拟点击一下窗体的最大化按钮,怎么做??


::PostMessage(Form1->Handle, WM_SYSCOMMAND, SC_MAXIMIZE, 0);
这种方法不行。。。


改WindowsState也不行。
我就是要模拟点击一下最大化的那种效果。

[解决办法]
不知道你的要求是什么样的效果,我测试的这个消息完全可以呀

C/C++ code
void __fastcall TClientMainForm::SettingButtonClick(TObject *Sender){SendMessage(Handle, WM_SYSCOMMAND, SC_MAXIMIZE, 0);}
[解决办法]
直接在当前窗体的事件中处理,发送WM_SYSCOMMAND消息就行了。楼主说的没有效果,说明是Form1->Handle这个句柄不是你期望的而已。
[解决办法]
若是其它窗口,先用FindWindow找到窗口的句柄,然后再用
::PostMessage(找到的Handle,Form1->Handle, WM_SYSCOMMAND, SC_MAXIMIZE, 0);
就可以了

[解决办法]
探讨
no ,no .Form1就是我期望的。我要的效果是,双击一下标题栏那种效果。不知道你们明白没有。。

[解决办法]
如果发送消息没效果,那就是窗体的属性设置问题了。是不是设置成dialog或者toolwindow什么的。
[解决办法]
看下返回值:
An application should return zero if it processes this message.
如果不为0

ShowMessage(SysErrorMessage(GetLastError()));
看下系统到底发生了什么

热点排行