普通函数 流程
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_LOAD)初始化连接
notify 流程
1 . 父窗口需要继承自 CWindowImpl 2 . 父窗口使用BEGIN_MSG_MAP_EX 3 . 父窗口添加 REFLECT_NOTIFICATIONS() 4 . 子窗口接收MSG_OCM_DRAWITEM(OnReflectedDrawItem) 5 . 子窗口添加DEFAULT_REFLECTION_HANDLER() 默认处理
custom draw 流程
1 . REFLECT_NOTIFICATIONS() 1 . 继承CCustomDraw < CBuffyTreeCtrl > 2 . ( 1 )REFLECTED_NOTIFY_CODE_HANDLER_EX(TVN_ITEMEXPANDING, OnItemExpanding) ( 2 )MSG_OCM_DRAWITEM(OnDrawItem)<- 由MSG_MSG_DRAWITEM转化来
ActiveX control 流程
1 . " atlcom.h " " atlhost.h " 2 . 继承public CAxDialogImpl < CMainDlg > 3 . 初始化AtlAxWinInit(); 4 . 最好传给_Module.Init(NULL, hInstance, & LIBID_ATLLib); 使用
列表
reflect 消息 : 18个
这里列举了18个可以反映的消息: o Control notifications: WM_COMMAND, WM_NOTIFY, WM_PARENTNOTIFY o Owner drawing: WM_DRAWITEM, WM_MEASUREITEM, WM_COMPAREITEM, WM_DELETEITEM o List Box keyboard messages : WM_VKEYTOITEM, WM_CHARTOITEM o Others: WM_HSCROLL, WM_VSCROLL, WM_CTLCOLOR *
WTL控件 : X
o 用户控件: CStatic, CButton, CListBox, CComboBox,CEdit, CScrollBar, CDragListBox o 普通控件: CImageList, CListViewCtrl (CListCtrl in MFC),CTreeViewCtrl (CTreeCtrl in MFC), CHeaderCtrl,CToolBarCtrl,CStatusBarCtrl, CTabCtrl, CToolTipCtrl, CTrackBarCtrl (CSliderCtrl in MFC),CUpDownCtrl(CSpinButtonCtrl in MFC), CProgressBarCtrl, CHotKeyCtrl,CAnimateCtrl, CRichEditCtrl, CReBarCtrl, CComboBoxEx,CDateTimePickerCtrl,CMonthCalendarCtrl, CIPAddressCtrlo 普通控件(MFC中没有的): CPagerCtrl, CFlatScrollBar, CLinkCtrl o 这里还有一些 WTL - Specific 类:CBitmapButton, CCheckListViewCtrl (list view control with check boxes),CTreeViewCtrlEx andCTreeItem (used together, CTreeItem wraps an HTREEITEM),CHyperLink (clickable hyperlink, available on all OSes)
Custom Draw控件 : 7个
Header controls List - view controls Rebar controls Toolbar controls Tooltip controls Trackbar controls Tree - view controls