我正在玩github上的MFC github项目xtrader。我设法让它运行起来,并有一个我无法理解的问题。如何使mfc对话框的高度不可调整?
这个项目是一个基于MFC的应用程序对话框,主对话框xTraderDlg,当我运行它时,我发现对话框的高度不是很大,但宽度是。
我已经阅读了这个源码很长一段时间,并审查每个处理SetWindowPos()或OnSize()的地方。没有痕迹如何做到这一点。即使我注释掉OnSize()或OnInitDialog(),高度仍然不可改变。
该代码有一些技巧来保存配置文件中的宽度和高度,并在下次启动时重新加载它。但我相信这没关系。
该代码也有这一行。 :: SetWindowPos(m_hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE); 但是即使我删除这一行结果仍然是一样的。而SWP_NOSIZE不会导致高度不可调整。这对我来说确实是一个神话。
有谁能告诉我为什么?主对话框代码在这里。
https://github.com/lpswufe/xTrader/blob/master/xTraderDlg.cpp
想通了自己。 – leohu