日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

Visual C++中最常用的类与API函数

發布時間:2023/12/19 c/c++ 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Visual C++中最常用的类与API函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章能讓初學者快速了解visual C++?MFC中常見的核心的類與函數,雖然全部看下來有點枯燥,但對初學者快速了解MFC的框架結構很有好處。

?

?

常用類

?

CArchive類:用于二進制保存檔案?
CBitmap類:封裝Windows的圖形設備接口(GDI)位圖?
CBrush類:封裝圖形設備接口(GDI)中的畫刷?
CButton類:提供Windows按鈕控件的功能?
CByteArray類:該類支持動態的字節數組?
CCmdUI類:該類僅用于ON_UPDATE_COMMAND_UI處理函數中?
CColorDialog類:封裝標準顏色對話框?
CDC類:定義設備環境對象類?
CDialog類:所有對話框(模態或非模態)的基類?
CDocument類:提供用戶定義的文檔類的基本功能?
CEdit類:是一個用于編輯控件的類?
CFile類:該類是基本文件類的基類?
CFileDialog類:封裝了打開和保存文件的標準對話框?
CFindReplaceDialog類:封裝了標準查找/替換對話框?
CFont類:封裝了Windows圖形設備接口(GDI)中的字體對象?
CFontDialog類:封裝了字體選擇對話框?
CGdiObject類:GDI繪圖工具的基類?
CIPAddressCtrl類:提供了IP地址控件的功能?
CImageList類:管理大小相同的圖標或位圖集?
CMenu類:封裝應用程序菜單欄和彈出式菜單?
CPen類:封裝了Windows圖形設備接口(GDI)中的畫筆對象?
CPoint類:操作CPoint和POINT結構?
CRect類:封裝了一個矩形區域及相關操作?
CRgn類:封裝用于操作窗口中的橢圓、多邊形或者不規則區域的GDI區域?
CSize類:用于表示相對坐標或位置?
CSpinButtonCtrl類:旋轉控件Spin的控制類?
CStatusBar類:狀態欄窗口的基類?
CString類:處理字符串?
CStringList類:支持CString對象的列表?
CWinApp類:派生的程序對象的基類?
CWnd類:提供所有窗口類的基本函數?

?

?

?


API函數

?

CArchive類:用于二進制保存檔案?
CArchive::CArchive?建立一個CArchive對象?
CArchive(CFile*?pFile,UINT?nMode,int?nBufSize=4096,void*?lpBuf=NULL);
參數:pFile?指向CFile對象的指針,這個CFile對象是數據的最終源或目的;
nMode是標志,取值為CArchive::load時,從文檔中加載數據(要求CFile讀許可),取值為CArchive::store時,將數據存入文檔(要求CFile寫許可);
nBufSize?指定內部文件緩沖區的大小(按字節計);
lpBuf?指向大小為nBufSize的緩沖區,若未指定,則從局部堆中分配一緩沖區,并在該對象被刪除時釋放該緩沖區,但不釋放用戶提供的緩沖區。
CArchive::Close?關閉檔案,清除緩沖區中剩余數據,斷開文件與檔案的連接?
void?Close();

操作符:?
<<?存儲指定的對象到檔案(寫),一行可以使用多個析取操作符
>>?從檔案中加載指定的對象(讀),一行可以有多個插入操作符

CBitmap類:封裝Windows的圖形設備接口(GDI)位圖?
CBitmap::LoadBitmap?加載位圖資源?
BOOL?LoadBitmap(UINT?nIDResource);
BOOL?LoadBitmap(LPCTSTR?lpszResourceName);
參數:nIDResource?位圖資源ID號;lpszResourceName?位圖資源名
返回值:若成功,返回非0;否則返回0

CBrush類:封裝圖形設備接口(GDI)中的畫刷?
CBrush::CreateSolidBrush?用指定顏色初始化一個單色畫刷?
BOOL?CreateSolidBrush(COLORREF?crColor);
參數:crColor?畫刷顏色
返回值:若成功,返回非0;否則返回0

CButton類:提供Windows按鈕控件的功能?
CButton::Create?創建一個CButton對象

BOOL?Create(?LPCTSTR?lpszCaption,?DWORD?dwStyle,?const?RECT&?rect,?CWnd*?pParentWnd,?UINT?nID?);

lpszCaption是按鈕上顯示的文本;
dwStyle指定按鈕風格,可以是按鈕風格與窗口風格的組合,取值有:
窗口風格:
WS_CHILD?子窗口,必須有
WS_VISIBLE?窗口可見,一般都有
WS_DISABLED?禁用窗口,創建初始狀態為灰色不可用的按鈕時使用
WS_TABSTOP?可用Tab鍵選擇
WS_GROUP?成組,用于成組的單選按鈕中的第一個按鈕
按鈕風格:
BS_PUSHBUTTON?下壓式按鈕,也即普通按鈕
BS_AUTORADIOBUTTON?含自動選中狀態的單選按鈕
BS_RADIOBUTTON?單選按鈕,不常用
BS_AUTOCHECKBOX?含自動選中狀態的復選按鈕
BS_CHECKBOX?復選按鈕,不常用
BS_AUTO3STATE?含自動選中狀態的三態復選按鈕
BS_3STATE?三態復選按鈕,不常用
以上風格指定了創建的按鈕類型,不能同時使用,但必須有其一。
BS_BITMAP?按鈕上將顯示位圖
BS_DEFPUSHBUTTON?設置為默認按鈕,只用于下壓式按鈕,一個對話框中只能指定一個默認按鈕
rect指定按鈕的大小和位置;
pParentWnd指示擁有按鈕的父窗口,不能為NULL;
nID指定與按鈕關聯的ID號,用上一步創建的ID號。
返回值:若成功,返回非0;否則返回0?

CButton::DrawItem?重載該函數繪制一個CButton對象,由框架調用該函數?
virtual?void?DrawItem(LPDRAWITEMSTRUCT?lpDrawItemStruct);
參數:lpDrawItemStruct指向包含繪制項信息和要求類型的LPDRAWITEMSTRUCT結構的長指針

CButton::SetCheck?設置或復位單選按鈕和復選按鈕的選擇狀態

void?SetCheck(int?nCheck);
參數:nCheck?指定設置的狀態,0為未選擇,1為選中,2為不確定?

CByteArray類:該類支持動態的字節數組?
CByteArray::GetAt?獲取指定下標處的數值,可以用運算符[]代替?
BYTE?GetAt(int?nIndex)const;
參數:nIndex?數組下標,必須為有效值
返回值:指定下標處的數組元素

CByteArray::GetData?訪問數組元素?
BYTE?*GetData();
返回值:指向數組元素的指針

CByteArray::GetSize?獲取數組中元素個數?
int?GetSize()const;
返回值:數組的大小,比最大下標大1

CByteArray::RemoveAll?刪除數組中所有元素?
void?RemoveAll();

