
MFC
Narvik
这个作者很懒,什么都没留下…
展开
-
VC++第九章
修改应用程序窗口的外观第一:在窗口创建之前设置 在MainFrame类的PreCreateWindow成员函数中进行.即对函数的形参cs进行设置. 注:cs是CREATETRUCT结构.CREATESTRUCTtypedef struct tag CREATESTRUCT{ LPVOID lpCreateParams; HANDLE hInstance;原创 2013-05-06 13:36:51 · 729 阅读 · 0 评论 -
WM_PAINT详解
WM_paint详解 http://blog.sina.com.cn 2007年02月15日17:43 7456wg标签:WM_PAINT是Windows窗口系统中一条重要的消息,应用程序通过处理该消息实现在窗口上的绘制工作。1.系统何时发送WM_转载 2013-07-24 13:26:35 · 685 阅读 · 0 评论 -
OnCreate 函数的说明
百科:OnCreate是一个消息响应函数,是响应WM_CREATE消息的一个函数,而WM_CREATE消息是由Create函数调用的。 在view类中,Create 是虚函数由框架调用,是用来“生成一个窗口的子窗口”。 而OnCreate 函数是用来“表示一个窗口正在生成”。 一个窗口创建(Create)之后,会向操作系统发送WM_CREATE消息,OnCreate()转载 2013-06-25 15:08:13 · 2281 阅读 · 0 评论 -
GDI坐标系之间的关系
设置坐标映射(1)Windows坐标系统Windows坐标系分为逻辑坐标系和设备坐标系两种,GDI支持这两种坐标系。一般而言,GDI的文本和图形输出函数使用逻辑坐标,而在客户区移动或按下鼠标的鼠标位置是采用设备坐标。逻辑坐标系是面向DC的坐标系,这种坐标不考虑具体的设备类型,在绘图时,Windows会根据当前设置的映射模式将逻辑坐标转换为设备坐标。设备坐标系是面向物理设转载 2013-06-25 16:07:39 · 1160 阅读 · 0 评论 -
设备坐标和逻辑坐标
要用到两个函数:CDC::LPtoDP 将逻辑坐标转换为设备坐标CDC::DPtoLP 将设备坐标转换为逻辑坐标 设备坐标(Device Coordinate)又称为物理坐标(Physical Coordinate),是指输出设备上的坐标。通常将屏幕上的设备坐标称为屏幕坐标。设备坐标用对象距离窗口左上角的水平距离和垂直距离来指定对象的位置,是以像素为单位来表示的,转载 2013-06-25 15:54:15 · 653 阅读 · 0 评论 -
文件夹浏览(SHBrowseForFolder)
一.首先要为SHBrowseForFolder准备一个结构体BROWSEINFOtypedef struct _browseinfoW { HWND hwndOwner; PCIDLIST_ABSOLUTE pidlRoot; LPWSTR pszDisplayName; // Return display name of ite转载 2013-05-12 00:16:27 · 848 阅读 · 0 评论 -
BROWSEINFO结构体
BROWSEINFO的结构如下:typedef struct _browseinfo { HWND hwndOwner; // 父窗口句柄 LPCITEMIDLIST pidlRoot; // 要显示的文件夾的根(Root) LPTSTR pszDisplayName;转载 2013-05-11 15:38:41 · 720 阅读 · 0 评论 -
第三章
看一下CTestApp的源文件,可以发现程序中定义了一个CTestApp类型的全局对象。/////////////////////////////////////////////////////////////////////////////// The one and only CTestApp objectCTestApp theApp; 我们发现程序执行的顺序依次是原创 2013-05-07 15:10:00 · 482 阅读 · 0 评论 -
windows程序
#include #include LRESULT CALLBACK WinSunProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi原创 2013-05-07 14:10:57 · 544 阅读 · 0 评论 -
文本编程
创建文本插入符 首先创建创建一个单文档的MFC AppWizard(exe)工程,取名为Text。在文本中创建插入符,可以利用CWnd类的CreateSolidCaret()函数来完成。为CTextView添加WM_CREATEint CTextView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate原创 2013-05-07 17:13:24 · 653 阅读 · 0 评论 -
窗口类,窗口类对象与窗口
窗口创建时都会产生WM_CREATE消息,CMainFrame提供一个OnCreate函数,该函数是用来响应这条窗口创建消息的。在OnCreate函数return语句签添加如下代码 CButton btn; btn.Create("按键",WS_CHILD|BS_DEFPUSHBUTTON,CRect(0,0,100,100),this,123); 我们发现按钮并没有显示出原创 2013-05-07 15:57:28 · 911 阅读 · 0 评论 -
在状态栏上显示鼠标当前位置
想要获取鼠标的当前位置,就需要捕获它。这里需要注意的是:视类窗口始终覆盖在框架类窗口之上,所以如果想要捕获与鼠标相关的消息,应该在视类中完成。因此,我们可以为CstyleView类添加WM_MOUSEMOVE消息的响应函数。但是这里遇到一个问题:m_wndstatusBar是框架类窗口的成员变量,我们在视类中应该如何调用它呢。我们可以用GetParent()函数获取父类的指针,因为视类的父类正是框原创 2013-05-07 10:15:28 · 1830 阅读 · 1 评论 -
进度栏编程
当窗口尺寸发生变化时,窗口会发生一个重绘,于是会发生一个WM_PAINT消息,为CMainFrame类添加WM_PAINT消息的响应函数OnPaint,而且当窗口第一次显示时,就会调用OnPaint函数。 void CMainFrame::OnPaint() { CPaintDC dc(this); // device context for painting // TOD原创 2013-05-07 09:26:00 · 672 阅读 · 0 评论 -
C++命名规则【转】
C++以及MFC的命名规则基本上是符合匈牙利命名法的,匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。 举例来说,表单的名称为form,那么在匈牙利命名法中可以简写为frm,则当表单变量名称为Switchboard时,转载 2013-07-26 16:52:08 · 626 阅读 · 0 评论