工作知識小計–MFC
付參考資料網站:http://www.jizhuomi.com/software/257.html
- UpdateData()函數參數bSaveAndValidate用于訓示資料傳輸的方向,TRUE表示從控件傳給變量,FALSE表示從變量傳給控件。
- Ctrl+D,對話框模闆上就會顯示各個控件的Tab順序數字;從自己認為Tab順序應該為1的控件開始依次單擊,随着單擊的完成,各控件的Tab響應順序也按我們的想法設定好了。
- DoModal()函數為彈出對話框的操作,同時傳回DoModal函數的傳回值,傳回的值即為退出時點選按鈕的ID;
-
屬性向導頁啟用next和back按鈕用“|”号,例如:
pSheet->SetWizardButtons(PSWIZB_BACK|PSWIZB_NEXT);//PSWIZB_NEXT:啟用“BACK和Next”按鈕
- 一般屬性頁對話框和向導對話框的建立和顯示的不同包括,是否需要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.