CByteArray::SetAt?設置指定下標處的數值,不擴充數組?
void?SetAt(int?nIndex,BYTE?newElement);
參數:nIndex?數組下標,必須為有效值;newElement?存入數組的新元素值

CByteArray::SetAtGrow?設置指定下標處的數值,需要時可自動擴充數組?
void?SetAtGrow(int?nIndex,BYTE?newElement);
參數:nIndex?數組下標,大于等于0;newElement?存入數組的新元素值

CByteArray::SetSize?設置數組的大小,并基于需要分配內存;若新值小于原數組,則截斷舊數組,釋放所有未用內存。?
void?SetSize(int?nNewSize,int?nGrowBy=-1);
參數:nNewSize?新數組的大小,必須大于等于0;nGrowBy?擴大數組時至少要分配的元素數

CCmdUI類:該類僅用于ON_UPDATE_COMMAND_UI處理函數中?
CCmdUI::Enable?使命令的用戶界面元素有效或無效?
virtual?void?Enable(BOOL?bOn=TRUE);
參數:bOn?使用戶界面元素有效時為TRUE,無效時為FALSE

CCmdUI::SetCheck?設置命令的用戶界面元素為恰當的選擇狀態?
virtual?void?SetCheck(int?nCheck=1);
參數:nCheck?為0,設置為不選擇,為1,設置為選擇,為2,設置為不確定

CColorDialog類:封裝標準顏色對話框?
CColorDialog::CColorDialog?構造一個CColorDialog對象?
CColorDialog(COLORREF?clrInit=0,DWORD?dwFlags=0,CWnd*?pParentWnd=NULL);
參數:clrInit為缺省顏色選項,若未指定值,則為黑色;
dwFlags是標志,定制對話框的功能和外觀,為0時只顯示基本顏色,為CC_FULLOPEN時,顯示完整顏色對話框;
pParentWnd?指向擁有對話框的父窗口

CColorDialog::GetColor?獲取用戶選擇的顏色?
COLORREF?GetColor()const;
返回值:選中顏色的RGB值

CDC類:定義設備環境對象類?
CDC::BitBlt?從源設備環境拷貝一個位圖到當前設備環境中

BOOL?BitBlt(int?x,int?y,int?nWidth,int?nHeight,CDC*?pSrcDC,int?xSrc,int?ySrc,DWORD?dwRop);
參數:x,y為目的矩形的左上角坐標;nWidth,nHeight為目的矩形的寬度和高度;pSrcDC是指向源設備環境的指針;xSrc,ySrc源位圖左上角的坐標;dwRop為光柵操作碼。

CDC::CreateCompatibleDC?創建一個與pDC指定的設備相兼容的內存設備環境

virtual?BOOL?CreateCompatibleDC(CDC*?pDC);
參數:pDC?設備環境指針
返回值:若成功,返回非0;否則返回0

CDC::Detach?將設備環境從CDC對象中分離開來

HDC?Detach()
返回值:分離的設備環境
CDC::DrawEdge?繪制矩形邊框或邊框的一部分

BOOL?DrawEdge(LPRECT?lpRect,UINT?nEdge,UINT?nFlags);
參數lpRect指向矩形的RECT結構的指針;nEdge指定矩形內外邊界的風格,必須是一個內邊界標志和外邊界標志的組合,取值為:
BDR_RAISEDINNER:內邊界凸出;
BDR_SUNKENINNER:內邊界凹下;
BDR_RAISEDOUTER:外邊界凸出;
BDR_SUNKENOUTER:外邊界凹下;
nFlags指定邊界的類型,取值為:
BF_RECT:矩形的所有四邊;
BF_LEFT:矩形的左邊;
BF_BOTTOM:矩形的底邊;
BF_RIGHT:矩形的右邊;
BF_TOP:矩形的上邊;
BF_TOPLEFT:矩形的上邊和左邊;
BF_TOPRIGHT:矩形的上邊和右邊;
BF_BOTTOMLEFT:矩形的下邊和左邊;
BF_BOTTOMRIGHT:矩形的下邊和右邊。
返回值:若成功,返回非0;否則返回0。

CDC::DrawFocusRect?畫一個說明輸入焦點的矩形

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聯用;
DT_CENTER?居中顯示文本;?DT_LEFT?文本左對齊;
DT_RIGHT?文本右對齊;?DT_TOP?正文與行頂部對齊(僅指單個行);
DT_NOCLIB?繪制時不加裁減;DT_SINGLELINE?單行顯示;
DT_VCENTER?指定在垂直方向上居中顯示文本(僅只單個行);?
DT_WORDBREAK?若單詞超過矩形邊界,行將在單詞間斷開
返回值:若調用成功,返回文本的高度

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?在給予一個設備環境句柄時返回一個CDC對象指針?
static?CDC*?PASCAL?FromHandle(HDC?hDC);
參數:hDC?設備環境句柄
返回值:CDC對象指針

CDC::GetTextExtent?使用當前字體計算一行文本的寬度和高度?
CSize?GetTextExtent(LPCTSTR?lpszString,int?nCount)const;
CSize?GetTextExtent(const?CString&?str)const;
參數:lpszString指向一個字符串,nCount字符串中字符數
str?一個字符串對象
返回值:字符串文本的寬度和高度(以邏輯單位表示)

CDC::GetTextMetrics?檢取當前字體的規格?
BOOL?GetTextMetrics(LPTEXTMETRIC?lpMetrics)const;
參數:lpMetrics?指向用于接收字體規格的TEXTMETRIC結構
返回值:若成功,返回非0;否則返回0

CDC::LineTo?從當前位置到指定點畫直線?
BOOL?LineTo(int?x,int?y);
BOOL?LineTo(POINT?point);
參數:x、y為直線末端的坐標;point為直線末端的坐標
返回值:若成功,返回非0;否則返回0
該函數通常與MoveTo()函數合起來完成畫線工作。?

CDC::MoveTo?設置畫圖的起點位置?
CPoint?MoveTo(int?x,int?y);
CPoint?MoveTo(POINT?point);
參數:x、y為新位置的坐標;point為新位置坐標
返回值:先前位置的坐標

CDC::PaintRgn?用當前畫刷填充一個CRgn對象的區域?
BOOL?PaintRgn(CRgn*?pRgn);
參數:指向一個CRgn對象的指針
返回值:若成功,返回非0;否則返回0

CDC::Rectangle?用當前畫筆畫一個矩形,并用當前畫刷填充為實心矩形?
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?將設備環境恢復成先前的狀態?
virtual?BOOL?RestoreDC(int?nSaveDC);
參數:nSaveDC設備環境先前狀態的整數標識
返回值:若成功,返回非0;否則返回0

CDC::RoundRect?用當前畫筆畫一個圓角矩形,并用當前畫刷填充?
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為畫圓角的橢圓的邏輯寬度和高度
lpRect為RECT結構或CRect對象,point中的x、y為畫圓角的橢圓的邏輯寬度和高度
返回值:若成功,返回非0;否則返回0

