在MainFrame的PreCreateWindow里面设置cs的cx与cy不起作用。怎么办?
To 魔高丈: 起作用了。之前我粗心,是在CJigsawView类的PreCreateWindow里设的(我的工程名为Jigsaw)。 不过我现在还有若干个问题不明白,望指教: 1. CJigsawView::PreCreateWindow跟CMainFrame::PreCreateWindow是什么关系? 2. 为什么对cs的成员变量的设置可以放在对CFrameWnd::PreCreateWindow的调用之后呢?我试过,放在它之前和之后都是有效的,但我感觉放在后面的话,做的修改也没有被return出去,怎么会有效呢? 3. cs的cx和cy对应的是整个窗口的大小,那么如果想指定窗口内编辑区的大小该怎么办? 4. 我的程序的变量都作为CJigsawView类的成员变量了,如果需要设置的窗口大小依赖于这些变量,又该怎么办?我有更好的答案
提问者采纳
2009-03-14 08:57
如果在App的InitInstance中有: m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED); 要现将这一句改为 m_pMainWnd->ShowWindow(SW_SHOW); 否则,在MainFrame的PreCreateWindow里面设置cs的cx与cy不起作用 补充:不知道你的PreCreateWindow是怎么样写的,设置的位置对吗 BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !CFrameWnd::PreCreateWindow(cs) ) return FALSE; // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs cs.cx = 100; cs.cy = 100; return TRUE; }
评论(1)
|
18