這篇文章能讓初學(xué)者快速了解visual C++ MFC中常見(jiàn)的核心的類(lèi)與函數,雖然全部看下來(lái)有點(diǎn)枯燥,但對初學(xué)者快速了解MFC的框架結構很有好處。
常用類(lèi)
CArchive類(lèi):用于二進(jìn)制保存檔案
CBitmap類(lèi):封裝Windows的圖形設備接口(GDI)位圖
CBrush類(lèi):封裝圖形設備接口(GDI)中的畫(huà)刷
CButton類(lèi):提供Windows按鈕控件的功能
CByteArray類(lèi):該類(lèi)支持動(dòng)態(tài)的字節數組
CCmdUI類(lèi):該類(lèi)僅用于ON_UPDATE_COMMAND_UI處理函數中
CColorDialog類(lèi):封裝標準顏色對話(huà)框
CDC類(lèi):定義設備環(huán)境對象類(lèi)
CDialog類(lèi):所有對話(huà)框(模態(tài)或非模態(tài))的基類(lèi)
CDocument類(lèi):提供用戶(hù)定義的文檔類(lèi)的基本功能
CEdit類(lèi):是一個(gè)用于編輯控件的類(lèi)
CFile類(lèi):該類(lèi)是基本文件類(lèi)的基類(lèi)
CFileDialog類(lèi):封裝了打開(kāi)和保存文件的標準對話(huà)框
CFindReplaceDialog類(lèi):封裝了標準查找/替換對話(huà)框
CFont類(lèi):封裝了Windows圖形設備接口(GDI)中的字體對象
CFontDialog類(lèi):封裝了字體選擇對話(huà)框
CGdiObject類(lèi):GDI繪圖工具的基類(lèi)
CIPAddressCtrl類(lèi):提供了IP地址控件的功能
CImageList類(lèi):管理大小相同的圖標或位圖集
CMenu類(lèi):封裝應用程序菜單欄和彈出式菜單
CPen類(lèi):封裝了Windows圖形設備接口(GDI)中的畫(huà)筆對象
CPoint類(lèi):操作CPoint和POINT結構
CRect類(lèi):封裝了一個(gè)矩形區域及相關(guān)操作
CRgn類(lèi):封裝用于操作窗口中的橢圓、多邊形或者不規則區域的GDI區域
CSize類(lèi):用于表示相對坐標或位置
CSpinButtonCtrl類(lèi):旋轉控件Spin的控制類(lèi)
CStatusBar類(lèi):狀態(tài)欄窗口的基類(lèi)
CString類(lèi):處理字符串
CStringList類(lèi):支持CString對象的列表
CWinApp類(lèi):派生的程序對象的基類(lèi)
CWnd類(lèi):提供所有窗口類(lèi)的基本函數
CCmdTarget類(lèi):是MFC類(lèi)庫中消息映射體系的一個(gè)基類(lèi)
CWinThread類(lèi)是MFC用來(lái)封裝線(xiàn)程的,包括UI線(xiàn)程和工作者線(xiàn)程。因此每個(gè)MFC程序至少使用一個(gè)CWinThread派生類(lèi)
CDocTemplate是抽象的基類(lèi),它定義了文檔模板的基本函數功能
CMDIFrameWnd類(lèi)提供了Windows多文檔界面(MDI)子窗口的功能和管理窗口的功能
CMDIChildWnd類(lèi)提供了Windows多文檔界面(MDI)子窗口及用于管理窗口的成員
API函數
CArchive類(lèi):用于二進(jìn)制保存檔案
CArchive::CArchive 建立一個(gè)CArchive對象
CArchive(CFile* pFile,UINT nMode,int nBufSize=4096,void* lpBuf=NULL);
參數:pFile 指向CFile對象的指針,這個(gè)CFile對象是數據的最終源或目的;
nMode是標志,取值為CArchive::load時(shí),從文檔中加載數據(要求CFile讀許可),取值為CArchive::store時(shí),將數據存入文檔(要求CFile寫(xiě)許可);
nBufSize 指定內部文件緩沖區的大?。ò醋止澯嫞?;
lpBuf 指向大小為nBufSize的緩沖區,若未指定,則從局部堆中分配一緩沖區,并在該對象被刪除時(shí)釋放該緩沖區,但不釋放用戶(hù)提供的緩沖區。
CArchive::Close 關(guān)閉檔案,清除緩沖區中剩余數據,斷開(kāi)文件與檔案的連接
void Close();
操作符:
<< 存儲指定的對象到檔案(寫(xiě)),一行可以使用多個(gè)析取操作符
>> 從檔案中加載指定的對象(讀),一行可以有多個(gè)插入操作符
CBitmap類(lèi):封裝Windows的圖形設備接口(GDI)位圖
CBitmap::LoadBitmap 加載位圖資源
BOOL LoadBitmap(UINT nIDResource);
BOOL LoadBitmap(LPCTSTR lpszResourceName);
參數:nIDResource 位圖資源ID號;lpszResourceName 位圖資源名
返回值:若成功,返回非0;否則返回0
CBrush類(lèi):封裝圖形設備接口(GDI)中的畫(huà)刷
CBrush::CreateSolidBrush 用指定顏色初始化一個(gè)單色畫(huà)刷
BOOL CreateSolidBrush(COLORREF crColor);
參數:crColor 畫(huà)刷顏色
返回值:若成功,返回非0;否則返回0
CButton類(lèi):提供Windows按鈕控件的功能
CButton::Create 創(chuàng )建一個(gè)CButton對象
BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );
lpszCaption是按鈕上顯示的文本;
dwStyle指定按鈕風(fēng)格,可以是按鈕風(fēng)格與窗口風(fēng)格的組合,取值有:
窗口風(fēng)格:
WS_CHILD 子窗口,必須有
WS_VISIBLE 窗口可見(jiàn),一般都有
WS_DISABLED 禁用窗口,創(chuàng )建初始狀態(tài)為灰色不可用的按鈕時(shí)使用
WS_TABSTOP 可用Tab鍵選擇
WS_GROUP 成組,用于成組的單選按鈕中的第一個(gè)按鈕
按鈕風(fēng)格:
BS_PUSHBUTTON 下壓式按鈕,也即普通按鈕
BS_AUTORADIOBUTTON 含自動(dòng)選中狀態(tài)的單選按鈕
BS_RADIOBUTTON 單選按鈕,不常用
BS_AUTOCHECKBOX 含自動(dòng)選中狀態(tài)的復選按鈕
BS_CHECKBOX 復選按鈕,不常用
BS_AUTO3STATE 含自動(dòng)選中狀態(tài)的三態(tài)復選按鈕
BS_3STATE 三態(tài)復選按鈕,不常用
以上風(fēng)格指定了創(chuàng )建的按鈕類(lèi)型,不能同時(shí)使用,但必須有其一。
BS_BITMAP 按鈕上將顯示位圖
BS_DEFPUSHBUTTON 設置為默認按鈕,只用于下壓式按鈕,一個(gè)對話(huà)框中只能指定一個(gè)默認按鈕
rect指定按鈕的大小和位置;
pParentWnd指示擁有按鈕的父窗口,不能為NULL;
nID指定與按鈕關(guān)聯(lián)的ID號,用上一步創(chuàng )建的ID號。
返回值:若成功,返回非0;否則返回0
CButton::DrawItem 重載該函數繪制一個(gè)CButton對象,由框架調用該函數
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
參數:lpDrawItemStruct指向包含繪制項信息和要求類(lèi)型的LPDRAWITEMSTRUCT結構的長(cháng)指針
CButton::SetCheck 設置或復位單選按鈕和復選按鈕的選擇狀態(tài)
void SetCheck(int nCheck);
參數:nCheck 指定設置的狀態(tài),0為未選擇,1為選中,2為不確定
CByteArray類(lèi):該類(lèi)支持動(dòng)態(tài)的字節數組
CByteArray::GetAt 獲取指定下標處的數值,可以用運算符[]代替
BYTE GetAt(int nIndex)const;
參數:nIndex 數組下標,必須為有效值
返回值:指定下標處的數組元素
CByteArray::GetData 訪(fǎng)問(wèn)數組元素
BYTE *GetData();
返回值:指向數組元素的指針
CByteArray::GetSize 獲取數組中元素個(gè)數
int GetSize()const;
返回值:數組的大小,比最大下標大1
CByteArray::RemoveAll 刪除數組中所有元素
void RemoveAll();
CByteArray::SetAt 設置指定下標處的數值,不擴充數組
void SetAt(int nIndex,BYTE newElement);
參數:nIndex 數組下標,必須為有效值;newElement 存入數組的新元素值
CByteArray::SetAtGrow 設置指定下標處的數值,需要時(shí)可自動(dòng)擴充數組
void SetAtGrow(int nIndex,BYTE newElement);
參數:nIndex 數組下標,大于等于0;newElement 存入數組的新元素值
CByteArray::SetSize 設置數組的大小,并基于需要分配內存;若新值小于原數組,則截斷舊數組,釋放所有未用內存。
void SetSize(int nNewSize,int nGrowBy=-1);
參數:nNewSize 新數組的大小,必須大于等于0;nGrowBy 擴大數組時(shí)至少要分配的元素數
CCmdUI類(lèi):該類(lèi)僅用于ON_UPDATE_COMMAND_UI處理函數中
CCmdUI::Enable 使命令的用戶(hù)界面元素有效或無(wú)效
virtual void Enable(BOOL bOn=TRUE);
參數:bOn 使用戶(hù)界面元素有效時(shí)為T(mén)RUE,無(wú)效時(shí)為FALSE
CCmdUI::SetCheck 設置命令的用戶(hù)界面元素為恰當的選擇狀態(tài)
virtual void SetCheck(int nCheck=1);
參數:nCheck 為0,設置為不選擇,為1,設置為選擇,為2,設置為不確定
CColorDialog類(lèi):封裝標準顏色對話(huà)框
CColorDialog::CColorDialog 構造一個(gè)CColorDialog對象
CColorDialog(COLORREF clrInit=0,DWORD dwFlags=0,CWnd* pParentWnd=NULL);
參數:clrInit為缺省顏色選項,若未指定值,則為黑色;
dwFlags是標志,定制對話(huà)框的功能和外觀(guān),為0時(shí)只顯示基本顏色,為CC_FULLOPEN時(shí),顯示完整顏色對話(huà)框;
pParentWnd 指向擁有對話(huà)框的父窗口
CColorDialog::GetColor 獲取用戶(hù)選擇的顏色
COLORREF GetColor()const;
返回值:選中顏色的RGB值
CDC類(lèi):定義設備環(huán)境對象類(lèi)
CDC::BitBlt 從源設備環(huán)境拷貝一個(gè)位圖到當前設備環(huán)境中
BOOL BitBlt(int x,int y,int nWidth,int nHeight,CDC* pSrcDC,int xSrc,int ySrc,DWORD dwRop);
參數:x,y為目的矩形的左上角坐標;nWidth,nHeight為目的矩形的寬度和高度;pSrcDC是指向源設備環(huán)境的指針;xSrc,ySrc源位圖左上角的坐標;dwRop為光柵操作碼。
CDC::CreateCompatibleDC 創(chuàng )建一個(gè)與pDC指定的設備相兼容的內存設備環(huán)境
virtual BOOL CreateCompatibleDC(CDC* pDC);
參數:pDC 設備環(huán)境指針
返回值:若成功,返回非0;否則返回0
CDC::Detach 將設備環(huán)境從CDC對象中分離開(kāi)來(lái)
HDC Detach()
返回值:分離的設備環(huán)境
CDC::DrawEdge 繪制矩形邊框或邊框的一部分
BOOL DrawEdge(LPRECT lpRect,UINT nEdge,UINT nFlags);
參數lpRect指向矩形的RECT結構的指針;nEdge指定矩形內外邊界的風(fēng)格,必須是一個(gè)內邊界標志和外邊界標志的組合,取值為:
BDR_RAISEDINNER:內邊界凸出;
BDR_SUNKENINNER:內邊界凹下;
BDR_RAISEDOUTER:外邊界凸出;
BDR_SUNKENOUTER:外邊界凹下;
nFlags指定邊界的類(lèi)型,取值為:
BF_RECT:矩形的所有四邊;
BF_LEFT:矩形的左邊;
BF_BOTTOM:矩形的底邊;
BF_RIGHT:矩形的右邊;
BF_TOP:矩形的上邊;
BF_TOPLEFT:矩形的上邊和左邊;
BF_TOPRIGHT:矩形的上邊和右邊;
BF_BOTTOMLEFT:矩形的下邊和左邊;
BF_BOTTOMRIGHT:矩形的下邊和右邊。
返回值:若成功,返回非0;否則返回0。
CDC::DrawFocusRect 畫(huà)一個(gè)說(shuō)明輸入焦點(diǎn)的矩形
void DrawFocusRect(LPCRECT lpRect);
參數:lpRect 指向繪制矩形的邏輯坐標的RECT結構或CRect對象。
CDC::DrawText 在指定的矩形內繪制格式化的文本
virtual int DrawText(LPCTSTR lpszString,int nCount,LPRECT lpRect,UINT nFormat);
int DrawText(const CString& str,LPRECT lpRect,UINT nFormat);
參數:lpszString指示要輸出的字符串;nCount為字符串中字節數;lpRect指示文本所在的矩形;str為要輸出的CString對象;nFormat為格式化文本的方式,常用取值:
DT_BOTTOM 文本底對齊,必須和DT_SINGLELINE聯(lián)用;
DT_CENTER 居中顯示文本; DT_LEFT 文本左對齊;
DT_RIGHT 文本右對齊; DT_TOP 正文與行頂部對齊(僅指單個(gè)行);
DT_NOCLIB 繪制時(shí)不加裁減;DT_SINGLELINE 單行顯示;
DT_VCENTER 指定在垂直方向上居中顯示文本(僅只單個(gè)行);
DT_WORDBREAK 若單詞超過(guò)矩形邊界,行將在單詞間斷開(kāi)
返回值:若調用成功,返回文本的高度
CDC::FillSolidRect 用指定單顏色填充矩形
void FillSolidRect(LPCRECT lpRect,COLORREF clr);
void FillSolidRect(int x,int y,int cx,int cy,COLORREF clr);
參數:lpRect指定要填充的矩形;clr填充的顏色
x,y矩形的左上角坐標,cx、cy為矩形寬度和高度
CDC::FromHandle 在給予一個(gè)設備環(huán)境句柄時(shí)返回一個(gè)CDC對象指針
static CDC* PASCAL FromHandle(HDC hDC);
參數:hDC 設備環(huán)境句柄
返回值:CDC對象指針
CDC::GetTextExtent 使用當前字體計算一行文本的寬度和高度
CSize GetTextExtent(LPCTSTR lpszString,int nCount)const;
CSize GetTextExtent(const CString& str)const;
參數:lpszString指向一個(gè)字符串,nCount字符串中字符數
str 一個(gè)字符串對象
返回值:字符串文本的寬度和高度(以邏輯單位表示)
CDC::GetTextMetrics 檢取當前字體的規格
BOOL GetTextMetrics(LPTEXTMETRIC lpMetrics)const;
參數:lpMetrics 指向用于接收字體規格的TEXTMETRIC結構
返回值:若成功,返回非0;否則返回0
CDC::LineTo 從當前位置到指定點(diǎn)畫(huà)直線(xiàn)
BOOL LineTo(int x,int y);
BOOL LineTo(POINT point);
參數:x、y為直線(xiàn)末端的坐標;point為直線(xiàn)末端的坐標
返回值:若成功,返回非0;否則返回0
該函數通常與MoveTo()函數合起來(lái)完成畫(huà)線(xiàn)工作。
CDC::MoveTo 設置畫(huà)圖的起點(diǎn)位置
CPoint MoveTo(int x,int y);
CPoint MoveTo(POINT point);
參數:x、y為新位置的坐標;point為新位置坐標
返回值:先前位置的坐標
CDC::PaintRgn 用當前畫(huà)刷填充一個(gè)CRgn對象的區域
BOOL PaintRgn(CRgn* pRgn);
參數:指向一個(gè)CRgn對象的指針
返回值:若成功,返回非0;否則返回0
CDC::Rectangle 用當前畫(huà)筆畫(huà)一個(gè)矩形,并用當前畫(huà)刷填充為實(shí)心矩形
BOOL Rectangle(int x1,int y1,int x2,int y2);
BOOL Rectangle(LPCRECT lpRect);
參數:x1、y1為矩形左上角坐標,x2、y2為矩形右下角坐標
lpRect為RECT結構或CRect對象
返回值:若成功,返回非0;否則返回0
CDC::RestoreDC 將設備環(huán)境恢復成先前的狀態(tài)
virtual BOOL RestoreDC(int nSaveDC);
參數:nSaveDC設備環(huán)境先前狀態(tài)的整數標識
返回值:若成功,返回非0;否則返回0
CDC::RoundRect 用當前畫(huà)筆畫(huà)一個(gè)圓角矩形,并用當前畫(huà)刷填充
BOOL RoundRect(int x1,int y1,int x2,int y2,int x3,int y3);
BOOL RoundRect(LPCRECT lpRect,POINT point);
參數:x1、y1為左上角坐標,x2、y2為右下角坐標,x3、y3為畫(huà)圓角的橢圓的邏輯寬度和高度
lpRect為RECT結構或CRect對象,point中的x、y為畫(huà)圓角的橢圓的邏輯寬度和高度
返回值:若成功,返回非0;否則返回0
CDC::SaveDC 保存設備環(huán)境的當前狀態(tài)
virtual int SaveDC();
返回值:若成功,返回標識保存設備環(huán)境的整數;若錯誤返回0
CDC::SelectObject 將一個(gè)對象選入設備環(huán)境,替代同一類(lèi)型的先前對象
CPen* SelectObject(CPen* pPen);
CBrush* SelectObject(CBrush* pBrush);
virtual CFont* SelectObject(CFont* pFont);
CBitmap* SelectObject(CBitmap* pBitmap);
int SelectObject(CRgn* pRgn);
參數:要選入的新對象的指針
返回值:先前的舊對象的指針
CDC::SelectStockObject 將一個(gè)預定義的庫存對象裝入設備環(huán)境
virtual CGdiObject* SelectStockObject(int nIndex);
參數:nIndex庫存對象的索引值,常用取值:
BLACK_BRUSH 黑色畫(huà)刷; DKGRAY_BRUSH 深灰色畫(huà)刷;
GRAY_BRUSH 灰色畫(huà)刷; LTGRAY_BRUSH 淺灰色畫(huà)刷;
WHITE_BRUSH 白色畫(huà)刷; HOLLOW_BRUSH 中空畫(huà)刷;
NULL_BRUSH 空畫(huà)刷;
BLACK_PEN 黑色畫(huà)筆; WHITE_PEN 白色畫(huà)筆;
NULL_PEN 空畫(huà)筆;
SYSTEM_FONT 系統字體;
返回值:被替換的CGdiObject對象的指針,若調用失敗,返回NULL
CDC::SetBkColor 設置當前背景色
virtual COLORREF SetBkColor(COLORREF crColor);
參數:crColor為新背景色
返回值:先前背景色;若錯誤,返回值為0x80000000
CDC::SetBkMode 設置背景模式
int SetBkMode(int nBkMode);
參數:nBkMode為要設置的背景模式,取值可以為:
OPAQUE 在繪制文本前用當前背景色填充背景,這是缺省的背景模式
TRANSPARENT 繪制前不改變背景(即文字背景透明)
返回值:先前的背景模式
CDC::SetTextColor 設置文本顏色
virtual COLORREF SetTextColor(COLORREF crColor);
參數:crColor指定文本顏色
返回值:先前的文本顏色
CDC::TextOut 用當前字體在指定位置寫(xiě)一字符串
virtual BOOL TextOut(int x,int y,LPCTSTR lpszString,int nCount);
BOOL TextOut(int x,int y,const CString& str);
參數:x,y文本左上角坐標;lpszString指示要輸出的字符串;nCount為字符串中字節數;str為要輸出的CString對象
返回值:若成功,返回非0;否則返回0
CDialog類(lèi):所有對話(huà)框(模態(tài)或非模態(tài))的基類(lèi)
CDialog::DoModal 激活模態(tài)對話(huà)框,完成后返回對話(huà)框結果
virtual int DoModal();
返回值:若不可創(chuàng )建對話(huà)框,返回-1;若錯誤返回IOABORT;若用戶(hù)用“確定”按鈕退出對話(huà)框,返回IDOK,否則返回IDCANCEL或0
CDocument類(lèi):提供用戶(hù)定義的文檔類(lèi)的基本功能
CDocument::CanCloseFrame 在關(guān)閉框架窗口之間由框架調用
virtual BOOL CanCloseFrame(CFrameWnd* pFrame);
參數:pFrame 指向連接到該文檔上的一個(gè)視的框架窗口
CDocument::SetTitle 指定文檔的標題
virtual void SetTitle(LPCTSTR lpszTitle);
參數:lpszTitle指向用作文檔標題的字符串
CEdit類(lèi):是一個(gè)用于編輯控件的類(lèi)
CEdit::Copy 將編輯控件中的當前選擇以CF_TEXT格式拷貝到剪貼板中
void Copy();
CEdit::Cut 剪切編輯控件中所選文本并以CF_TEXT格式拷貝到剪貼板中
void Cut();
CEdit::GetModify 確定控件內容是否修改
BOOL GetModify()const;
返回值:若控件內容已修改,返回非0值,否則返回0。
CEdit::GetSel 獲取編輯控件中當前選擇的位置
DWORD GetSel()const;
void GetSel(int& nStartChar,int& nEndChar)const;
參數:nStartChar用于接收當前選擇的第一個(gè)字符的位置;nEndChar用于接收當前選擇后面第一個(gè)未選字符的位置。
返回值:低位字和高位字分別是當前選擇開(kāi)始和選擇區后第一個(gè)未選字符的位置。
CEdit::Paste 將數據從剪貼板插入到編輯控件中的當前光標處
void Paste();
CEdit::ReplaceSel 用指定的文本替換編輯控件內選擇的文本
void ReplaceSel(LPCTSTR lpszNewText,BOOL bCanUndo=FALSE);
參數:lpszNewText指向替換文本的字符串;bCanUndo為T(mén)RUE時(shí),指定該操作可以用Undo()撤銷(xiāo)
CEdit::SetLimitText 設置CEdit控件可接收文本的最大字節數
void SetLimitText(UINT nMax);
參數:nMax 新文本限制,按字節計。
CEdit::SetModify 設置控件修改標志
void SetModify(BOOL bModified=TRUE);
參數:bModified 為T(mén)RUE,指示控件已修改,為FALSE,清除修改標志
CEdit::SetSel 設置編輯控件中選擇的字符
void SetSel(DWORD dwSelection,BOOL bNoScroll=FALSE);
void SetSel(int nStartChar,int nEndChar,BOOL bNoScroll=FALSE);
參數:dwSelection 若低位字為0而高位字為-1,則選擇所有文本;若低位為-1,則撤銷(xiāo)當前選擇;bNoScroll 為FALSE時(shí)插入字符滾入視野,否則插入字符不滾入視野;
nStartChar指定選擇的起始位置,nEndChar指定選擇的終止位置;若nStartChar為0且nEndChar為-1,選擇所有文本;若nStartChar為-1,撤銷(xiāo)當前選擇
CFile類(lèi):該類(lèi)是基本文件類(lèi)的基類(lèi)
CFile::Close 關(guān)閉文件,使該文件不可用于讀寫(xiě)
virtual void Close();
CFile::GetLength 求文件長(cháng)度(以字節計)
virtual DWORD GetLength()const;
返回值:文件長(cháng)度
CFile::Open 打開(kāi)文件
virtual BOOL Open(LPCTSTR lpszFileName,UINT nOpenFlags,CFileException* pError=NULL);
參數:lpszFileName指定打開(kāi)文件的路徑;nOpenFlags 定義文件的共享和存取方式;pError指向一個(gè)已有的文件異常對象的指針。
nOpenFlags的常用取值:
CFile::modeCreate 創(chuàng )建一個(gè)新文件,若文件已存在,則該文件被清空;
CFile::modeRead 用于只讀; CFile::modeReadWrite 用于讀寫(xiě);
CFile::modeWrite 用于只寫(xiě); CFile::modeNoInherit 阻止文件被子進(jìn)程繼承;
返回值:若打開(kāi)成功,返回非0;否則返回0
CFile::Read 從文件中讀一段數據到一緩沖區中
virtual UINT Read(void* lpBuf,UINT nCount);
參數:lpBuf指向用戶(hù)定義的緩沖區;nCount為要從文件中讀出的最大字節數
返回值:傳輸給緩沖區的字節數,可小于nCount所指定的值
CFile::Rename 重命名文件(靜態(tài)函數),目錄不可重命名
static void PASCAL Rename(LPCTSTR lpszOldName,LPCTSTR lpszNewName);
參數:lpszOldName 舊路徑名
lpszNewName 新路徑名
CFile::Remove 刪除指定文件(靜態(tài)函數),不可刪除目錄
static void PASCAL Remove(LPCTSTR lpszFileName);
參數:lpszFileName指向刪除文件的路徑名字符串
CFile::Seek 定位當前文件指針
virtual LONG Seek(LONG lOff,UINT nFrom);
參數:lOff 指針移動(dòng)的字節數,為正時(shí),向后移動(dòng),為負時(shí),向前移動(dòng)
nFrom 指針移動(dòng)方式,可以是下列值之一:
CFile::begin 將文件指針從文件頭移動(dòng)lOff個(gè)字節;
CFile::current 將文件指針從當前位置移動(dòng)lOff個(gè)字節;
CFile::end 將文件指針從文件尾移動(dòng)lOff個(gè)字節;
CFile::SeekToBegin 將文件指針設置到文件頭,相當于Seek(0L,CFile::begin)
void SeekToBegin();
CFile::SeekToEnd 將文件指針設置到文件尾,相當于Seek(0L,CFile::end)
DWORD SeekToEnd(); 返回值:文件的字節長(cháng)度
CFile::Write 將數據從一緩沖區寫(xiě)入文件中
virtual void Write(const void* lpBuf,UINT nCount);
參數:lpBuf指向用戶(hù)定義的緩沖區;nCount為要從緩沖區傳輸的字節數
CFileDialog類(lèi):封裝了打開(kāi)和保存文件的標準對話(huà)框
CFileDialog::CFileDialog 構造一個(gè)標準Windows文件對話(huà)框對象
CFileDialog(BOOL bOpenFileDialog,LPCTSTR lpszDefExt=NULL,LPCTSTR lpszFileName=NULL, DWORD dwFlags=OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,LPCTSTR lpszFilter=NULL,CWnd* pParentWnd=NULL);
參數:bOpenFileDialog為T(mén)RUE時(shí)構造打開(kāi)文件對話(huà)框,為FALSE時(shí)構造另存為對話(huà)框;
lpszDefExt指定缺省文件擴展名,在對話(huà)框彈出后,若沒(méi)有在文件名框中輸入擴展名,則自動(dòng)附加指定的擴展名,若lpszDefExt為NULL,則不附加擴展名;
lpszFileName指定出現在文件名框中的初始文件名,若為NULL,則無(wú)初始文件名;
dwFlags為定制對話(huà)框的標志組合;
lpszFilter指定文件過(guò)濾器
CFileDialog::GetFileExt 檢取對話(huà)框中輸入的文件擴展名
CString GetFileExt()const;
CFileDialog::GetFileName 檢取對話(huà)框中輸入的文件名,不包括路徑
CString GetFileName()const;
CFileDialog::GetNextPathName 檢取對話(huà)框中選定的一組文件中的下一個(gè)文件的全路徑
CString GetNextPathName(POSITION& pos)const;
參數:pos 指定位置的POSITION值,執行后,為下一項的POSITION值;若已到列表尾,執行后為NULL
返回值:文件的全路徑
CFileDialog::GetPathName 檢取對話(huà)框中輸入的文件全路徑
CString GetPathName()const;
CFileDialog::GetStartPosition 獲取列表中第一個(gè)文件路徑名的位置
POSITION GetStartPosition()const;
返回值:列表中第一個(gè)文件路徑名的POSITION值;若列表為空,返回NULL
說(shuō)明:用于多選列表,要求m_ofn.Flags設置了OFN_ALLOWMULTISELECT標志
CFindReplaceDialog類(lèi):封裝了標準查找/替換對話(huà)框
CFindReplaceDialog::Create 創(chuàng )建一個(gè)Find或Find/Replace對話(huà)框對象
BOOL Create(BOOL bFindDialogOnly,LPCTSTR lpszFindWhat,LPCTSTR lpszReplaceWhat=NULL,DWORD dwFlag=FR_DOWN,CWnd* pParentWnd=NULL);
參數:bFindDialogOnly 為T(mén)RUE時(shí),顯示查找對話(huà)框,為FALSE時(shí),顯示查找/替換對話(huà)框;
lpszFindWhat 指定要查找的串的缺省值;
lpszReplaceWhat 指定替換串的缺省值;
dwFlag為標志位,用來(lái)定制對話(huà)框,它可以是一個(gè)或多個(gè)標志的組合,主要取值如下:
FR_DOWN 如果設置,對話(huà)框中的“向下查找”單選按鈕被選中,如果沒(méi)有設置,“向上查找”單選按鈕被選中;
FR_HIDEUPDOWN 不顯示查找方向單選按鈕;
FR_HIDEMATCHCASE 不顯示區分大小寫(xiě)復選按鈕;
FR_HIDEWHOLEWORD 不顯示全字匹配復選按鈕;
FR_MATCHCASE 使區分大小寫(xiě)復選按鈕處于選中狀態(tài);
FR_WHOLEWORD 使全字匹配復選按鈕處于選中狀態(tài);
FR_NOMATCHCASE 使區分大小寫(xiě)復選按鈕處于禁止(變灰)狀態(tài);
FR_NOUPDOWN 使查找方向單選按鈕處于禁止(變灰)狀態(tài);
FR_NOWHOLEWORD 使全字匹配復選按鈕處于禁止(變灰)狀態(tài);
FR_SHOWHELP 在對話(huà)框中顯示一個(gè)幫助按鈕。
pParentWnd 指向父窗口或屬主窗口的指針。
返回值:若創(chuàng )建成功,返回非0值,否則返回0。
CFindReplaceDialog::FindNext 確定用戶(hù)是否要查找串的下一個(gè)出現處。
BOOL FindNext()const;
返回值:若用戶(hù)單擊查找“下一個(gè)”按鈕,則返回非0值,否則返回0。
CFindReplaceDialog::GetFindString 檢取對話(huà)框中的查找字符串
CString GetFindString()const;
返回值:對話(huà)框中的查找字符串
CFindReplaceDialog::GetNotifier 檢取當前查找/替換對話(huà)框的指針
static CFindReplaceDialog* PASCAL GetNotifier(LPARAM lParam);
參數:lParam 傳遞給回調函數OnFindReplace()的lParam值
返回值:指向當前查找/替換對話(huà)框的指針
CFindReplaceDialog::GetReplaceString 檢取對話(huà)框中的替換字符串
CString GetReplaceString()const;
返回值:對話(huà)框中的替換字符串
CFindReplaceDialog::IsTerminating 檢取對話(huà)框是否終止
BOOL IsTerminating()const;
返回值:若用戶(hù)終止對話(huà)框,返回非0值,否則返回0
CFindReplaceDialog::MatchCase 檢取區分大小寫(xiě)復選按鈕狀態(tài)
BOOL MatchCase()const;
返回值:如果區分大小寫(xiě)復選按鈕被選擇,返回非0值,否則返回0
CFindReplaceDialog::MatchWholeWord 檢取全字匹配復選按鈕狀態(tài)
BOOL MatchWholeWord()const;
返回值:如果全字匹配復選按鈕被選擇,返回非0值,否則返回0
CFindReplaceDialog::ReplaceAll 確定用戶(hù)是否要求全部替換
BOOL ReplaceAll()const;
返回值:如果用戶(hù)要求全部替換,返回非0值,否則返回0
CFindReplaceDialog::ReplaceCurrent 確定用戶(hù)是否要求替換當前選擇串
BOOL ReplaceCurrent()const;
返回值:如果用戶(hù)要求替換當前選擇串,返回非0值,否則返回0
CFindReplaceDialog::SearchDown 檢取查找方向
BOOL SearchDown()const;
返回值:如果為向下查找,返回非0值;若為向上查找,返回0
CFont類(lèi):封裝了Windows圖形設備接口(GDI)中的字體對象
CFont::CreatePointFont 創(chuàng )建指定打印字樣和點(diǎn)大小的字體
BOOL CreatePointFont(int nPointSize,LPCTSTR lpszFaceName,CDC*pDC==NULL);
參數:nPointSize請求字體的高度(以十分之一點(diǎn)計);lpszFaceName字體的字樣名
返回值:若成功,返回非0;否則返回0
CFontDialog類(lèi):封裝了字體選擇對話(huà)框
CFontDialog::CFontDialog 構造一個(gè)CFontDialog對象
CFontDialog(LPLOGFONT lplfInitial=NULL,DWORD dwFlags=CF_EFFECTS | CF_SCREENFONTS,CDC* pdcPrinter=NULL,CWnd* pParentWnd=NULL);
參數:lplfInitial是一個(gè)指向LOGFONT結構的指針;dwFlags一些標志;pdcPrinter指向打印機設備環(huán)境的指針;pParentWnd指向該字體對話(huà)框的父窗口的指針
CFontDialog::GetFaceName 獲取選定的字體名
CString GetFaceName()const;
CFontDialog::GetSize 獲取選定的字體大小
int GetSize()const;
CGdiObject類(lèi):GDI繪圖工具的基類(lèi)
CGdiObject::DeleteObject 釋放與連接的GDI對象相關(guān)的所有系統存儲,從內存中將其刪除
BOOL DeleteObject();
返回值:若GDI對象被成功刪除,返回非0;否則返回0
CGdiObject::GetSafeHandle 獲取連接的Windows GDI對象的句柄
HGDIOBJ GetSafeHandle()const;
返回值:所連接的Windows GDI對象的句柄,若沒(méi)有連接Windows GDI對象,則返回NULL
CIPAddressCtrl類(lèi):提供了IP地址控件的功能
CIPAddressCtrl::ClearAddress 清除IP地址控件中的內容。
void ClearAddress();
CIPAddressCtrl::Create 創(chuàng )建一個(gè)IP地址控件。
BOOL Create(DWORD dwStyle,RECT& rect,CWnd* pParentWnd,UINT nID);
參數:dwStyle 為控件風(fēng)格,可使用窗口風(fēng)格的組合;rect 控件大小和位置;pParentWnd 指向父窗口的指針,不能為NULL;nID 控件的ID。
返回值:若成功,返回非0;否則返回0
CIPAddressCtrl::GetAddress 獲取IP地址控件中的地址值。
int GetAddress(BYTE& nField0,BYTE& nField1,BYTE& nField2,BYTE& nField3);
int GetAddress(DWORD& dwAddress);
第一種形式是把IP地址的4個(gè)域填充到用4個(gè)引用中。
第二種形式是把IP地址填充到1個(gè)長(cháng)整數的引用中。
返回值:IP地址控件中非空域的數量。
CIPAddressCtrl::IsBlank 判斷IP地址控件中所有域是否為空。
BOOL IsBlank();
返回值:如果IP地址控件的所有域均為空,返回非0值;否則返回0。
CIPAddressCtrl::SetAddress 設置IP地址控件中的地址值。
void SetAddress(BYTE nField0,BYTE nField1,BYTE nField2,BYTE nField3);
void SetAddress(DWORD dwAddress);
第一種形式是用4個(gè)0~255的整數分別設置IP地址各個(gè)域的值。
第二種形式是用1個(gè)長(cháng)整數設置IP地址值。
返回值:無(wú)
CIPAddressCtrl::SetFieldFocus 把輸入焦點(diǎn)設置在指定的域中。
void SetFieldFocus(WORD nField);
參數:nField 取值為0~3,如果大于3,則焦點(diǎn)設置到第一個(gè)空域中,若所有域均非空,則焦點(diǎn)設置在第一個(gè)域中。
返回值:無(wú)
CIPAddressCtrl::SetFieldRange 設置指定域中數值的取值范圍。
void SetFieldRange(int nField,BYTE nLower,BYTE nUpper);
參數:nField 域索引,取值0~3;nLower 域的下限值;nUpper:域的上限值。
返回值:無(wú)
CImageList類(lèi):管理大小相同的圖標或位圖集
CImageList::Add 在影像列表中添加一個(gè)或多個(gè)影像或圖標
int Add(CBitmap* pbmImage,CBitmap* pbmMark);
參數:pbmImage 指向包含影像位圖的指針;pbmMark 指向包含屏蔽位圖的指針,若沒(méi)有屏蔽,此參數被忽略。
返回值:若成功,返回第一個(gè)影像的以0為基的索引,否則返回-1。
CImageList::Create 構造一個(gè)CImageList對象
BOOL Create(int cx,int cy,BOOL bMark,int nInitial,int nGrow);
參數:cx、cy為影像大小,以像素為單位;bMark 若影像包含屏蔽則為T(mén)RUE,否則為FALSE;nInitial包含的影像數;nGrow當需要改變列表大小時(shí),允許擴大到的影像數。
返回值:若成功,返回非0;否則返回0
CMenu類(lèi):封裝應用程序菜單欄和彈出式菜單
CMenu::DestoryMenu 撤銷(xiāo)菜單及所用的Windows資源
BOOL DestoryMenu();
返回值:若菜單撤銷(xiāo)成功,則返回非0值;否則返回0。
說(shuō)明:撤銷(xiāo)之前需用Detach()將菜單與CMenu對象斷開(kāi)連接。
CMenu::Detach 將一菜單與CMenu對象斷開(kāi)連接
HMENU Detach();
返回值:若函數成功,返回菜單的句柄;否則返回NULL。
CMenu::GetSubMenu 檢取一個(gè)菜單中的彈出式子菜單對象
CMenu* GetSubMenu(int nPos)const;
參數:nPos 彈出式子菜單在父菜單中的位置,從0開(kāi)始算起
返回值:若給定位置存在一個(gè)彈出式子菜單,返回指向子菜單對象的指針;否則返回NULL。
CMenu::InsertMenu 在菜單中插入一個(gè)新的菜單項
BOOL InsertMenu(UINT nPosition,UINT nFlag,UINT nIDNewItem=0,LPCTSTR lpszNewItem=NULL);
BOOL InsertMenu(UINT nPosition,UINT nFlag,UINT nIDNewItem,const CBitmap* pBmp);
參數:nPosition 指定要插入的菜單項的位置
nFlag 指出nPosition的解釋和新菜單項的狀態(tài)
對nPosition的解釋可取下面值之一:
MF_BYCOMMAND:要求nPosition為已存在的一個(gè)菜單項的ID號
MF_BYPOSITION:要求nPosition為已存在的一個(gè)菜單項的位置
新菜單項狀態(tài)可取以下值:
MF_CHECKED:在菜單項前加一個(gè)檢測標志
MF_DISABLED:使菜單項無(wú)效,但菜單項不變灰
MF_GRAYED:使菜單項無(wú)效,且菜單項變灰
MF_OWNERDRAW:指定菜單項是用戶(hù)自繪的項
MF_POPUP:指定菜單項有與之相關(guān)聯(lián)的彈出菜單
MF_SEPARATOR:繪制一條水平分隔線(xiàn),僅能用于彈出菜單項
MF_STRING:指定菜單項為一個(gè)字符串
nIDNewItem 指定新菜單項的ID號
lpszNewItem 新菜單項的文本
pBmp 指向將作為菜單項使用的CBitmap對象
插入時(shí)在指定的菜單項前面插入
CMenu::LoadMenu 加載一個(gè)菜單資源,并將其連接到CMenu對象上
BOOL LoadMenu(LPCTSTR lpszResourceName);
BOOL LoadMenu(UINT nIDResource);
參數:lpszResourceName 指向一個(gè)以NULL結尾的字符串,其中包含要加載的菜單資源名。
nIDResource 指定要加載的菜單資源的菜單ID。
返回值:若菜單資源加載成功,則返回非0值;否則返回0。
CMenu::RemoveMenu 刪除指定菜單項
BOOL RemoveMenu(UINT nPosition,UINT nFlags);
參數:nPosition 指定要刪除的菜單項
nFlag 指出nPosition的解釋?zhuān)瑓⒄誌nsertMenu()函數
返回值:若成功,返回非0值;否則返回0。
CMenu::TrackPopupMenu 在指定位置顯示一個(gè)彈出式菜單,并跟蹤該菜單的選擇
BOOL TrackPopupMenu(UINT nFlag,int x,int y,CWnd* pWnd,LPCRECT lpRect=NULL);
參數:nFlags 指定屏幕位置標志和鼠標按鈕標志;
屏幕位置標志可以是下列值之一:
TPM_CENTERALIGN 定位菜單相對于x指定的坐標水平居中;
TPM_LEFTALIGN 定位菜單使其左邊對齊x指定的坐標;
TPM_RIGHTALIGN 定位菜單使其右邊對齊x指定的坐標;
鼠標按鈕標志可以是下列值之一:
TPM_LEFTBUTTON 使彈出菜單在單擊鼠標左鍵時(shí)彈出;
TPM_RIGHTBUTTON 使彈出菜單在單擊鼠標右鍵時(shí)彈出。
x、y 彈出式菜單在屏幕中的位置(屏幕坐標);
pWnd 指向擁有此菜單的窗口;
lpRect 指向一個(gè)RECT結構或CRect對象,設定菜單尺寸。
CPen類(lèi):封裝了Windows圖形設備接口(GDI)中的畫(huà)筆對象
CPen::CreatePen 用指定風(fēng)格、寬度和顏色初始化一個(gè)畫(huà)筆
BOOL CreatePen(int nPenStyle,int nWidth,COLORREF crColor);
參數:nPenStyle指定畫(huà)筆的風(fēng)格,取值如下:
PS_SOLID:實(shí)線(xiàn);
PS_DASH:虛線(xiàn);
PS_DOT:點(diǎn)線(xiàn);
PS_DASHDOT:點(diǎn)劃線(xiàn);
PS_DASHDOTDOT:雙點(diǎn)劃線(xiàn);
PS_NULL:空畫(huà)筆;
PS_ENSIDEFRAME:內框線(xiàn)。
nWidth為畫(huà)筆的寬度,單位為像素;crColor指定畫(huà)筆的顏色
返回值:若成功,返回非0;否則返回0
CPoint類(lèi):操作CPoint和POINT結構
CPoint::CPoint 構造一個(gè)CPoint對象
CPoint();
CPoint(int initX,int initY);
CPoint(POINT initPt);
CPoint(SIZE initSize);
CPoint(DWORD dwPoint);
參數:initX 初始化CPoint的X成員。initY 初始化CPoint的Y成員。
initPt 初始化CPoint的一個(gè)POINT結構或CPoint對象。
initSize 用SIZE結構中的cx和cy初始化CPoint的X成員和Y成員。
dwPoint 設置X成員為參數的低位字,Y成員為參數的高位字。
若未給定參數,則X和Y成員不被初始化
CRect類(lèi):封裝了一個(gè)矩形區域及相關(guān)操作
CRect::BottomRight 求CRect對象的右下角坐標
CPoint& BottomRight();
返回值:對CRect對象右下角點(diǎn)的一個(gè)引用
CRect::CenterPoint 求CRect對象的中心點(diǎn)
CPoint CenterPoint()const;
返回值:CRect對象的中心點(diǎn)坐標
CRect::CopyRect 將一個(gè)矩形復制到CRect對象中
void CopyRect(LPCRECT lpScrRect)
參數:lpScrRect 指向源矩形的RECT結構或CRect對象
返回值:無(wú)
CRect::Height 求CRect對象的高度
int Height()const;
返回值:CRect對象的高度
CRect::PtInRect 判斷指定點(diǎn)是否在CRect對象的區域內
BOOL PtInRect(POINT point)const;
參數:point是一個(gè)POINT結構或CPoint對象
返回值:指定點(diǎn)在CRect對象內,返回非0值,否則返回0
CRect::SetRect 設置CRect對象的值
void SetRect(int x1,int y1,int x2, int y2);
參數:x1、y1為左上角坐標,x2、y2為右下角坐標
CRect::Width 求CRect對象的寬度
int Width()const;
返回值:CRect對象的寬度
CRgn類(lèi):封裝用于操作窗口中的橢圓、多邊形或者不規則區域的GDI區域
CRgn::CreateEllipticRg 創(chuàng )建一個(gè)橢圓區域
BOOL CreateEllipticRg(int x1,int y1,int x2,int y2);
參數:x1、y1 該橢圓的限定矩形的左上角的邏輯坐標;
x2、y2 該橢圓的限定矩形的右下角的邏輯坐標。
返回值:若成功,返回非0,否則返回0
CRgn::CreatePolygonRgn 創(chuàng )建一個(gè)多邊形區域
BOOL CreatePolygonRgn(LPPOINT lpPoints,int nCount,int nMode);
參數:lpPoints指向一個(gè)POINT結構的數組或CPoint對象的數組;nCount是數組中元素個(gè)數;nMode指定區域的填充方式,可以為ALTERATE或WINDING
返回值:若成功,返回非0,否則返回0
CSize類(lèi):用于表示相對坐標或位置
CSize::CSize 構造函數,生成一個(gè)CSIZE對象并可以設置初值
CSize();
CSize(int initCX,int initCY);
CSize(SIZE initSize);
CSize(POINT initPt);
CSize(DWORD dwSize);
參數:可以用不同的方法初始化CSize對象的cx成員和cy成員。
其中 dwSize 是一個(gè)DWORD值,雙字中的低位字設置cx成員,高位字設置cy成員
操作符 ==、!=、+、-、+=、-=
CSpinButtonCtrl類(lèi):旋轉控件Spin的控制類(lèi)
CSpinButtonCtrl::GetPos 獲取旋轉控件的當前位置
int GetPos()const;
返回值:當前位置(用低位字表示),若有錯誤產(chǎn)生,高位字為非0
CSpinButtonCtrl::SetBuddy 設置旋轉控件的伙伴窗口
CWnd* SetBuddy(CWnd* pWndButton);
參數:pWndButton是一個(gè)指向新伙伴窗口的指針
返回值:一個(gè)指向以前伙伴窗口的指針
CSpinButtonCtrl::SetPos 設置控件的位置
int SetPos(int nPos);
參數:nPos為控件的新位置,該值必須在控件指定的上下限范圍內
返回值:以前位置
CSpinButtonCtrl::SetRange 設置控件的范圍
void SetRange(int nLower,int nUpper);
參數:nLower、nUpper為該控件的上下限
CStatusBar類(lèi):狀態(tài)欄窗口的基類(lèi)
CStatusBar::SetPaneInfo 為指定窗格設置新的ID,風(fēng)格和寬度
void SetPaneInfo(int nIndex,UINT nID,UINT nStyle,int cxWidth);
參數:nIndex 窗格索引值,nID 窗格新ID值,nStyle 窗格的新風(fēng)格,cxWidth 窗格的新寬度。
CStatusBar::SetPaneText 為指定窗格設置文本
BOOL SetPaneText(int nIndex,LPCTSTR lpszNewText,BOOL bUpdate=TRUE);
參數:nIndex 窗格索引值,lpszNewText 新的窗格文本,bUpdate 若為T(mén)RUE,則設置后窗格將無(wú)效
返回值:若成功,返回非0;否則返回0
CString類(lèi):處理字符串
CString::Compare 比較字符串
int Compare(LPCTSTR lpsz)const;
參數:lpsz 用于比較的另一個(gè)字符串
返回值:字符串相等,返回0;CString對象小于lpsz,返回-1;否則返回1。
CString::CompareNoCase 不區分大小寫(xiě)比較字符串
int CompareNoCase(LPCTSTR lpsz)const;
參數:lpsz 用于比較的另一個(gè)字符串
返回值:字符串相等,返回0;CString對象小于lpsz,返回-1;否則返回1。
CString::Empty 清空字符串,并根據需要釋放內存
void Empty();
CString::Format 格式化一個(gè)CString對象
void Format(LPCTSTR lpszFormat,...);
參數:lpszFormat 格式字符串
功能:用格式化數據定義一個(gè)CString對象。這里把整數等其它類(lèi)型轉換為字符串。
CString::GetAt 獲取串中的指定字符
TCHAR GetAt(int nIndex);
參數:nIndex 串中以0為基值索引值,不得小于0及大于串長(cháng)。
返回值:由索引值指定的字符。
說(shuō)明:該函數常用[]運算符替代。
CString::GetLength 求字符串中字節數
int GetLength()const;
返回值:字符串中字節數,該計數值不計NULL結束符
CString::GetBuffer 為CString對象申請內部字符緩沖區
LPTSTR GetBuffer(int nMinBufLength);
參數:nMinBufLength 指出字符緩沖區的最小大小值
返回值:指向該對象的以NULL結束的字符緩沖區的指針
CString::IsEmpty 測試字符串是否為空
BOOL IsEmpty();
返回值:若字符串為空,返回TRUE,否則返回FALSE
CString::Left 從串的前面提取子字符串
CString Left(int nCount)const;
參數:nCount為提取的字符數
返回值:抽取的子字符串的一個(gè)拷貝,可能為空
CString::LoadString 從Windows資源中加載一個(gè)已存在的CString對象
BOOL LoadString(UINT nID);
參數:nID Windows字符串資源ID
返回值:若加載資源成功,返回非0;否則返回0
說(shuō)明:nID標識的字符串最大長(cháng)度為255個(gè)字符
CString::MakeLower 將CString對象轉換為一個(gè)小寫(xiě)字符串
void MakeLower();
CString::MakeReverse 逆向CString對象中字符的次序
void MakeReverse();
CString::MakeUpper 將CString對象轉換為一個(gè)大寫(xiě)字符串
void MakeUpper();
CString::Mid 提取子字符串
CString Mid(int nFirst,int nCount)const;
參數:nFirst提取的起始位置;nCount提取的字符數,若未指定,則提取字符串的剩余部分
返回值:抽取的子字符串的一個(gè)拷貝,可能為空
CString::ReleaseBuffer 釋放由GetBuffer分配的多余緩沖區
void ReleaseBuffer(int nNewLength=-1);
參數:nNewLength 字符串對象的實(shí)際長(cháng)度(不含NULL)
功能:把CString對象的大小設置為nNewLength指示的大??;若nNewLength為-1,則設置為該字符串到NULL為止的長(cháng)度。
CString::Right 從串的后面提取子字符串
CString Right(int nCount)const;
參數:nCount為提取的字符數
返回值:抽取的子字符串的一個(gè)拷貝,可能為空
CString::SetAt 設置串中的指定位置的字符
void SetAt(int nIndex,TCHAR ch);
參數:nIndex 串中以0為基值索引值,不得小于0。 ch:寫(xiě)入的字符,不得為'\0'。
說(shuō)明:若索引值超出字符串的邊界,則將擴大字符串。
CStringList類(lèi):支持CString對象的列表
列表元素必須通過(guò)POSITION值進(jìn)行訪(fǎng)問(wèn),POSITION類(lèi)型的變量是列表的一個(gè)鍵,與索引不同,程序不可操作POSITION值。
CStringList::AddTail 將一個(gè)元素或元素列表增加到該表表尾
POSITION AddTail(LPCTSTR newElement);
POSITION AddTail(const CString& newElement);
POSITION AddTail(CStringList* pNewList);
參數:newElement指示增加到列表中的元素;pNewList指向另一個(gè)CStringList列表
返回值:插入元素的POSITION值
CStringList::FindIndex 獲取由索引值指定的元素的位置
POSITION FindIndex(int nIndex)const;
參數:nIndex 要查找的列表元素的索引值(基于0,相當于下標)
返回值:索引值所對應的元素位置,若nIndex過(guò)大或為負,則返回NULL
CStringList::GetAt 獲取給定位置處的元素
CString GetAt(POSITION position);
CString& GetAt(POSITION position);
參數:position 元素位置
返回值:元素值或元素的引用
CStringList::GetCount 求列表中元素個(gè)數
int GetCount()const; 返回值:列表中元素個(gè)數
CStringList::GetHeadPosition 獲取列表首部元素的位置
POSITION GetHeadPosition()const;
返回值:表頭元素的POSITION值,若列表為空,則返回NULL
CStringList::GetNext 獲取下一個(gè)元素
CString GetNext(POSITION& rPosition);
CString& GetNext(POSITION& rPosition);
參數:rPosition 為上一次訪(fǎng)問(wèn)時(shí)的元素位置,當GetNext執行后,被設置為列表下一項的POSITION值。 返回值:元素值或元素的引用
CStringList::RemoveAll 刪除列表中所有元素,并釋放關(guān)聯(lián)的內存
void RemoveAll();
CWinApp類(lèi):派生的程序對象的基類(lèi)
CWinApp::EnableShellOpen 允許用戶(hù)從Windows文件管理器中打開(kāi)數據文件
void EnableShellOpen();
說(shuō)明:通常從InitInstace函數的代碼中允許程序在文件管理器中雙擊文件時(shí)打開(kāi)該數據文件
CWinApp::ParseCommandLine 分析命令行中的專(zhuān)用參數和標志
void ParseCommandLine(CCommandLineInfo& rCmdInfo);
參數:rCmdInfo 到一個(gè)CCommandLineInfo對象的引用
CWinApp::RegisterShellFileTypes 用Windows文件管理注冊程序所有文檔類(lèi)型
void RegisterShellFileTypes(BOOL bCompat=FALSE);
CWnd類(lèi):提供所有窗口類(lèi)的基本函數
CWnd::CenterWindow 相對于指定窗口的中心定位本窗口
void CenterWindow(CWnd* pAlternateOwner=NULL);
pAlternateOwner 另一個(gè)窗口指針,若為NULL,則相對于父窗口定位
CWnd::ClientToScreen 將一個(gè)點(diǎn)或一個(gè)矩形的客戶(hù)坐標轉換為屏幕坐標
void ClientToScreen(LPPOINT lpPoint)const;
void ClientToScreen(LPRECT lpRect)const;
參數:lpPoint 指向被轉換點(diǎn)的CPoint對象或POINT結構
lpRect 指向被轉換矩形的CRect對象或RECT結構
CWnd::EnableWindow 允許或禁止鼠標和鍵盤(pán)輸入
BOOL EnableWindow(BOOL bEnable=TRUE);
參數:bEnable為T(mén)RUE,窗口允許鼠標和鍵盤(pán)輸入;為FALSE,窗口禁止鼠標和鍵盤(pán)輸入。返回值:原先為禁止,返回非0;否則返回0
CWnd::GetCapture 獲取捕獲鼠標的窗口
static CWnd* PASCAL GetCapture();
返回值:捕獲鼠標的窗口的指針,任何時(shí)刻僅有一個(gè)窗口擁有鼠標捕獲
CWnd::GetClientRect 獲取CWnd客戶(hù)區的尺寸
void GetClientRect(LPRECT lpRect)const;
參數:lpRect指向接收客戶(hù)區坐標的RECT結構或CRect對象,其中的left和top成員將為0,right和bottom成員保存該窗口的寬度和高度
CWnd::GetDlgItem 獲取指向給定控件或子窗口的指針
CWnd* GetDlgItem(int nID)const;
參數:nID為控件或子窗口的ID值。
返回值:指向給定控件或子窗口的指針;
CWnd::GetFocus 獲取擁有輸入焦點(diǎn)的窗口
static CWnd* PASCAL GetFocus();
返回值:擁有輸入焦點(diǎn)的窗口的指針,若沒(méi)有擁有焦點(diǎn)的窗口,返回NULL
CWnd::GetMenu 獲取該窗口的菜單的指針
CMenu* GetMenu()const;
返回值:若窗口無(wú)菜單,返回NULL;否則返回菜單對象的指針
CWnd::GetParent 獲取父窗口指針
CWnd* GetParent()const;
返回值:若成功,返回指向父窗口的指針;否則返回NULL
CWnd::GetStyle 獲取窗口的風(fēng)格
DWORD GetStyle()const;返回值:窗口的風(fēng)格
CWnd::GetWindowRect 獲取窗口的屏幕坐標
void GetWindowRect(LPRECT lpRect)const;
參數:lpRect 指向一個(gè)CRect對象或RECT結構,用來(lái)接收窗口的邊界矩形坐標
CWnd::GetWindowText 獲取窗口的標題文本
int GetWindowText(LPCTSTR lpszStringBuf,int nMaxCount)count;
參數:lpszStringBuf指向接收窗口標題文本的字符串緩沖區,nMaxCount指定可拷貝的最大字符數。返回值:字符串長(cháng)度
CWnd::Invalidate 使CWnd的整個(gè)客戶(hù)區無(wú)效
void Invalidate(BOOL bErase=TRUE);
參數:bErase為T(mén)RUE則刪除更新區域的背景,為FALSE則不刪除背景
CWnd::InvalidateRect 使CWnd的客戶(hù)區中的矩形區域無(wú)效
void InvalidateRect(LPCRECT lpRect,BOOL bErase=TRUE);
參數:lpRect指示添加到更新區域的矩形,bErase為T(mén)RUE則刪除更新區域的背景,為FALSE則不刪除背景
CWnd::MessageBox 創(chuàng )建并顯示一個(gè)提示對話(huà)框
int MessageBox(LPCTSTR lpszText,LPCTSTR lpszCaption=NULL,UINT nType=MB_OK);
參數:lpszText指示要顯示的字符串;lpszCaption指示提示對話(huà)框的標題字符串;nType為彈出提示框的風(fēng)格,此參數可以為下列標志組中標志的組合。
指定下列標志中的一個(gè)來(lái)設置消息框中的按鈕,標志的含義如下。
MB_ABORTRETRYIGNORE:消息框含有三個(gè)按鈕:Abort,Retry和Ignore。
MB_OK:消息框含有一個(gè)按鈕:OK。這是缺省值。
MB_OKCANCEL:消息框含有兩個(gè)按鈕:OK和Cancel。
MB_RETRYCANCEL:消息框含有兩個(gè)按鈕:Retry和Cancel。
MB_YESNO:消息框含有兩個(gè)按鈕:Yes和No。
MB_YESNOCANCEL:消息框含有三個(gè)按鈕:Yes,No和Cancel。
指定下列標志中的一個(gè)來(lái)設置消息框中顯示的圖標:標志的含義如下。
MB_ICONEXCLAMATION:
MB_ICONWARNING:一個(gè)驚嘆號出現在消息框。
MB_ICONINFORMATION:
MB_ICONASTERISK一個(gè)圓圈中小寫(xiě)字母i組成的圖標出現在消息框。
MB_ICONOUESTION:一個(gè)問(wèn)題標記圖標出現在消息框。
MB_ICONSTOP:
MB_ICONERROR:
MB_ICONHAND:一個(gè)停止消息圖標出現在消息框。
指定下列標志中的一個(gè)來(lái)指示缺省的按鈕:標志的含義如下。
MB_DEFBUTTON1:第一個(gè)按鈕為缺省按鈕。這是缺省值。
MB_DEFSUTTON2;第二個(gè)按鈕為缺省按鈕。
MB_DEFBUTTON3:第三個(gè)按鈕為缺省按鈕。
返回值:若成功,返回非0;否則返回0
CWnd::ModifyStyle 修改窗口風(fēng)格
BOOL ModifyStyle(DWORD dwRemove,DWORD dwAdd,UINT nFlags=0);
參數:dwRemove指定要刪除的窗口風(fēng)格;dwAdd指定要添加的窗口風(fēng)格;nFlags傳遞到SetWindowPos的標志,若不調用SetWindowPos,應為0,若不為0,則調用SetWindowPos并重畫(huà)窗口
CWnd::MoveWindow 改變窗口的位置和大小
void MoveWindow(int x,int y,int nWidth,int nHeight,BOOL bRepaint=TRUE);
void MoveWindow(LPCRECT lpRect,BOOL bRepaint=TRUE);
參數:x,y為新位置的左上角坐標;nWidth,int nHeight指定窗口新的寬度和高度;bRepaint為T(mén)RUE時(shí),重繪窗口,為FALSE不繪制;lpRect指定新的大小和位置的CRect對象或RECT結構
CWnd::ReleaseCapture 釋放鼠標捕獲,讓其它窗口可以接收鼠標輸入
ReleaseCapture();
CWnd::ScreenToClient 將一個(gè)點(diǎn)或一個(gè)矩形的屏幕坐標轉換為客戶(hù)坐標
void ScreenToClient(LPPOINT lpPoint)const;
void ScreenToClient(LPRECT lpRect)const;
參數:lpPoint 指向被轉換點(diǎn)的CPoint對象或POINT結構
lpRect 指向被轉換矩形的CRect對象或RECT結構
CWnd::SetCapture 捕獲鼠標
CWnd* SetCapture();
返回值:原來(lái)捕獲鼠標的窗口指針
說(shuō)明:捕獲鼠標后,無(wú)論光標位于何處,所有鼠標輸入都發(fā)送給當前的CWnd對象。
CWnd::SetFocus 設置輸入焦點(diǎn)
CWnd* SetFocus();
返回值:原來(lái)?yè)碛休斎虢裹c(diǎn)的窗口指針,若沒(méi)有這類(lèi)窗口,返回NULL
CWnd::SetFont 將窗口的字體設置為指定字體
void SetFont(CFont* pFont,BOOL bRedraw=TRUE)
參數:pFont指向新字體;bRedraw 若為T(mén)RUE,則重畫(huà)該CWnd對象
CWnd::SetWindowPos 改變窗口的大小、位置和Z次序
BOOL SetWindowPos(const CWnd* pWndInsertAfter,int x,int y,int cx,int cy,UINT nFlags);
參數:pWndInsertAfter 用來(lái)調整窗口Z次序,一般設為NULL;
x、y:窗口新位置;cx、cy:窗口新寬度和高度;
nFlags常用取值:
SWP_NOZORDER:忽略第一個(gè)參數,維持次序;
SWP_NOMOVE:忽略x、y,維持位置不變;
SWP_NOSIZE:忽略cx、cy,維持大小不變;
返回值:若成功,返回非0;否則返回0
CWnd::SetWindowText 設置窗口標題,若該窗口為控件,則設置其中的文本
void SetWindowText(LPCTSTR lpszString);
參數:lpszString指向用作新標題的字符串
CWnd::ShowWindow 設置窗口的可見(jiàn)性
BOOL ShowWindow(int nCmdShow);
參數:nCmdShow 指明如何顯示該窗口,取值為下列之一:
SW_HIDE 隱藏窗口并將活動(dòng)性傳遞給另一窗口;
SW_MINIMIZE 最小化窗口并激活系統窗口列表中的頂層窗口;
SW_RESTORE 激活并顯示窗口,若已最小化或最大化,則恢復其原大小和位置;
SW_SHOW 激活窗口并以其當前大小和位置顯示窗口;
SW_SHOWMAXIMIZED 激活窗口并最大化顯示窗口;
SW_SHOWMINIMIZED 激活窗口并顯示為一個(gè)圖標;
SW_SHOWMINNOACTIVE 將窗口顯示為一個(gè)圖標,當前窗口仍然是活動(dòng)的;
SW_SHOWNA 以當前狀態(tài)顯示窗口,當前窗口仍然是活動(dòng)的;
SW_SHOWNOACTIVATE 以最近大小和位置顯示窗口,當前窗口仍然是活動(dòng)的;
SW_SHOWNORMAL 激活并顯示窗口,若為最小化或最大化窗口,則恢復原大小和位置
返回值:若該窗口原可見(jiàn),返回非0;若該窗口原隱藏,返回0
CWnd::UpdateData 設置一個(gè)對話(huà)框的數據或獲取有效的對話(huà)框數據
BOOL UpdateData(BOOL bSaveAndValidate=TRUE);
參數:bSaveAndValidate為FALSE,設置對話(huà)框的數據;為T(mén)RUE則獲取對話(huà)框數據
返回值:若成功,返回非0;否則返回0
CWnd::UpdateWindow 若更新區域不空,該成員函數通過(guò)發(fā)送一條WM_PAINT消息以更新客戶(hù)區
void UpdateWindow();
API函數
GetPrivateProfileInt 從ini文件中讀取整數值
UINT GetPrivateProfileInt(LPCTSTR lpAppName,LPCTSTR lpKeyName,INT nDefault,LPCSTR lpFileName);
lpAppName為段名,lpKeyName為項名,nDefault為找不到該項時(shí)返回的默認值,lpFileName為ini文件名
返回值:若成功,返回指定項后的整數值,若該項不存在,返回nDefault的值
GetPrivateProfileString 從ini文件中讀取字符串
DWORD GetPrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpDefault,LPTSTR lpReturnedString,DWORD nSize,LPCTSTR lpFileName);
lpAppName為段名,lpKeyName為項名,lpDefault為找不到該項時(shí)返回的默認值,lpReturnedString指向接收結果的字符串緩沖區,nSize為緩沖區長(cháng)度,lpFileName為ini文件名
執行結果:若成功,lpReturnedString指示的串中為讀出的項值,若該項不存在,lpReturnedString中為lpDefault的值
WritePrivateProfileString 把字符串寫(xiě)入ini文件
BOOL WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName);
lpAppName為段名,lpKeyName為項名,lpString為寫(xiě)入的字符串,lpFileName為ini文件名
返回值:若成功,返回true,否則返回false
若寫(xiě)入時(shí),該ini文件不存在,則這個(gè)函數會(huì )自動(dòng)建立這個(gè)文件,并建立相應的段和項。
以上轉自:http://blog.csdn.net/zhmxy555/article/details/7326776
聯(lián)系客服