MFC程式 SDI 一開始執行最大化

2021-05-22 13:30:49 字數 627 閱讀 7706

修改mfc的視窗介面的外觀,修改mfc視窗的外觀要用到類風格(cs_***x)和視窗風格(ws_***x),mfc在winmain函式的最開始都定義了wndclass視窗類,該類可以改變視窗的圖示,背景,游標等;若要改變視窗的大小,一般在 cmainframe::precreatewindow(createstruct& cs)中修改構造類cs的值,可以修改cs的cx,cy來改變大小;

那為什麼會產生這種效果,是因為在 m_pmainwnd->showwindow(sw_showmaximized);呼叫之前會先呼叫 cmainframe::activateframe(int ncmdshow);此時便會根據ncmdshow(預設為sw_shownormal)呼叫顯示視窗一次,sw_shownormal會根據cs中的 cx,cy,x,y來顯示視窗,所以cs.style便失去作用(檢視類(cview)已經建立,所以它已經是最大化了),所以再次呼叫 m_pmainwnd->showwindow(sw_showmaximized);會形成視覺暫留,

最終解決方法是過載cmainframe::activateframe(int ncmdshow);令ncmdshow=sw_showmaximized即可,然後m_pmainwnd->showwindow(sw_show);會根據之前的設定而顯示視窗

MFC讓視窗一開始就最大化

看原帖,本貼尾有鏈結 bring to top before showing bringtotop ncmdshow if ncmdshow 1 怎麼解決問題?然視窗第一次顯示就最大化?ccommandlineinfo cmdinfo parsecommandline cmdinfo dispatc...

寫在一開始

沒想到畢業9年後要把這個賬號找回來了。大學時在華工百步梯和電子設計比賽中度過了愉快的時光,但是畢業時貪圖享受來到乙個山溝溝裡蓋電廠。電廠蓋好了,但依然無法融入這個山溝溝。為了能回深圳跟女友和家人團聚,努力拼搏,集團深圳分公司想要我,但這裡卻不放。沒有辦法,動起了重新拾起程式設計,回深圳找工作的念頭。...

C primer 筆記(一) 開始

1.1 編寫乙個簡單的c 程式 乙個函式包含四個部分 1 返回型別 2 函式名 3 乙個圓括號包圍的形參列表 允許為空 4 函式體 main函式的返回值型別必須為int。1.2 初識輸入輸出 標準輸入輸出庫 iostream庫,包含兩個基礎型別 1 輸入流istream 2 輸出流ostream.標...