CDC::SaveDC?保存設備環境的當前狀態?
virtual?int?SaveDC();
返回值:若成功,返回標識保存設備環境的整數;若錯誤返回0

CDC::SelectObject?將一個對象選入設備環境,替代同一類型的先前對象?
CPen*?SelectObject(CPen*?pPen);
CBrush*?SelectObject(CBrush*?pBrush);
virtual?CFont*?SelectObject(CFont*?pFont);
CBitmap*?SelectObject(CBitmap*?pBitmap);
int?SelectObject(CRgn*?pRgn);
參數:要選入的新對象的指針
返回值:先前的舊對象的指針

CDC::SelectStockObject?將一個預定義的庫存對象裝入設備環境?
virtual?CGdiObject*?SelectStockObject(int?nIndex);
參數:nIndex庫存對象的索引值,常用取值:
BLACK_BRUSH?黑色畫刷;?DKGRAY_BRUSH?深灰色畫刷;
GRAY_BRUSH?灰色畫刷;?LTGRAY_BRUSH?淺灰色畫刷;
WHITE_BRUSH?白色畫刷;?HOLLOW_BRUSH?中空畫刷;
NULL_BRUSH?空畫刷;
BLACK_PEN?黑色畫筆;?WHITE_PEN?白色畫筆;
NULL_PEN?空畫筆;
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?用當前字體在指定位置寫一字符串?
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類:所有對話框(模態或非模態)的基類?
CDialog::DoModal?激活模態對話框,完成后返回對話框結果?
virtual?int?DoModal();
返回值:若不可創建對話框,返回-1;若錯誤返回IOABORT;若用戶用“確定”按鈕退出對話框,返回IDOK,否則返回IDCANCEL或0

CDocument類:提供用戶定義的文檔類的基本功能?
CDocument::CanCloseFrame?在關閉框架窗口之間由框架調用

virtual?BOOL?CanCloseFrame(CFrameWnd*?pFrame);
參數:pFrame?指向連接到該文檔上的一個視的框架窗口?

CDocument::SetTitle?指定文檔的標題?
virtual?void?SetTitle(LPCTSTR?lpszTitle);
參數:lpszTitle指向用作文檔標題的字符串

CEdit類:是一個用于編輯控件的類?
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用于接收當前選擇的第一個字符的位置;nEndChar用于接收當前選擇后面第一個未選字符的位置。
返回值:低位字和高位字分別是當前選擇開始和選擇區后第一個未選字符的位置。
CEdit::Paste?將數據從剪貼板插入到編輯控件中的當前光標處?
void?Paste();
CEdit::ReplaceSel?用指定的文本替換編輯控件內選擇的文本?
void?ReplaceSel(LPCTSTR?lpszNewText,BOOL?bCanUndo=FALSE);
參數:lpszNewText指向替換文本的字符串;bCanUndo為TRUE時,指定該操作可以用Undo()撤銷

CEdit::SetLimitText?設置CEdit控件可接收文本的最大字節數?
void?SetLimitText(UINT?nMax);
參數:nMax?新文本限制,按字節計。

CEdit::SetModify?設置控件修改標志

void?SetModify(BOOL?bModified=TRUE);
參數:bModified?為TRUE,指示控件已修改,為FALSE,清除修改標志?

CEdit::SetSel?設置編輯控件中選擇的字符?
void?SetSel(DWORD?dwSelection,BOOL?bNoScroll=FALSE);
void?SetSel(int?nStartChar,int?nEndChar,BOOL?bNoScroll=FALSE);
參數:dwSelection?若低位字為0而高位字為-1,則選擇所有文本;若低位為-1,則撤銷當前選擇;bNoScroll?為FALSE時插入字符滾入視野,否則插入字符不滾入視野;
nStartChar指定選擇的起始位置,nEndChar指定選擇的終止位置;若nStartChar為0且nEndChar為-1,選擇所有文本;若nStartChar為-1,撤銷當前選擇

CFile類:該類是基本文件類的基類?
CFile::Close?關閉文件,使該文件不可用于讀寫?
virtual?void?Close();

CFile::GetLength?求文件長度(以字節計)?
virtual?DWORD?GetLength()const;
返回值:文件長度

CFile::Open?打開文件?
virtual?BOOL?Open(LPCTSTR?lpszFileName,UINT?nOpenFlags,CFileException*?pError=NULL);
參數:lpszFileName指定打開文件的路徑;nOpenFlags?定義文件的共享和存取方式;pError指向一個已有的文件異常對象的指針。
nOpenFlags的常用取值:
CFile::modeCreate?創建一個新文件,若文件已存在,則該文件被清空;
CFile::modeRead?用于只讀;?CFile::modeReadWrite?用于讀寫;
CFile::modeWrite?用于只寫;?CFile::modeNoInherit?阻止文件被子進程繼承;
返回值:若打開成功,返回非0;否則返回0

CFile::Read?從文件中讀一段數據到一緩沖區中?
virtual?UINT?Read(void*?lpBuf,UINT?nCount);
參數:lpBuf指向用戶定義的緩沖區;nCount為要從文件中讀出的最大字節數
返回值:傳輸給緩沖區的字節數,可小于nCount所指定的值

CFile::Rename?重命名文件(靜態函數),目錄不可重命名

static?void?PASCAL?Rename(LPCTSTR?lpszOldName,LPCTSTR?lpszNewName);
參數:lpszOldName?舊路徑名
lpszNewName?新路徑名?

CFile::Remove?刪除指定文件(靜態函數),不可刪除目錄?
static?void?PASCAL?Remove(LPCTSTR?lpszFileName);
參數:lpszFileName指向刪除文件的路徑名字符串

CFile::Seek?定位當前文件指針

virtual?LONG?Seek(LONG?lOff,UINT?nFrom);
參數:lOff?指針移動的字節數,為正時,向后移動,為負時,向前移動
nFrom?指針移動方式,可以是下列值之一:
CFile::begin?將文件指針從文件頭移動lOff個字節;
CFile::current?將文件指針從當前位置移動lOff個字節;
CFile::end?將文件指針從文件尾移動lOff個字節;?

CFile::SeekToBegin?將文件指針設置到文件頭,相當于Seek(0L,CFile::begin)

void?SeekToBegin();?

CFile::SeekToEnd?將文件指針設置到文件尾,相當于Seek(0L,CFile::end)

DWORD?SeekToEnd();???返回值:文件的字節長度?

CFile::Write?將數據從一緩沖區寫入文件中?
virtual?void?Write(const?void*?lpBuf,UINT?nCount);
參數:lpBuf指向用戶定義的緩沖區;nCount為要從緩沖區傳輸的字節數

