VC 相關筆記

2021-06-09 15:28:51 字數 1441 閱讀 8345

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 在標頭...