CWinApp類是你派生Windows應(yīng)用程序?qū)ο蟮幕?。?yīng)用程序?qū)ο筇峁┏跏蓟愕膽?yīng)用程序(及其每">
CWinApp 應(yīng)用程序類共63個(gè)成員

CWinApp 應(yīng)用程序類共63個(gè)成員

ID:41035246

大?。?41.00 KB

頁數(shù):38頁

時(shí)間:2019-08-14

CWinApp 應(yīng)用程序類共63個(gè)成員_第1頁
CWinApp 應(yīng)用程序類共63個(gè)成員_第2頁
CWinApp 應(yīng)用程序類共63個(gè)成員_第3頁
CWinApp 應(yīng)用程序類共63個(gè)成員_第4頁
CWinApp 應(yīng)用程序類共63個(gè)成員_第5頁
資源描述:

《CWinApp 應(yīng)用程序類共63個(gè)成員》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、CWinApp應(yīng)用程序類共63個(gè)成員(由Cobject-CCmdTarget-CWinThread派生)#includeCWinApp類是你派生Windows應(yīng)用程序?qū)ο蟮幕悺?yīng)用程序?qū)ο筇峁┏跏蓟愕膽?yīng)用程序(及其每個(gè)實(shí)例)的成員函數(shù),并運(yùn)行該應(yīng)用程序。每個(gè)使用MFC類的應(yīng)用程序只能包含一個(gè)CWinApp派生類對(duì)象。當(dāng)Windows調(diào)用由MFC庫提供的WinMain函數(shù)時(shí),其它C++全局對(duì)象被創(chuàng)建并生效,該對(duì)象(CWinApp派生類)被創(chuàng)建。你應(yīng)該在全局級(jí)聲明它。當(dāng)你從CWinApp派生一個(gè)應(yīng)用程序類時(shí),重載InitI

2、nstance成員函數(shù)來創(chuàng)建應(yīng)用程序的主窗口對(duì)象。在添加CWinApp成員函數(shù)時(shí),MFC庫提供下列全局函數(shù)來訪問你的CWinApp對(duì)象和其它全局信息:AfxGetApp獲得CWinApp對(duì)象指針。AfxGetInstanceHandle獲得當(dāng)前應(yīng)用程序?qū)嵗木浔?。AfxGetResourceHandle獲得應(yīng)用程序資源句柄。AfxGetAppName獲得一個(gè)字符串指針,該字符串包含應(yīng)用程序名稱。換個(gè)方式,如果你有一個(gè)CWinApp對(duì)象指針,可用m_pszExeName來得到應(yīng)用程序名稱。?SeeCWinApp:TheApplicationCl

3、assinVisualC++Programmer'sGuideformoreontheCWinAppclass,includinganoverviewofthefollowing:CWinApp-derivedcodewrittenbyAppWizard.CWinApp'sroleintheexecutionsequenceofyourapplication.CWinApp'sdefaultmemberfunctionimplementations.CWinApp'skeyoverridables.?◆數(shù)據(jù)成員1、m_pszAppName指定

4、程序名稱。程序名稱可來自傳送給CWinApp構(gòu)造函數(shù)的參數(shù),如果沒有指定,就利用ID號(hào)為AFX_IDS_APP_TITLE的資源字符串,再?zèng)]有的話就使用程序的EXE文件名稱。該數(shù)據(jù)成員是全局函數(shù)AfxGetAppName的返回值,它是constchar*型的公共變量。注意:如果你要給m_pszAppName賦值,必須動(dòng)態(tài)分配堆棧。CWinApp的析構(gòu)函數(shù)以該指針調(diào)用free()。你可能想用_tcsdup()運(yùn)行時(shí)庫函數(shù)來做內(nèi)存分配,也要用還未賦新值的當(dāng)前指針釋放內(nèi)存。舉例如下://在CWinApp啟動(dòng)時(shí)首先釋放由MFC分配的字符串。//該字符

5、串在InitInstance被調(diào)用前被分配。free((void*)m_pszAppName);//改變程序文件名稱。//CWinApp的析構(gòu)函數(shù)將釋放內(nèi)存。38m_pszAppName=_tcsdup(_T("d:\somedir\myapp.exe"));例子:CWnd*pWnd;//設(shè)置pWnd到某些窗口已創(chuàng)建的CWnd對(duì)象。//下面調(diào)用CWnd::MessageBox使用了應(yīng)用程序標(biāo)題作為消息窗口名稱。pWnd->MessageBox("Somemessage",AfxGetApp()->m_pszAppName);//獲得程序標(biāo)

6、題更直接的途徑是調(diào)用AfxGetAppName:pWnd->MessageBox("Somemessage",AfxGetAppName());//以應(yīng)用程序標(biāo)題作為消息框名稱來顯示消息框的更容易的方法//是調(diào)用AfxMessageBox:AfxMessageBox("Somemessage");2、m_hInstance識(shí)別當(dāng)前應(yīng)用程序?qū)嵗?。與Windows傳送給WinMain的參數(shù)hInstance一致。m_hInstance數(shù)據(jù)成員是Windows應(yīng)用程序當(dāng)前實(shí)例的句柄,它是全局函數(shù)AfxGetInstanceHandle的返回值,是一

7、個(gè)HINSTANCE型的公共變量。例子://通常你不必直接傳送程序的hInstance給WindowsAPIs,因?yàn)檫@與MFC//成員函數(shù)的作用等同等同,下面的例子不是通常作法:HCURSORhCursor;hCursor=::LoadCursor(AfxGetApp()->m_hInstance,?MAKEINTRESOURCE(IDC_MYCURSOR));//獲得程序hInstance更直接的途徑是調(diào)用AfxGetInstanceHandle:hCursor=::LoadCursor(AfxGetInstanceHandle(),?MA

8、KEINTRESOURCE(IDC_MYCURSOR));//如果你需要用hInstance來加載一個(gè)資源,最好調(diào)用AfxGetResourceHandle//而不

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。