参数nCmdShow的值可以为以下任意个常数:
SW_HIDE:隐藏窗口,活动状态给令一个窗口;
SW_MINIMIZE:最小化窗口,活动状态给另一个窗口;
SW_RESTORE:用原来的大小和位置显示一个窗口,同时令其进入活动状态;
SW_SHOW:用当前的大小和位置显示一个窗口,同时令其进入活动状态;
SW_SHOWMAXIMIZED:最大化窗口,并将其激活;
SW_SHOWMINIMIZED:最小化窗口,并将其激活;
SW_SHOWMINNOACTIVE:最小化一个窗口,同时不改变活动窗口;
SW_SHOWNA:用当前的大小和位置显示一个窗口,不改变活动窗口;
SW_SHOWNOACTIVATE:用最近的大小和位置显示一个窗口,不改变活动窗口;
SW_SHOWNORMAL:与SW_RESTORE相同;
最后不要忘记了用CWnd:: SetForegroundWindow()函数将弹出窗口设置为桌面的最前端。
//最近,自己在使用过程中发下以下nID:
条件:
在主对话框中,由于动态生成了控件,并调整了位置,响应了最大化和reset,用户不能通过双击标题栏来改变窗口的大小;
经过实验得知:
if(/*(nID == 0x0000f012) ||*/ (nID == 0x0000f122) || (nID == 0x0000f032) )
{
return;
} 可以实现。
nID == 0x0000f122 用户在窗口最大化的情况下双击了标题栏;
nID == 0x0000f032 用户在窗口非最大化的情况下双击了标题栏;
nID == 0x0000f012 用户在窗口非最大化的情况下单击了标题栏;如果响应了这个并return,你将不能在非最大化状态下通过拉动标题栏而移动窗口。
以上三个nID 是经测试得到,非正规并未经过严格测试,如果发现有误,请留言指正。