Afxenddeferregisterclass wincore.cpp注册窗口类
Device context
HDC DC的句柄
CDC 客户区句柄类,封装了作图函数
CclinetDC
CWindowDC
CPen类,画笔的封装
CDC::setROP2()设置绘画模式
创建光标插入符号
Cwnd::createsolidcaret()
Showcaret()
Createcaret()
Gettextextent(cstring& str) 返回字符串的宽度和高度
Gettextmetrics()返回字符的宽度和高度。
路径层
Pdc->Beginpath()
End path()
Selectclippath()
获取背景色
Getbkcolor()
字体
CFont
Createpointfont()
Createfont()
dc.selectobject(font)
cdc::drawtext()
cdc::textout()
cdc::gettextmetrics()获取当前字体的一些信息
设置定时器
Cwnd::settimer()
标准消息:除WM_command消息以外,所有以WM开头的消息。
命令消息:以WM _COMMAND消息表示的消息,菜单,加速键,工具栏按钮
通告消息:
菜单
CMENU
Getmenu()
Getsubmenu()
Checksubitem()
Setmenuitembitmaps()
Enablemenuitem()使菜单项变为不可使用状态。
Setmenu()
MFC菜单项命令更新机制:
Ccmdui-〉enable
Trackpopupmenu()显示右键弹出菜单
Createpopupmenu()
Appendmenu()添加动态菜单
Insertmenu()插入菜单项
动态添加的菜单项如何添加命令的响应?
重画菜单栏
Cwnd::Drawmenubar()
窗口重绘
Invalidate()
字符串数组
CStringArray
低,高字节续
LOWORD()
HIWORD()
获取当前视类的一个指针
Cframewnd::Getactiveview()
Getsystemmetrics()获取一些系统的信息。
获取窗口的文本
Cwnd::Getwindowtext()
获取对话框上面控件的指针
Cwnd::getdlgitem()
获取对跨框子控件的文本
Cwnd::Getdlgitemtext
屏幕坐标到客户区坐标的转换
交换和交验数据
Cwnd::dodataexchange()
获取文本的消息
Wm_gettext
给对话框的子控件发送消息
Senddlgitemmessage()
获取编辑控件选择的文本的消息
EM_GETSEL
设置编辑控件的选择文本(要注意设置焦点)setfocus()设置一个窗口的焦点。
EM_SETSEL
获取一个窗口的矩形区域
Cwnd::getwindowrect()
Cwnd::Setwindowpos()
窗口:
兄弟窗口,共享同一个父窗口的子窗口称为兄弟窗口
活动窗口,活动的窗口setactivewindow()激活一个窗口为活动窗口
前台窗口,后台窗口,应用程序是多线程的,当前线程的窗口称为前台窗口
Bringwindowtotop()把一个窗口放到窗口的顶部
改变一个指定窗口的属性(比如修改控件的消息处理函数)
Cwnd::Setwindowlong()
对话框消息WM_INITDIALOG,在对话框显示之前发送给一个对话框。
获取下一个控件的句柄
Getnextwindow()
获取窗口句柄的函数
Getwindow()
得到下一个控件的句柄
Getnextdlgtabitem()
移动控件的焦点
Getfocus()
Getnextdlgtabitem(getfocus())-〉setfocus()
创建属性表单
CPropertySheet在属性表单的构造函数中,调用addpage,cpropertypage添加属性页。
CPropertyPage
创建向导模式cpropertysheet::setwizardmode()
Setwizardbuttons()
Onwizardnext()虚函数,当下一步按钮被点击的时候调用。
向列表框添加数据clistbox
组合框ccombobox
向导消息onwizardfinish
获得当前应用程序的句柄
Afxgetinstancehandle()返回当前应用程序的一个实例句柄。
Afxregisterwndclass()设定一个窗口类的类型。
Clienttoscreen()转换客户区坐标到屏幕坐标
改变窗口类的属性,在窗口创建之后
Cwnd::Setclasslong();
资源ID号到字符指针的转换
MAKEINTRESOURCE()
窗口程序全局的APP获取
Afxgetapp()
重新调整工具栏的显示
Cframewnd::recalclayout()
显示工具栏
Cframewnd::showcontrolbar()
状态栏
Cstatusbar
设置状态栏上的文字:
CStatusbar:setpanetext()
Cstatusbar:commandtoindex()返回一个状态栏字符ID的索引
Cstatusbar:setpaneinfo()设置指示器面板的信息,比如宽度。
Cstatusbar:getitemrect()得到状态栏指定窗格的矩形区域。
Cstatusbar:setwindowtext()设置状态栏最左端的面板的字符
进度栏cprogressctrl
Cprogressctrl::
自定义消息
Sendmessage()直接把消息发送给消息响应函数
Postmessage()将消息发送到消息队列当中,立即返回
Cframewnd-〉setmessagetext()设置状态栏的文本
Cframewnd-〉getmessagebar()获取状态栏的一个指针
Cwnd::getdescendantwindow()按ID返回一个子孙窗口的指针
CBRUSH::fromhandle()转换一个画刷的对象为画刷的句柄
Getstockobject()得到一个系统定义的画刷。
颜色对话框
Ccolordialog
CHOOSECOLOR结构体
字体对话框
Cfontdialog
CHOOSEFONT结构体
LOGFONT结构体如何创建CFONT对象?
Cfont:createfontindirect()方法返回一个CFONT
切换到其他字体,首先应该释放cfont对象与某个字体相关
Cgdiobject::deleteobject()
编辑控件文本被改变发送的消息EN_CHANGE
改变对话框的背景色
消息:WM_CTLCOLOR
CWND:onctlcolor()
Cwnd::getctrldlgID()返回一个控件的ID
设置文字的背景模式
CDC::setbkmode()
改变单行的编辑控件的背景色?
CDC::setbkcolor()
改变button控件的字体和背景色
Cbutton::drawitem()
如何在一个窗口中显示一幅位图?
构造CBITMAP
创建兼容DC CDC::createcompatiabledc()
选择位图到兼容DC
将兼容DC中的位图贴到当前DC当中(cdc::bitblt())
窗口绘制的过程?
首先擦除窗口背景,然后对这个窗口进行重新绘制。
擦除窗口会发送WM_EARESEBKGND消息
Bitblt()按照1:1的比例拷贝位图。
Stretchblt()可以按照指定的比例压缩或拉伸位图。
得到位图的宽度和高度?
CBitmap::getbitmap()得到一个bitmap结构体BITMAP,里面包含位图的宽度和高度。
WM_DRAW在这个消息处理函数处改变位图的背景,当改变窗口的尺寸时会引起窗口背景的闪烁。
Cdialogbar
Cscrollview
Setscrollsizes()
映射方式
缩放,平移,旋转,斜切,反射。
坐标空间
世界坐标系空间,页面空间,设备空间,物理设备空间
应用程序利用世界坐标空间来完成,旋转,斜切,反射。
WIN32 应用程序把世界坐标系空间和页面空间作为逻辑空间
物理设备空间指应用程序窗口的客户区,完整的窗口,打印机的一页或绘图仪的一页纸。物理设备空间随设备的尺寸所变化。
Setworldtransform()用于把应用程序的映射从世界坐标空间开始。
窗口和视口,页面空间中的矩形被称为窗口,设备空间中的矩形被称为视口。物理空间表示客户区。
设备空间到物理空间的转换,只用于平移,就是把设备空间的原点移到物理空间的原点。
逻辑坐标和设备坐标
Windows必须将逻辑单位转换为设备单位。
Getdevicecaps()返回一些设备信息。
几乎所有的GDI函数都使用逻辑单位。
改变映射模式setmapmode()
在一个视图与一个文档关联完成之后调用
窗口创建完成之后调用的第一个函数oninitialupdate()
Onpreparedc()调整显示上下文的属性。随时根据滚动窗口的位置调整视口的原点。
Setviewpointorg()设置视口的原点
Setwindowsorg()设置窗口的原点
窗口中点击鼠标左键得到的是设备坐标。
DPTOLP()将设备点转换为逻辑点
设备坐标始终表示窗口的左上角。
保存图形和重绘图形?
CMetafileDC
Deletemetafile()删除源文件的句柄
Copymetafile()拷贝一个windows格式的源文件到一个文件
Getenhmetafile()得到一个源文件的句柄。
利用兼容DC保存用户所画的图形?
首先创建一个兼容DC
创建一个兼容位图
CBitmap::createcompatiblebitmap()
在ondraw函数中,将兼容DC拷贝进
文件操作
MFC CFILE类
C++,ifstream,ofstream
WIN32 fopen,fwrite,fread
写注册表
Writeprofilestring()
Getprofilestring()
Regcreatekey()
Regsetvalue()
Regsetvalueex()
Regclosekey()
Regqueryvalue()获取注册表项的值。
Regopenkey()打开注册表项
Regqueryvalueex()得到一个表项的值。
【文档与串行化】
Carchive类
首先创建一个CFILE,然后把CFILE与CARCHIVE结合,利用CARCHIVE的输入输出流进行文件的输入输出。
【CDOCTEMPLATE】
IDR_MAINFRAME中七个字串的含义。
CDOCTEMPLATE::WindowTitle 主窗口标题栏上的字符串
CDOCTEMPLATE::DOCNAME 缺省文档的名称
CDOCTEMPLATE::filenewname 文档类型的名称
CDOCTEMPLATE::FILTERNAME 文档类型的描述和适用于此类型的通配符过滤器
CDOCTEMPLATE::FILTEREXT 文档的扩展名
CDOCTEMPLATE::REGFILETYPEID 如果以::registershellfiletypes()向系统注册表注册新的文件类型,那么该值将出现在HEY_CLASSES_ROOT下。
CDOCTEMPLATE::REGFILETYPENAME 这是存储在注册表内的文件类型的名称。
文档类中获得视类的指针
Getfirstviewposition()
Getnextview()得到一个视图的指针。
在单文档应用程序中,当打开和新建一个文件时会调用CDOCUMENT::deletecontents()
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tiefeng/archive/2008/11/27/3392867.aspx