MFC常用函数介绍

MFC常用函数介绍
 
 转贴  stoff6662005-11-10 18:16:00查看评论  
  

9月7号
动态改变控件内容
GetDlgItem()->SetWindowText()

获取IDC_TEXT内的字符串的长度
GetWindowTextLength(GetDlgItem(hwnd, IDC_TEXT))

按钮的使能与禁止
EnableWindow(TRUE) or EnableWindow(FALSE)

控件的隐藏与显示
ShowWindow( SW_HIDE ) or ShowWindow( SW_SHOW )

MoveWindow()和SetWindowPos()

VIEW类的CalcWindowRect函数设定视中控件的初始尺寸

CFrameWnd *pFrameWnd=GetParentFrame(); //获取框架窗口指针

pFrameWnd->GetClientRect(&rect); //获取客户区尺寸

GetMainWnd()

AfxGetMainWnd()//这个函数是用来获得主窗口的。在MFC中经常要修改主窗口的属性,所以特别提供了这个函数。

AfxGetApp()

InvalidateRect()

UpdateData()

GetPathName()

SetModifiedFlag()

GetDocument()

SetDlgItemText(IDC_TEXT, "This is a string");

SetDialogBKColor()

SetBkColor()

SetTextColor()

GetModuleHandle()

PostMessage()和SendMessage()

GetOpenFileName() and GetSaveFileName()

GetDesktopWindow()//获得桌面窗口句柄(见工程中的实现窗口的渐隐)

CRect rect;
GetWindowRect(rect)//获得窗口中所有控件的位置,这样我们就可以在窗口的消息中利用位置判断来实现                   //事件控制。

GetDlgItem(IDC_LINK)->GetWindowRect(&m_pRectLink);//获得控件IDC_LINK的位置,将静态文本的屏                                                      //幕坐标存放在m_pRectLink中
ScreenToClient(&m_pRectLink);//将屏幕坐标转换为客户坐标

OnMouseMove()//可以用来实现改变"某块区域"的鼠标的"形状"

AfxGetMainWnd()->PostMessage(WM_SYSCOMMAND,SC_CLOSE,(LPARAM)NULL);//发送消息关闭SDI应用程序
AfxGetMainWnd()->PostMessage(WM_COMMAND,WM_CLOSE,(LPARAM)NULL);//发送消息关闭SDI应用程序
PostQuitMessage(0);//发送消息关闭SDI应用程序

GetStockObject();   //GetStockObject的返回的对象完全不需要删除,因为GetStockObject返回的根本不是句柄,也就是说根本不是一个对象,甚至GetStockObject本身都不需要,因为它的返回值只是一个标识系统对象的ID值,只不过是为了让SelectObject方便选择系统对象,那么,你在使用SelectObject时直接提供ID值就OK,如SYSTEM_FONT的ID值是148,那么就可直接使用Invoke SelectObject,hdc,148就行,只要你记住了常用Stock对象的ID或把它定义成常数,GetStockObject完全可以丢掉!

SelectObject();     //SelectObject,它返回的才是一个对象,不过是前一对象的句柄,所以,如果要删除对象,只有选择新的同类型的对象到hdc中,前一对象才返回,就可以删除了,如果中间有交错,记住SelectObject返回的总是前一次选择的同一类型(是同一类型)的对象,如果一个过程很复杂,可以把经常使用的对象在程序启动时创建好,然后把句柄保存起来,使用起来就方便多了,甚至不需要删除,因为程序在退出时所占用的对象Windows会自动清除。)

WIN32文件:GetFileAttributes和PathIsDirectory可以用于判断文件是否是目录,创建文件可以用CreateDirectory或者MakeSureDirectoryPathExists

 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值