CFileDialog類:封裝了打開和保存文件的標準對話框?
CFileDialog::CFileDialog?構造一個標準Windows文件對話框對象?
CFileDialog(BOOL?bOpenFileDialog,LPCTSTR?lpszDefExt=NULL,LPCTSTR?lpszFileName=NULL,?DWORD?dwFlags=OFN_HIDEREADONLY?|?OFN_OVERWRITEPROMPT,LPCTSTR?lpszFilter=NULL,CWnd*?pParentWnd=NULL);
參數:bOpenFileDialog為TRUE時構造打開文件對話框,為FALSE時構造另存為對話框;
lpszDefExt指定缺省文件擴展名,在對話框彈出后,若沒有在文件名框中輸入擴展名,則自動附加指定的擴展名,若lpszDefExt為NULL,則不附加擴展名;
lpszFileName指定出現在文件名框中的初始文件名,若為NULL,則無初始文件名;
dwFlags為定制對話框的標志組合;
lpszFilter指定文件過濾器
CFileDialog::GetFileExt?檢取對話框中輸入的文件擴展名?
CString?GetFileExt()const;

CFileDialog::GetFileName?檢取對話框中輸入的文件名,不包括路徑?
CString?GetFileName()const;

CFileDialog::GetNextPathName?檢取對話框中選定的一組文件中的下一個文件的全路徑?
CString?GetNextPathName(POSITION&?pos)const;
參數:pos?指定位置的POSITION值,執行后,為下一項的POSITION值;若已到列表尾,執行后為NULL
返回值:文件的全路徑?

CFileDialog::GetPathName?檢取對話框中輸入的文件全路徑?
CString?GetPathName()const;

CFileDialog::GetStartPosition?獲取列表中第一個文件路徑名的位置?
POSITION?GetStartPosition()const;
返回值:列表中第一個文件路徑名的POSITION值;若列表為空,返回NULL
說明:用于多選列表,要求m_ofn.Flags設置了OFN_ALLOWMULTISELECT標志

CFindReplaceDialog類:封裝了標準查找/替換對話框?
CFindReplaceDialog::Create?創建一個Find或Find/Replace對話框對象

BOOL?Create(BOOL?bFindDialogOnly,LPCTSTR?lpszFindWhat,LPCTSTR?lpszReplaceWhat=NULL,DWORD?dwFlag=FR_DOWN,CWnd*?pParentWnd=NULL);
參數:bFindDialogOnly?為TRUE時,顯示查找對話框,為FALSE時,顯示查找/替換對話框;
lpszFindWhat?指定要查找的串的缺省值;
lpszReplaceWhat?指定替換串的缺省值;
dwFlag為標志位,用來定制對話框,它可以是一個或多個標志的組合,主要取值如下:
FR_DOWN?如果設置,對話框中的“向下查找”單選按鈕被選中,如果沒有設置,“向上查找”單選按鈕被選中;
FR_HIDEUPDOWN?不顯示查找方向單選按鈕;
FR_HIDEMATCHCASE?不顯示區分大小寫復選按鈕;
FR_HIDEWHOLEWORD?不顯示全字匹配復選按鈕;
FR_MATCHCASE?使區分大小寫復選按鈕處于選中狀態;
FR_WHOLEWORD?使全字匹配復選按鈕處于選中狀態;
FR_NOMATCHCASE?使區分大小寫復選按鈕處于禁止(變灰)狀態;
FR_NOUPDOWN?使查找方向單選按鈕處于禁止(變灰)狀態;
FR_NOWHOLEWORD?使全字匹配復選按鈕處于禁止(變灰)狀態;
FR_SHOWHELP?在對話框中顯示一個幫助按鈕。
pParentWnd?指向父窗口或屬主窗口的指針。
返回值:若創建成功,返回非0值,否則返回0。?

CFindReplaceDialog::FindNext?確定用戶是否要查找串的下一個出現處。

BOOL?FindNext()const;
返回值:若用戶單擊查找“下一個”按鈕,則返回非0值,否則返回0。

CFindReplaceDialog::GetFindString?檢取對話框中的查找字符串

CString?GetFindString()const;
返回值:對話框中的查找字符串?

CFindReplaceDialog::GetNotifier?檢取當前查找/替換對話框的指針

static?CFindReplaceDialog*?PASCAL?GetNotifier(LPARAM?lParam);
參數:lParam?傳遞給回調函數OnFindReplace()的lParam值
返回值:指向當前查找/替換對話框的指針?

CFindReplaceDialog::GetReplaceString?檢取對話框中的替換字符串

CString?GetReplaceString()const;
返回值:對話框中的替換字符串?

CFindReplaceDialog::IsTerminating?檢取對話框是否終止

BOOL?IsTerminating()const;
返回值:若用戶終止對話框,返回非0值,否則返回0?

CFindReplaceDialog::MatchCase?檢取區分大小寫復選按鈕狀態

BOOL?MatchCase()const;
返回值:如果區分大小寫復選按鈕被選擇,返回非0值,否則返回0?
CFindReplaceDialog::MatchWholeWord?檢取全字匹配復選按鈕狀態

BOOL?MatchWholeWord()const;
返回值:如果全字匹配復選按鈕被選擇,返回非0值,否則返回0

CFindReplaceDialog::ReplaceAll?確定用戶是否要求全部替換

BOOL?ReplaceAll()const;
返回值:如果用戶要求全部替換,返回非0值,否則返回0

CFindReplaceDialog::ReplaceCurrent?確定用戶是否要求替換當前選擇串

BOOL?ReplaceCurrent()const;
返回值:如果用戶要求替換當前選擇串,返回非0值,否則返回0

CFindReplaceDialog::SearchDown?檢取查找方向

BOOL?SearchDown()const;
返回值:如果為向下查找,返回非0值;若為向上查找,返回0

CFont類:封裝了Windows圖形設備接口(GDI)中的字體對象?
CFont::CreatePointFont?創建指定打印字樣和點大小的字體?
BOOL?CreatePointFont(int?nPointSize,LPCTSTR?lpszFaceName,CDC*pDC==NULL);
參數:nPointSize請求字體的高度(以十分之一點計);lpszFaceName字體的字樣名
返回值:若成功,返回非0;否則返回0

CFontDialog類:封裝了字體選擇對話框?
CFontDialog::CFontDialog?構造一個CFontDialog對象?
CFontDialog(LPLOGFONT?lplfInitial=NULL,DWORD?dwFlags=CF_EFFECTS?|?CF_SCREENFONTS,CDC*?pdcPrinter=NULL,CWnd*?pParentWnd=NULL);
參數:lplfInitial是一個指向LOGFONT結構的指針;dwFlags一些標志;pdcPrinter指向打印機設備環境的指針;pParentWnd指向該字體對話框的父窗口的指針

CFontDialog::GetFaceName?獲取選定的字體名?
CString?GetFaceName()const;

CFontDialog::GetSize?獲取選定的字體大小?
int?GetSize()const;

