DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2013年4月27日

摘要: MFC 分割窗体(Splitter Windows)<reference MSDN Microsoft Foundation Class Library and Templates TNO 029>文档描述MFC中的CSplitterWnd类,该类用来支持窗体的分割和管理分割后每一个子窗格(pane)的大小1 分割窗体风格(Splitter Styles)CSplitterWnd类支持2种不同风格的分割窗口1.1 静态分割(static splitter)分割的窗格(pane)在分割窗体(splitter window;)创建时创建,而且顺序,数量不会变化,分割控制条(Splitt 阅读全文
posted @ 2013-04-27 20:48 DoubleLi 阅读(1434) 评论(0) 推荐(0)

摘要: MFC中对话框的数据交换(DDX)和数据校验(DDV)<reference MFC TNO 26>DDX : dialog data exchangeDDV : dialog data validation文档描述MFC中的DDX DDV机制,如何使用DDX_和DDV_ 函数和定制自己的DDX_ ,DDV_函数;Dialog Data Exchange概要:对话框的数据交换不依赖于任何宏来实现,全部依赖于C++代码实现,唯一特别之处在于每一个对话框如果想处理自己的数据交互必须重载一个虚函数void CMyDialog::DoDataExchage(CDataExchage* pDX 阅读全文
posted @ 2013-04-27 20:47 DoubleLi 阅读(1191) 评论(0) 推荐(0)

摘要: MFC相关技术说明:<可参阅MSDN MFC TNO 3>Mapping of Windows Handles to ObjectsMFC对象与Win32 SDK句柄的映射关系说明: MFC使用C++对象封装Win32句柄(操作系统资源调度单元 HANDLE),所以在概念上一定要把MFC中的关于C++对象和WIN32句柄对象的概念区分开来,以下讨论就是MFC C++对象如何封装关联句柄相关函数与技术:1 FromHandle()FromHandle(HANDLE handle);//MFC 类成员的静态方法用于创建一个与句柄关联临时有效的MFC对象ie:CWnd *pWnd = C 阅读全文
posted @ 2013-04-27 20:46 DoubleLi 阅读(462) 评论(0) 推荐(0)

摘要: MFC相关技术说明:<可参阅MSDN MFC TNO 5>MFC 中通过通过不同于SDK的switch的方法来处理WINDOWS消息,由消息映射表(Message Map)和虚函数多态来处理指定的窗体消息1 声明一个消息映射表(Message Map)在能处理消息的类中中添加宏DECLARE_MESSAGE_MAP()注 深入浅出MFC中有更详尽系统的概述 这里只介绍几个宏定义这个宏实现了3个功能:1 私有数据成员声明 AFX_MESSAGEMAP_ENTRY _messageEntries;数组2 保护数据成员声明 AFX_MESSAGE_MAP _messageMap指向_me 阅读全文
posted @ 2013-04-27 20:45 DoubleLi 阅读(775) 评论(0) 推荐(0)

摘要: MFC 定制控件(Customize Control) 及 MFC CWnd和WIN32 HWND关联方法<参考资料 MSDN MFC TNO 15>文档将概述MFC中定制自定义控件的3种方法:拥有者绘制控件(Owner Drawing Control and Menu) 自绘制控件(self drawing control and menu) 和子集化(subclass)1 使用MFC方法定制控件必备的几个基本概念:控制定制风格的控件的几个标准Windows消息:WM_MEASUREITEMWM_COMPAREITEMWM_DELETEITEMWM_DRAWITEM消息的详细说明 阅读全文
posted @ 2013-04-27 20:44 DoubleLi 阅读(811) 评论(0) 推荐(0)

摘要: 为了避免同一个文件被include多次,C/C++中有两种方式,一种是#ifndef方式,一种是#pragma once方式。在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。 方式一: #ifndef __SOMEFILE_H__ #define __SOMEFILE_H__ ... ... // 声明、定义语句 #endif 方式二: #pragma once ... ... // 声明、定义语句 #ifndef的方式受C/C++语言标准支持。它不光可以保证同一个文件不会被包含多次,也能保证内容完全相同的两个文件(... 阅读全文
posted @ 2013-04-27 15:34 DoubleLi 阅读(3816) 评论(0) 推荐(1)

摘要: tsvn 带有一个命令行程序 subwcrev.exe. 可以对一个指定文件进行一些宏替换, 比如: 将 $WCREV$ 替换成当前版本号. 这个是最有用的. 详细帮助见http://tortoisesvn.net/docs/nightly/TortoiseSVN_zh_CN/tsvn-subwcrev-keywords.html 以 vc6 为例, 文件的版本信息保存在 rc 文件. 编译成 res 文件, 然后和其他 obj 一起 link. 现在的思路就是. 编辑 rc 文件, 将版本号比如 2.2.4.0 改成 2.2.4.$WCREV$, 在每次 link 之前, 先用 subwc. 阅读全文
posted @ 2013-04-27 09:12 DoubleLi 阅读(637) 评论(2) 推荐(0)