天天看點

工作知識小計--MFC

工作知識小計–MFC

付參考資料網站:http://www.jizhuomi.com/software/257.html

  1. UpdateData()函數參數bSaveAndValidate用于訓示資料傳輸的方向,TRUE表示從控件傳給變量,FALSE表示從變量傳給控件。
  2. Ctrl+D,對話框模闆上就會顯示各個控件的Tab順序數字;從自己認為Tab順序應該為1的控件開始依次單擊,随着單擊的完成,各控件的Tab響應順序也按我們的想法設定好了。
  3. DoModal()函數為彈出對話框的操作,同時傳回DoModal函數的傳回值,傳回的值即為退出時點選按鈕的ID;
  4. 屬性向導頁啟用next和back按鈕用“|”号,例如:

    pSheet->SetWizardButtons(PSWIZB_BACK|PSWIZB_NEXT);//PSWIZB_NEXT:啟用“BACK和Next”按鈕

  5. 一般屬性頁對話框和向導對話框的建立和顯示的不同包括,是否需要OnSetActive和OnWizardFinish等重載函數,是否需要調用屬性表類的SetWizardMode函數設定為向導對話框模式。
// 設定屬性對話框為向導對話框
	sheet.SetWizardMode();//啟用該函數則為向導頁。
           

6.檔案讀取,用CFile構造的檔案,在調用write()和read()函數時,需傳入char的buff,而從靜态編輯框讀取或顯示的為CString,但從string轉換為char數組或指針時很麻煩,此時可以使用CStdioFile類構造檔案類,直接調用WriteString()和ReadString(),填入CString的字元串即可,比較友善,特此标記。

CFile檔案操作見“雞啄米”,網址:http://www.jizhuomi.com/software/234.html

7.多線程,使用AfxBeginThread()函數調用線程函數,函數定義和參數說明如下:

函數原型:

CWinThread* AfxBeginThread(
	 AFX_THREADPROC pfnThreadProc/*線程函數位址,一般傳入函數名即可*/,

      LPVOID pParam /*線程參數,應該是傳入線程函數的參數,有時需要另建結構體穿多個參數,線上程中進行類型強轉變為你自己需要的參數*/,

      int nPriority =THREAD_PRIORITY_NORMAL /*線程優先級*/,

      UINT nStackSize = 0/*線程堆棧大小預設為1M*/,

       DWORD dwCreateFlags = 0,

       LPSECURITY_ATTRIBUTES
        lpSecurityAttrs = NULL );
           

參考連結: https://blog.csdn.net/xiaohuihui52309/article/details/52249507.

8.MFC char*和CString之間的轉換

//char * 與 CString之間的轉換   C++  string  .c_str();
	//char* -> CString
	char * p3 = "ccc";
	CString str = CString(p3);
	
	//CString  -> char *
	CStringA tmp;//調用CStringA間接轉換
	tmp = str;
	char * pp = tmp.GetBuffer();
           

9.MFC c++代碼操作Excel打開表格、讀寫資料:

參考:傻瓜式教學:c++操作Excel

連結: https://blog.csdn.net/android_lover2014/article/details/52755841.