CGdiObject類:GDI繪圖工具的基類?
CGdiObject::DeleteObject?釋放與連接的GDI對象相關的所有系統存儲,從內存中將其刪除?
BOOL?DeleteObject();
返回值:若GDI對象被成功刪除,返回非0;否則返回0

CGdiObject::GetSafeHandle?獲取連接的Windows?GDI對象的句柄?
HGDIOBJ?GetSafeHandle()const;
返回值:所連接的Windows?GDI對象的句柄,若沒有連接Windows?GDI對象,則返回NULL

CIPAddressCtrl類:提供了IP地址控件的功能?
CIPAddressCtrl::ClearAddress?清除IP地址控件中的內容。?
void?ClearAddress();

CIPAddressCtrl::Create?創建一個IP地址控件。?
BOOL?Create(DWORD?dwStyle,RECT&?rect,CWnd*?pParentWnd,UINT?nID);
參數:dwStyle?為控件風格,可使用窗口風格的組合;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個域填充到用4個引用中。
第二種形式是把IP地址填充到1個長整數的引用中。
返回值: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個0~255的整數分別設置IP地址各個域的值。
第二種形式是用1個長整數設置IP地址值。
返回值:無

CIPAddressCtrl::SetFieldFocus?把輸入焦點設置在指定的域中。?
void?SetFieldFocus(WORD?nField);
參數:nField?取值為0~3,如果大于3,則焦點設置到第一個空域中,若所有域均非空,則焦點設置在第一個域中。
返回值:無

CIPAddressCtrl::SetFieldRange?設置指定域中數值的取值范圍。?
void?SetFieldRange(int?nField,BYTE?nLower,BYTE?nUpper);
參數:nField?域索引,取值0~3;nLower?域的下限值;nUpper:域的上限值。
返回值:無

CImageList類:管理大小相同的圖標或位圖集?
CImageList::Add?在影像列表中添加一個或多個影像或圖標?
int?Add(CBitmap*?pbmImage,CBitmap*?pbmMark);
參數:pbmImage?指向包含影像位圖的指針;pbmMark?指向包含屏蔽位圖的指針,若沒有屏蔽,此參數被忽略。
返回值:若成功,返回第一個影像的以0為基的索引,否則返回-1。

CImageList::Create?構造一個CImageList對象?
BOOL?Create(int?cx,int?cy,BOOL?bMark,int?nInitial,int?nGrow);
參數:cx、cy為影像大小,以像素為單位;bMark?若影像包含屏蔽則為TRUE,否則為FALSE;nInitial包含的影像數;nGrow當需要改變列表大小時,允許擴大到的影像數。
返回值:若成功,返回非0;否則返回0

CMenu類:封裝應用程序菜單欄和彈出式菜單?
CMenu::DestoryMenu?撤銷菜單及所用的Windows資源?

BOOL?DestoryMenu();
返回值:若菜單撤銷成功,則返回非0值;否則返回0。
說明:撤銷之前需用Detach()將菜單與CMenu對象斷開連接。

CMenu::Detach?將一菜單與CMenu對象斷開連接

HMENU?Detach();
返回值:若函數成功,返回菜單的句柄;否則返回NULL。?

CMenu::GetSubMenu?檢取一個菜單中的彈出式子菜單對象

CMenu*?GetSubMenu(int?nPos)const;
參數:nPos?彈出式子菜單在父菜單中的位置,從0開始算起
返回值:若給定位置存在一個彈出式子菜單,返回指向子菜單對象的指針;否則返回NULL。?

CMenu::InsertMenu?在菜單中插入一個新的菜單項

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的解釋和新菜單項的狀態
對nPosition的解釋可取下面值之一:
MF_BYCOMMAND:要求nPosition為已存在的一個菜單項的ID號
MF_BYPOSITION:要求nPosition為已存在的一個菜單項的位置
新菜單項狀態可取以下值:
MF_CHECKED:在菜單項前加一個檢測標志
MF_DISABLED:使菜單項無效,但菜單項不變灰
MF_GRAYED:使菜單項無效,且菜單項變灰
MF_OWNERDRAW:指定菜單項是用戶自繪的項
MF_POPUP:指定菜單項有與之相關聯的彈出菜單
MF_SEPARATOR:繪制一條水平分隔線,僅能用于彈出菜單項
MF_STRING:指定菜單項為一個字符串?
nIDNewItem?指定新菜單項的ID號
lpszNewItem?新菜單項的文本
pBmp?指向將作為菜單項使用的CBitmap對象
插入時在指定的菜單項前面插入?

CMenu::LoadMenu?加載一個菜單資源,并將其連接到CMenu對象上

BOOL?LoadMenu(LPCTSTR?lpszResourceName);
BOOL?LoadMenu(UINT?nIDResource);
參數:lpszResourceName?指向一個以NULL結尾的字符串,其中包含要加載的菜單資源名。
nIDResource?指定要加載的菜單資源的菜單ID。
返回值:若菜單資源加載成功,則返回非0值;否則返回0。?

CMenu::RemoveMenu?刪除指定菜單項

BOOL?RemoveMenu(UINT?nPosition,UINT?nFlags);
參數:nPosition?指定要刪除的菜單項
nFlag?指出nPosition的解釋,參照InsertMenu()函數
返回值:若成功,返回非0值;否則返回0。

CMenu::TrackPopupMenu?在指定位置顯示一個彈出式菜單,并跟蹤該菜單的選擇

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?使彈出菜單在單擊鼠標左鍵時彈出;
TPM_RIGHTBUTTON?使彈出菜單在單擊鼠標右鍵時彈出。
x、y?彈出式菜單在屏幕中的位置(屏幕坐標);
pWnd?指向擁有此菜單的窗口;
lpRect?指向一個RECT結構或CRect對象,設定菜單尺寸。?

CPen類:封裝了Windows圖形設備接口(GDI)中的畫筆對象?
CPen::CreatePen?用指定風格、寬度和顏色初始化一個畫筆?
BOOL?CreatePen(int?nPenStyle,int?nWidth,COLORREF?crColor);
參數:nPenStyle指定畫筆的風格,取值如下:
PS_SOLID:實線;
PS_DASH:虛線;
PS_DOT:點線;
PS_DASHDOT:點劃線;
PS_DASHDOTDOT:雙點劃線;
PS_NULL:空畫筆;
PS_ENSIDEFRAME:內框線。
nWidth為畫筆的寬度,單位為像素;crColor指定畫筆的顏色
返回值:若成功,返回非0;否則返回0

CPoint類:操作CPoint和POINT結構?
CPoint::CPoint?構造一個CPoint對象

CPoint();
CPoint(int?initX,int?initY);
CPoint(POINT?initPt);
CPoint(SIZE?initSize);
CPoint(DWORD?dwPoint);
參數:initX?初始化CPoint的X成員。initY?初始化CPoint的Y成員。
initPt?初始化CPoint的一個POINT結構或CPoint對象。
initSize?用SIZE結構中的cx和cy初始化CPoint的X成員和Y成員。
dwPoint?設置X成員為參數的低位字,Y成員為參數的高位字。
若未給定參數,則X和Y成員不被初始化?
CRect類:封裝了一個矩形區域及相關操作?
CRect::BottomRight?求CRect對象的右下角坐標

