运行一个没有最大化按扭的程序。然后打开“任务管理器”,选中刚才运行的程序。单击右键,选择“最大化”。这时问题就出现了?真的最大化了!这是怎么回事?把WM_SYSCOMMAND里的SC_MAXIMIZE给空处理了。还是会变大,这是怎么回事呢?任务管理器是发送了什么消息?用SPY++查看了一下,是WM_WINDOWPOSCHANGED吗?好像又不是,有什么办法,让窗口不能最大化呢?
解决方案 »
- 不让其他程序获得控件内容?
- 第一次使用内存池,请大家指正
- vc中重绘控件的问题
- MFC中CToolBar的通知消息有哪些?(不好意思,没办法给分)
- 请帮忙呀,什么是打包解包呀?
- 奇怪的问题classwizard中怎么加不了WM_NCHITTEST消息
- 我只想找3个.ico图标,确定按钮上的对钩,取消按钮上的叉号.退出图标.哪里有? -
- 我写了一个ocx,如果在vc环境下编译时可以顺利注册成功,但直接用regsvr32注册则会出错,弹出一个Assert错误,然后注册失败
- 请教高手,简单问题 CString 转化成CTime _bstr_t 转化成CTime
- 如何检测到某设备的驱动已安装过了
- char ch[3]="103"; 怎样编程获得“0”这个字符呢?
- Win32 Application中工具栏和菜单栏的问题
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CRect rcWnd;
GetWindowRect(&rcWnd);
if (rcWnd.Width() > 0 && rcWnd.Height() > 0)
{
lpMMI->ptMaxPosition.x = rcWnd.left;
lpMMI->ptMaxPosition.y = rcWnd.top;
lpMMI->ptMaxSize.x = rcWnd.Width();
lpMMI->ptMaxSize.y = rcWnd.Height();
}
return;
}测试正确
WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
if(message == WM_GETMINMAXINFO)
{
CRect rectWnd;
GetWindowRect(&rectWnd);
MINMAXINFO *minfo = (LPMINMAXINFO)lParam;
minfo->ptMaxPosition.x = rectWnd.left;
minfo->ptMaxPosition.y = rectWnd.right;
minfo->ptMaxSize.x = rectWnd.Width();
minfo->ptMaxSize.y = rectWnd.Height();
}
return CDialog::WindowProc(message, wParam, lParam);
}