學習小結之 MFC

2021-08-21 01:47:32 字數 1789 閱讀 7023

問題1:mfc列表框中內容不按照新增的順序顯示

解決:控制項屬性->行為->sort->false

l」」等於cstring型別的null,不等於一般的null

控制項變數:

control:代表這個控制項

value:傳值

獲取列表框當前選項的下標(從0開始):control.getcursel();

讀取檔案:

cstdiofile file;

file.open(l"f:\\ts.txt",cfile::moderead);

cstring strtext = l"";

cstring szline = l"";

while (file.readstring(szline))

strtext +=l"\n"+ szline;

messagebox(strtext);

file.close();

寫入到檔案:

cstdiofile file;

file.open(l"f:\\ts.txt",cfile::modecreate | cfile::modereadwrite);//寫入檔案

cstring str = l"hello!\ni amtalkingmute!";

file.writestring(str);

file.close();

cstring和int的相互轉化

cstring->int:

int n;

cstring str;

n = _ttoi(str);

int -> cstring:

str.format(l」%d」,n);

對話方塊函式

cfiledialog::cfiledialog

bool bopenfiledialog,

lpctstr lpszdefext = null,

lpctstr lpszfilename = null,

dword dwflags = ofn_hidereadonly|ofn_overwriteprompt,

lpctstr lpszfilter = null,

cwnd* pparentwnd = null

example:

cstring filter;

filter="文字文件(*.txt)|*.txt|pdf文件(*.pdf)|*.pdf||";

cfiledialogdlg(true,null,null,ofn_hidereadonly,filter);

if(dlg.domodal()==idok)

cstring str;

str=dlg.getpathname();

messagebox(str);

dlg.domodal():顯示乙個模態對話方塊,關閉對話方塊後domodal才返回,返回值為按鈕id—idok,idcancel

cfiledialog dlg(…,…,…,ofn_nochangedir,…);

cfiledialog缺省會改變路徑當上一次選中的路徑,通過設定預設路徑和傳入引數ofn_nochangedir可以讓檔案每次都從預設路徑開啟

c原始檔要包含自己的標頭檔案,目的就是讓編譯器檢查定義和宣告的一致性。

標頭檔案的一般格式:

#ifndef _test_h_

#define _test_h_

全域性變數的宣告

函式宣告

#endif

問題:vs中除錯c時除錯框閃退

解決:1 新增**system("pause");

2 ctrl +f5

MFC擴充套件DLL 小結

1 在dll中啟動多執行緒,用 beginthread 不能使用afxbeginthread 2 dll中與客戶程式之間通訊可以有2中方法 1 通過訊息,在dll中增加乙個自定義訊息,此訊息的id注意不能和客戶端程式中的訊息重複。在客戶端程式中將視窗控制代碼傳給dll,在客戶端寫上此訊息的響應函式,...

非MFC工程使用MFC庫小結

一般的非mfc工程可以在包含相關標頭檔案後 如afx.h 就可以使用裡面封裝的類了。1 afx.h中已經包含了windows.h標頭檔案,但是在非mfc工程中,也包含了了windows.h,因此會提示報錯。一般在stdafx.h中的windows.h注釋掉,然後寫上afx.h即可。2 部分巨集重複定...

MFC學習之GDI 一

裝置描述錶即裝置環境的屬性的集合 系統為每個視窗建立了乙個painstructure結構 typerdef struct tagpainstruct painstruct 獲取裝置環境的方法 1.呼叫beginpaint函式 hdc beginpaint hwnd,ps ps為paintstruct...