CPoint&?BottomRight();
返回值:對CRect對象右下角點的一個引用?

CRect::CenterPoint?求CRect對象的中心點?
CPoint?CenterPoint()const;
返回值:CRect對象的中心點坐標

CRect::CopyRect?將一個矩形復制到CRect對象中?
void?CopyRect(LPCRECT?lpScrRect)
參數:lpScrRect?指向源矩形的RECT結構或CRect對象
返回值:無

CRect::Height?求CRect對象的高度?
int?Height()const;
返回值:CRect對象的高度

CRect::PtInRect?判斷指定點是否在CRect對象的區域內?
BOOL?PtInRect(POINT?point)const;
參數:point是一個POINT結構或CPoint對象
返回值:指定點在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類:封裝用于操作窗口中的橢圓、多邊形或者不規則區域的GDI區域?
CRgn::CreateEllipticRg?創建一個橢圓區域?
BOOL?CreateEllipticRg(int?x1,int?y1,int?x2,int?y2);
參數:x1、y1?該橢圓的限定矩形的左上角的邏輯坐標;
x2、y2?該橢圓的限定矩形的右下角的邏輯坐標。
返回值:若成功,返回非0,否則返回0

CRgn::CreatePolygonRgn?創建一個多邊形區域?
BOOL?CreatePolygonRgn(LPPOINT?lpPoints,int?nCount,int?nMode);
參數:lpPoints指向一個POINT結構的數組或CPoint對象的數組;nCount是數組中元素個數;nMode指定區域的填充方式,可以為ALTERATE或WINDING
返回值:若成功,返回非0,否則返回0
CSize類:用于表示相對坐標或位置?
CSize::CSize?構造函數,生成一個CSIZE對象并可以設置初值?
CSize();
CSize(int?initCX,int?initCY);
CSize(SIZE?initSize);
CSize(POINT?initPt);
CSize(DWORD?dwSize);
參數:可以用不同的方法初始化CSize對象的cx成員和cy成員。
其中?dwSize?是一個DWORD值,雙字中的低位字設置cx成員,高位字設置cy成員

操作符??==、!=、+、-、+=、-=

CSpinButtonCtrl類:旋轉控件Spin的控制類?
CSpinButtonCtrl::GetPos?獲取旋轉控件的當前位置?
int?GetPos()const;
返回值:當前位置(用低位字表示),若有錯誤產生,高位字為非0

CSpinButtonCtrl::SetBuddy?設置旋轉控件的伙伴窗口?
CWnd*?SetBuddy(CWnd*?pWndButton);
參數:pWndButton是一個指向新伙伴窗口的指針
返回值:一個指向以前伙伴窗口的指針

CSpinButtonCtrl::SetPos?設置控件的位置?
int?SetPos(int?nPos);
參數:nPos為控件的新位置,該值必須在控件指定的上下限范圍內
返回值:以前位置

CSpinButtonCtrl::SetRange?設置控件的范圍?
void?SetRange(int?nLower,int?nUpper);
參數:nLower、nUpper為該控件的上下限

CStatusBar類:狀態欄窗口的基類?
CStatusBar::SetPaneInfo?為指定窗格設置新的ID,風格和寬度?
void?SetPaneInfo(int?nIndex,UINT?nID,UINT?nStyle,int?cxWidth);
參數:nIndex?窗格索引值,nID?窗格新ID值,nStyle?窗格的新風格,cxWidth?窗格的新寬度。

CStatusBar::SetPaneText?為指定窗格設置文本?
BOOL?SetPaneText(int?nIndex,LPCTSTR?lpszNewText,BOOL?bUpdate=TRUE);
參數:nIndex?窗格索引值,lpszNewText?新的窗格文本,bUpdate?若為TRUE,則設置后窗格將無效
返回值:若成功,返回非0;否則返回0

CString類:處理字符串?
CString::Compare?比較字符串

int?Compare(LPCTSTR?lpsz)const;
參數:lpsz?用于比較的另一個字符串
返回值:字符串相等,返回0;CString對象小于lpsz,返回-1;否則返回1。

CString::CompareNoCase?不區分大小寫比較字符串

int?CompareNoCase(LPCTSTR?lpsz)const;
參數:lpsz?用于比較的另一個字符串
返回值:字符串相等,返回0;CString對象小于lpsz,返回-1;否則返回1。?

CString::Empty?清空字符串,并根據需要釋放內存?
void?Empty();

CString::Format?格式化一個CString對象?
void?Format(LPCTSTR?lpszFormat,...);
參數:lpszFormat?格式字符串
功能:用格式化數據定義一個CString對象。這里把整數等其它類型轉換為字符串。

CString::GetAt?獲取串中的指定字符?
TCHAR?GetAt(int?nIndex);
參數:nIndex?串中以0為基值索引值,不得小于0及大于串長。
返回值:由索引值指定的字符。
說明:該函數常用[]運算符替代。

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為提取的字符數
返回值:抽取的子字符串的一個拷貝,可能為空

CString::LoadString?從Windows資源中加載一個已存在的CString對象

BOOL?LoadString(UINT?nID);
參數:nID?Windows字符串資源ID
返回值:若加載資源成功,返回非0;否則返回0
說明:nID標識的字符串最大長度為255個字符

CString::MakeLower?將CString對象轉換為一個小寫字符串

void?MakeLower();?

CString::MakeReverse?逆向CString對象中字符的次序

void?MakeReverse();

CString::MakeUpper?將CString對象轉換為一個大寫字符串

void?MakeUpper();

CString::Mid?提取子字符串?
CString?Mid(int?nFirst,int?nCount)const;
參數:nFirst提取的起始位置;nCount提取的字符數,若未指定,則提取字符串的剩余部分
返回值:抽取的子字符串的一個拷貝,可能為空

CString::ReleaseBuffer?釋放由GetBuffer分配的多余緩沖區

void?ReleaseBuffer(int?nNewLength=-1);
參數:nNewLength?字符串對象的實際長度(不含NULL)
功能:把CString對象的大小設置為nNewLength指示的大小;若nNewLength為-1,則設置為該字符串到NULL為止的長度。

CString::Right?從串的后面提取子字符串?
CString?Right(int?nCount)const;
參數:nCount為提取的字符數
返回值:抽取的子字符串的一個拷貝,可能為空

CString::SetAt?設置串中的指定位置的字符?
void?SetAt(int?nIndex,TCHAR?ch);
參數:nIndex?串中以0為基值索引值,不得小于0。?ch:寫入的字符,不得為'\0'。
說明:若索引值超出字符串的邊界,則將擴大字符串。

