摘要:1. 加头#ifndef STRICT#define STRICT#endif#define WIN32_LEAN_AND_MEAN#ifndef WINVER //Allow use of features specific to Windows 95 and Windows NT 4 or later.#define WINVER 0x0500#endif#ifndef _WIN32_WINNT //Allow use of features specific to Windows NT 4 or later.#define _WIN32_WINNT 0x0501#endif #ifnde
阅读全文
摘要:这篇文章介绍了如何 将WTL加入到MFC中, 但是却非完全加入。因为WTL的atlctrls.h文件并没有加入到MFC,atrlctrls.h文件包含了WTL/ATL的大部分最有价值的控件,所以本文参考加以一般, 但标题却没有明确指出(所以很吸引我读完了本文),在”stdafx.h”中增加#define _WTL_NO_AUTOMATIC_NAMESPACE避免WTL头文件建立全局的WTL命名空间。避免WTL的CRect, CDC与MFC的冲突。2.#include <atlbase.h>#include <atlapp.h>extern WTL::CAppModule
阅读全文
摘要:流程普通函数 流程1. 添加 "头文件"2. 继承 "类“3. 使用相应代码control 流程1. 引入"atlddx.h"2. 继承CWinDataExchange<self_class>3. 声明BEGIN_DDX_BEGIN(self_class)4. 自定义control_class类, 继承对应control_class5. 声明自定义类对象control_object6. 使用DDX_CONTROL(CONTROL_ID, control_object)7. Initial中 启动DoDataExachange(DDX
阅读全文
摘要:Introduction to Part V之前看了一些 WTL Dialog和Control相关内容。这章看一些更高级的UI特征: Owner draw 和 custom draw, 新WTL control, UI updating, dialog data validation.Specialized Owner Draw and Custom Draw Classes专用的Owner Draw 和 Custom Draw 类。UI中这两个很常用, 接下来会逐一讲解。COwnerDrawOwnerDraw处理4个信息:<atlframe.h>WM_MEASUREITEM, W
阅读全文
摘要:普通消息 MSGBEGIN_MSG_MAP( class )MESSAGE_HANDLERCOMMAND_HANDLERREFLECTED_COMMAND_HANDLER_EXNOTIFY_HANDLERREFLECTED_NOTIFY_HANDLER_EXMSG_WM_XXXXXEND_MSG_MAP()控件消息BEGIN_DDX_MAP( class )DDX_CONTROL( ID, object)DDX_TEXT( ID, m_edit(or checkbox) )END_DDX_MAP()UI消息BEGIN_UPDATE_UI_MAP(CMainFrame)UPDATE_ELEMEN
阅读全文
摘要:WindowsWS_BORDER 细边框WS_DLGFRAME 有边框,没标题栏WS_SIZEBOX 缩放边框WS_THICKFRAME 同缩放边框WS_CAPTION 标题栏WS_HSCROLL 滚动条WS_VSCROLL 滚动条WS_MAXIMIZE 最小化WS_MINIMIZEBOX 只有最小化WS_MAXIMIZEBOX 最大化WS_SYSMENU 系统栏WS_DISABLED 窗口创建完, 以无效开启WS_MINIMIZE 创建完最小化显示WS_VISIBLE 以可见显示WS_POPUP 弹出窗口 无边框 不能是WS_CHILDWS_POPUPWINDOW 弹出窗口 有边框 WS_C
阅读全文
摘要:.subclass m_hwnd = hwnd + SetWindowsClass(WND_PROC) 可使用 句柄相关函数 + 过滤窗口函数.attach m_hwnd = hwnd 以后可以用 所有 句柄相关函数 了.
阅读全文
摘要:Introduction to Part IV对话框 和 控件 是一个区域 MFC确实用这个东西提高了工作效率。 如果没有MFC的控件类,你可能陷入 组织和书写SendMessagel来调用管理控件。MFC总是提供Dialog data exchange(DDX), 这种方法在 variable 和 controls 之间 传递数据。WTL支持所有这些特征, 别且 对那些常用的控件 还增强了其功能。 这篇文章,我们会看到一个基于Dialog的app,并且更多的WTL message-handing enhancements。Advanced UI features 和 new controls
阅读全文
摘要:statue bar ^ How to use the WTL multipane status bar control ^ http://www.codeproject.com/KB/wtl/multipanestatusbar.aspxDialog & Control ^ WTL for MFC Programmers ^ http://www.codeproject.com/KB/wtl/wtl4mfc4.aspx
阅读全文
摘要:Toolbars and Status Bars in a FrameCFrameWindowImplonly supports one toolbar |no equivalent to the MFC system of multiple dockable toolbarsIf you need more than one toolbar : 1.hack around inCFrameWindowImplinternalsToolBarCreateSimpleToolBarUIAddToolBarUISetCheck(ID_VIEW_TOOLBAR, 1)UIUpdateToolBar(
阅读全文
摘要:Introduction to Part II好的, 是时间开始谈论WTL了! 这部分会涵盖:基本的main frame window写法, 涵盖一些WTL改进的特性。例如:ui更新, 良好的消息映射WTL OverviewCFrameWindowImpl, CMDIFrameWindowImplCButton, CListViewCtrlCDC, CMenuCSplitterWindow, CUpdateUI, CDialogResize, CCustomDrawCString, CRect, BEGIN_MSG_MAP_EX这章会较深入的讲解 框架窗口, UI特征, 实用工具类。多数是独立
阅读全文
摘要:WTL for MFC Programmers, Part I - ATL GUI ClassesREADME.TXTWTL的使用环境: vc2005 Express和vc6的用户需要注意, 文章是wtl7.1在vc6.0-7.0下测试的, vc7.0-8.0下未知.WTL的前提知识: windows API, MFC, 消息处理, c++模板类, ATL类等.Introduction to the SeriesWTL有很多强悍的MFC's GUI类, 但是WTL程序更小。如果你像我一样学习过MFC的GUI,那么你将很容易使用WTL中这些缩水了的控件,像MFC的消息过滤机制。如果你想我
阅读全文