|
這個(gè)問題困擾我好幾天了,之前在網(wǎng)上搜索了,有如下解決方案,
1. 在CmainWindow的PrecreateWindow函數(shù)中對(duì)cs.x cs.y cs.cx cs.cy 等值進(jìn)行設(shè)定即可。窗口生成的大小和位置根本不是我設(shè)定的想要的。 2. 在CmainWindow的OnCreate函數(shù)中調(diào)用SetWindowPos來設(shè)定窗口的位置和大小,嘗試之后,發(fā)現(xiàn)SetWindowPos是將窗口定位到了我想要的地方和指定的大小,但隨后調(diào)用了CRibbonTestView的OnInitialUpdate函數(shù) void CRibbonTestView::OnInitialUpdate() { CFormView::OnInitialUpdate(); GetParentFrame()->RecalcLayout(); ResizeParentToFit(); } 窗口位置和大小又改變了,最后程序出來的窗口的位置和大小也不是我指定的 還有一點(diǎn)我注意到了就是他窗口的大小和位置和最近一次關(guān)閉時(shí)是一樣,如果它是在注冊(cè)表里保存了這些信息下一次啟動(dòng)窗口的時(shí)候再從注冊(cè)表內(nèi)讀出來設(shè)置的話,我這樣還有機(jī)會(huì)能指定初始化窗口的位置和大小嗎? 在你的程序一次都沒有運(yùn)行的情況下,改 CMainFrame 的初始化函數(shù)改 cx cy 即可; ------------------------------------------------------------------------------------------------------------------- 如果你已經(jīng)運(yùn)行過一次程序,改完 cx cy 之后,還需要清理一下注冊(cè)表 HKCUsoftware[YourComp][YouApp] 再運(yùn)行就 ok 了 |
|
|