CStringList類:支持CString對象的列表?
列表元素必須通過POSITION值進行訪問,POSITION類型的變量是列表的一個鍵,與索引不同,程序不可操作POSITION值。?
CStringList::AddTail?將一個元素或元素列表增加到該表表尾?
POSITION?AddTail(LPCTSTR?newElement);
POSITION?AddTail(const?CString&?newElement);
POSITION?AddTail(CStringList*?pNewList);
參數:newElement指示增加到列表中的元素;pNewList指向另一個CStringList列表
返回值:插入元素的POSITION值

CStringList::FindIndex?獲取由索引值指定的元素的位置?
POSITION?FindIndex(int?nIndex)const;
參數:nIndex?要查找的列表元素的索引值(基于0,相當于下標)
返回值:索引值所對應的元素位置,若nIndex過大或為負,則返回NULL

CStringList::GetAt?獲取給定位置處的元素?
CString?GetAt(POSITION?position);
CString&?GetAt(POSITION?position);
參數:position?元素位置
返回值:元素值或元素的引用

CStringList::GetCount?求列表中元素個數?
int?GetCount()const;??返回值:列表中元素個數

CStringList::GetHeadPosition?獲取列表首部元素的位置?
POSITION?GetHeadPosition()const;
返回值:表頭元素的POSITION值,若列表為空,則返回NULL

CStringList::GetNext?獲取下一個元素?
CString?GetNext(POSITION&?rPosition);
CString&?GetNext(POSITION&?rPosition);
參數:rPosition?為上一次訪問時的元素位置,當GetNext執行后,被設置為列表下一項的POSITION值。?返回值:元素值或元素的引用

CStringList::RemoveAll?刪除列表中所有元素,并釋放關聯的內存?
void?RemoveAll();


CWinApp類:派生的程序對象的基類?
CWinApp::EnableShellOpen?允許用戶從Windows文件管理器中打開數據文件?
void?EnableShellOpen();
說明:通常從InitInstace函數的代碼中允許程序在文件管理器中雙擊文件時打開該數據文件

CWinApp::ParseCommandLine?分析命令行中的專用參數和標志?
void?ParseCommandLine(CCommandLineInfo&?rCmdInfo);
參數:rCmdInfo?到一個CCommandLineInfo對象的引用

CWinApp::RegisterShellFileTypes?用Windows文件管理注冊程序所有文檔類型?
void?RegisterShellFileTypes(BOOL?bCompat=FALSE);
CWnd類:提供所有窗口類的基本函數?
CWnd::CenterWindow?相對于指定窗口的中心定位本窗口

void?CenterWindow(CWnd*?pAlternateOwner=NULL);
pAlternateOwner?另一個窗口指針,若為NULL,則相對于父窗口定位

CWnd::ClientToScreen?將一個點或一個矩形的客戶坐標轉換為屏幕坐標

void?ClientToScreen(LPPOINT?lpPoint)const;
void?ClientToScreen(LPRECT?lpRect)const;
參數:lpPoint?指向被轉換點的CPoint對象或POINT結構
lpRect?指向被轉換矩形的CRect對象或RECT結構

CWnd::EnableWindow?允許或禁止鼠標和鍵盤輸入

BOOL?EnableWindow(BOOL?bEnable=TRUE);
參數:bEnable為TRUE,窗口允許鼠標和鍵盤輸入;為FALSE,窗口禁止鼠標和鍵盤輸入。返回值:原先為禁止,返回非0;否則返回0

CWnd::GetCapture?獲取捕獲鼠標的窗口?
static?CWnd*?PASCAL?GetCapture();
返回值:捕獲鼠標的窗口的指針,任何時刻僅有一個窗口擁有鼠標捕獲

CWnd::GetClientRect?獲取CWnd客戶區的尺寸?
void?GetClientRect(LPRECT?lpRect)const;
參數:lpRect指向接收客戶區坐標的RECT結構或CRect對象,其中的left和top成員將為0,right和bottom成員保存該窗口的寬度和高度

CWnd::GetDlgItem?獲取指向給定控件或子窗口的指針?
CWnd*?GetDlgItem(int?nID)const;
參數:nID為控件或子窗口的ID值。
返回值:指向給定控件或子窗口的指針;

CWnd::GetFocus?獲取擁有輸入焦點的窗口?
static?CWnd*?PASCAL?GetFocus();
返回值:擁有輸入焦點的窗口的指針,若沒有擁有焦點的窗口,返回NULL

CWnd::GetMenu?獲取該窗口的菜單的指針

CMenu*?GetMenu()const;
返回值:若窗口無菜單,返回NULL;否則返回菜單對象的指針

CWnd::GetParent?獲取父窗口指針

CWnd*?GetParent()const;
返回值:若成功,返回指向父窗口的指針;否則返回NULL

CWnd::GetStyle?獲取窗口的風格

DWORD?GetStyle()const;返回值:窗口的風格?

CWnd::GetWindowRect?獲取窗口的屏幕坐標

void?GetWindowRect(LPRECT?lpRect)const;
參數:lpRect?指向一個CRect對象或RECT結構,用來接收窗口的邊界矩形坐標

CWnd::GetWindowText?獲取窗口的標題文本?
int?GetWindowText(LPCTSTR?lpszStringBuf,int?nMaxCount)count;
參數:lpszStringBuf指向接收窗口標題文本的字符串緩沖區,nMaxCount指定可拷貝的最大字符數。返回值:字符串長度

CWnd::Invalidate?使CWnd的整個客戶區無效?
void?Invalidate(BOOL?bErase=TRUE);
參數:bErase為TRUE則刪除更新區域的背景,為FALSE則不刪除背景

CWnd::InvalidateRect?使CWnd的客戶區中的矩形區域無效?
void?InvalidateRect(LPCRECT?lpRect,BOOL?bErase=TRUE);
參數:lpRect指示添加到更新區域的矩形,bErase為TRUE則刪除更新區域的背景,為FALSE則不刪除背景

CWnd::MessageBox?創建并顯示一個提示對話框?
int?MessageBox(LPCTSTR?lpszText,LPCTSTR?lpszCaption=NULL,UINT?nType=MB_OK);
參數:lpszText指示要顯示的字符串;lpszCaption指示提示對話框的標題字符串;nType為彈出提示框的風格,此參數可以為下列標志組中標志的組合。

指定下列標志中的一個來設置消息框中的按鈕,標志的含義如下。
MB_ABORTRETRYIGNORE:消息框含有三個按鈕:Abort,Retry和Ignore。
MB_OK:消息框含有一個按鈕:OK。這是缺省值。
MB_OKCANCEL:消息框含有兩個按鈕:OK和Cancel。
MB_RETRYCANCEL:消息框含有兩個按鈕:Retry和Cancel。
MB_YESNO:消息框含有兩個按鈕:Yes和No。
MB_YESNOCANCEL:消息框含有三個按鈕:Yes,No和Cancel。

