CSDN博客

img chu_qun

部分MFC和API函数(4)

发表于2008/9/28 9:15:00  554人阅读

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文件不存在,则这个函数会自动建立这个文件,并建立相应的段和项

来自:http://blog.163.com/jiket_213/blog/static/31802494200861841353544/

0 0

相关博文

我的热门文章

img
取 消
img