1 mfc中3個重繪函式:1)invalidaterect(&rect);2)invalidate();3)updatewindow()(呼叫該函式時傳送wm_paint。對應的函式時onpaint());
一般在onpaint中呼叫ondraw函式。
oncreat()不產生視窗,只是在視窗顯示之前設定視窗的風格等屬性。create()產生視窗。oncreateclient()在建立視窗時執行oncreate時自動呼叫。
2 dialog屬性:style:1)child(子模組,一般用於載入頁面);2)popup:彈出
3 某view中設定tab控制項,在不同的tab頁面載入不同的dialog頁面:
m_page1.create(idd_dialog_page1,&m_tab); //m_tab是tab控制項對應的變數。
tab -> page 隱藏:右鍵屬性advanced->hidepage
4 rect rect;
getwindowrect(&rect); //獲取當前視窗的大小
int cx = rect.width();
int cy = rect.height();
int a = getsystemmetrics(sm_cxfullscreen); //獲取螢幕寬度
int b = getsystemmetrics(sm_cyfullscreen); //獲取螢幕高度
雙屏:設定視窗位置
int a = getsystemmetrics(sm_cxfullscreen);
crect rect;
getclientrect(&rect); //獲取客戶區大小
movewindow(a,0,rect.right,rect.bottom,1);
5 showwindow(sw_maximize); //最大化
showwindow(sw_minimize); //最小化 //若不要這兩句,則視窗顯示為正常大小
視窗必須有標題條和系統選單,要想有(最大化、最小化、關閉)這三個按鈕,建立視窗時必須有ws_caption和ws_sysmenu風格。
ws_maximizebox時,視窗顯示最大化按鈕
ws_minimizebox時,視窗顯示最小化按鈕
在***.rc 檔案中相應的地方新增ws_maximizebox和ws_minimizebox就可以在該視窗中顯示最小化按鈕和最大化按鈕
6 判斷視窗是否是最大化:if(wndpl.showcmd == sw_maximize) {}
7 對某控制項進行操作:
1)建立與控制項相對應的變數,然後操作變數。
2)getdlgitem(idc_xx控制項idxx);
eg: getdlgitem(idc_button_left_out)->setwindowtext(_t("開啟"));
VC工程編譯相關
error c4996 sprintf this function or variable may be unsafe 這不是語法的錯誤,而是ide預設禁止這種容易產生漏洞的舊函式,解決的方法,一種是替換為新的更安全的函式,另一種在預編譯出新增下面一行 pragma warning disable ...
VC 資料庫相關
可以用getmodulefilename獲取你的應用程式的路徑。接著可以用字串操作修改你想要的路徑 char spath 255 getmodulefilename null,spath,255 char szpath max path getmodulefilename null,szpath,m...
VC學習筆記
1 全域性變數和類在入口函式前執行。2 lpctstr為長字串,賦值要用l string 的格式。3 新增和刪除成員函式都是在類屬性裡操作的。4 vs2008對選單的設定都是在屬性裡,新增command訊息也是在相應類的屬性裡。5 settimer 可以隨時使用。設定之後便可以加訊息處理。6 在標頭...