指定下列標志中的一個來設置消息框中顯示的圖標:標志的含義如下。
MB_ICONEXCLAMATION:
MB_ICONWARNING:一個驚嘆號出現在消息框。
MB_ICONINFORMATION:
MB_ICONASTERISK一個圓圈中小寫字母i組成的圖標出現在消息框。
MB_ICONOUESTION:一個問題標記圖標出現在消息框。
MB_ICONSTOP:
MB_ICONERROR:
MB_ICONHAND:一個停止消息圖標出現在消息框。

指定下列標志中的一個來指示缺省的按鈕:標志的含義如下。
MB_DEFBUTTON1:第一個按鈕為缺省按鈕。這是缺省值。
MB_DEFSUTTON2;第二個按鈕為缺省按鈕。
MB_DEFBUTTON3:第三個按鈕為缺省按鈕。

返回值:若成功,返回非0;否則返回0

CWnd::ModifyStyle?修改窗口風格?
BOOL?ModifyStyle(DWORD?dwRemove,DWORD?dwAdd,UINT?nFlags=0);
參數:dwRemove指定要刪除的窗口風格;dwAdd指定要添加的窗口風格;nFlags傳遞到SetWindowPos的標志,若不調用SetWindowPos,應為0,若不為0,則調用SetWindowPos并重畫窗口

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為TRUE時,重繪窗口,為FALSE不繪制;lpRect指定新的大小和位置的CRect對象或RECT結構

CWnd::ReleaseCapture?釋放鼠標捕獲,讓其它窗口可以接收鼠標輸入?
ReleaseCapture();

CWnd::ScreenToClient?將一個點或一個矩形的屏幕坐標轉換為客戶坐標

void?ScreenToClient(LPPOINT?lpPoint)const;
void?ScreenToClient(LPRECT?lpRect)const;
參數:lpPoint?指向被轉換點的CPoint對象或POINT結構
lpRect?指向被轉換矩形的CRect對象或RECT結構?

CWnd::SetCapture?捕獲鼠標?
CWnd*?SetCapture();
返回值:原來捕獲鼠標的窗口指針
說明:捕獲鼠標后,無論光標位于何處,所有鼠標輸入都發送給當前的CWnd對象。

CWnd::SetFocus?設置輸入焦點?
CWnd*?SetFocus();
返回值:原來擁有輸入焦點的窗口指針,若沒有這類窗口,返回NULL

CWnd::SetFont?將窗口的字體設置為指定字體?
void?SetFont(CFont*?pFont,BOOL?bRedraw=TRUE)
參數:pFont指向新字體;bRedraw?若為TRUE,則重畫該CWnd對象

CWnd::SetWindowPos?改變窗口的大小、位置和Z次序?
BOOL?SetWindowPos(const?CWnd*?pWndInsertAfter,int?x,int?y,int?cx,int?cy,UINT?nFlags);
參數:pWndInsertAfter?用來調整窗口Z次序,一般設為NULL;
x、y:窗口新位置;cx、cy:窗口新寬度和高度;
nFlags常用取值:
SWP_NOZORDER:忽略第一個參數,維持次序;
SWP_NOMOVE:忽略x、y,維持位置不變;
SWP_NOSIZE:忽略cx、cy,維持大小不變;
返回值:若成功,返回非0;否則返回0

CWnd::SetWindowText?設置窗口標題,若該窗口為控件,則設置其中的文本?
void?SetWindowText(LPCTSTR?lpszString);
參數:lpszString指向用作新標題的字符串

CWnd::ShowWindow?設置窗口的可見性?
BOOL?ShowWindow(int?nCmdShow);
參數:nCmdShow?指明如何顯示該窗口,取值為下列之一:
SW_HIDE?隱藏窗口并將活動性傳遞給另一窗口;
SW_MINIMIZE?最小化窗口并激活系統窗口列表中的頂層窗口;
SW_RESTORE?激活并顯示窗口,若已最小化或最大化,則恢復其原大小和位置;
SW_SHOW?激活窗口并以其當前大小和位置顯示窗口;
SW_SHOWMAXIMIZED?激活窗口并最大化顯示窗口;
SW_SHOWMINIMIZED?激活窗口并顯示為一個圖標;
SW_SHOWMINNOACTIVE?將窗口顯示為一個圖標,當前窗口仍然是活動的;
SW_SHOWNA?以當前狀態顯示窗口,當前窗口仍然是活動的;
SW_SHOWNOACTIVATE?以最近大小和位置顯示窗口,當前窗口仍然是活動的;
SW_SHOWNORMAL?激活并顯示窗口,若為最小化或最大化窗口,則恢復原大小和位置
返回值:若該窗口原可見,返回非0;若該窗口原隱藏,返回0

CWnd::UpdateData?設置一個對話框的數據或獲取有效的對話框數據?
BOOL?UpdateData(BOOL?bSaveAndValidate=TRUE);
參數:bSaveAndValidate為FALSE,設置對話框的數據;為TRUE則獲取對話框數據
返回值:若成功,返回非0;否則返回0
CWnd::UpdateWindow?若更新區域不空,該成員函數通過發送一條WM_PAINT消息以更新客戶區?
void?UpdateWindow();


API函數?
GetPrivateProfileInt?從ini文件中讀取整數值

UINT?GetPrivateProfileInt(LPCTSTR?lpAppName,LPCTSTR?lpKeyName,INT?nDefault,LPCSTR?lpFileName);
lpAppName為段名,lpKeyName為項名,nDefault為找不到該項時返回的默認值,lpFileName為ini文件名
返回值:若成功,返回指定項后的整數值,若該項不存在,返回nDefault的值?

GetPrivateProfileString?從ini文件中讀取字符串

DWORD?GetPrivateProfileString(LPCTSTR?lpAppName,LPCTSTR?lpKeyName,LPCTSTR?lpDefault,LPTSTR?lpReturnedString,DWORD?nSize,LPCTSTR?lpFileName);
lpAppName為段名,lpKeyName為項名,lpDefault為找不到該項時返回的默認值,lpReturnedString指向接收結果的字符串緩沖區,nSize為緩沖區長度,lpFileName為ini文件名
執行結果:若成功,lpReturnedString指示的串中為讀出的項值,若該項不存在,lpReturnedString中為lpDefault的值

WritePrivateProfileString?把字符串寫入ini文件

BOOL?WritePrivateProfileString(LPCTSTR?lpAppName,LPCTSTR?lpKeyName,LPCTSTR?lpString,LPCTSTR?lpFileName);
lpAppName為段名,lpKeyName為項名,lpString為寫入的字符串,lpFileName為ini文件名
返回值:若成功,返回true,否則返回false
若寫入時,該ini文件不存在,則這個函數會自動建立這個文件,并建立相應的段和項。

總結

以上是生活随笔為你收集整理的Visual C++中最常用的类与API函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。