天天看点

WTL_代码使用 流程

普通函数 流程

WTL_代码使用 流程
1
   . 添加 
   "
   头文件
   "
   

   2
   . 继承 
   "
   类“
   

   3
   . 使用相应代码
        
WTL_代码使用 流程

control 流程

WTL_代码使用 流程
1. 引入"atlddx.h"
  
  
   2. 继承CWinDataExchange<self_class>
  
  
   3. 声明BEGIN_DDX_BEGIN(self_class)
  
  
   4. 自定义control_class类, 继承对应control_class
  
  
   5. 声明自定义类对象control_object
  
  
   6. 使用DDX_CONTROL(CONTROL_ID, control_object)
  
  
   7. Initial中 启动DoDataExachange(DDX_LOAD)初始化连接
        
WTL_代码使用 流程

notify 流程

WTL_代码使用 流程
1
   .  父窗口需要继承自 CWindowImpl

   2
   .  父窗口使用BEGIN_MSG_MAP_EX

   3
   .  父窗口添加 REFLECT_NOTIFICATIONS()

   4
   .  子窗口接收MSG_OCM_DRAWITEM(OnReflectedDrawItem)

   5
   .  子窗口添加DEFAULT_REFLECTION_HANDLER() 默认处理
        
WTL_代码使用 流程

custom draw 流程

WTL_代码使用 流程
1
   . REFLECT_NOTIFICATIONS()


   1
   . 继承CCustomDraw
   <
   CBuffyTreeCtrl
   >
   

   2
   . (
   1
   )REFLECTED_NOTIFY_CODE_HANDLER_EX(TVN_ITEMEXPANDING, OnItemExpanding)
   (
   2
   )MSG_OCM_DRAWITEM(OnDrawItem)<- 由MSG_MSG_DRAWITEM转化来
  
  
     
        
WTL_代码使用 流程

ActiveX control 流程

WTL_代码使用 流程
1
   . 
   "
   atlcom.h
   "
    
   "
   atlhost.h
   "
   

   2
   .  继承public CAxDialogImpl
   <
   CMainDlg
   >
   

   3
   .  初始化AtlAxWinInit();

   4
   .  最好传给_Module.Init(NULL, hInstance, 
   &
   LIBID_ATLLib);

   使用
        
WTL_代码使用 流程

列表

reflect 消息 : 18个

WTL_代码使用 流程
这里列举了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_代码使用 流程

WTL控件 : X

WTL_代码使用 流程
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, CIPAddressCtrl
  
  
   o  普通控件(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)
        
WTL_代码使用 流程

Custom Draw控件 : 7个 

WTL_代码使用 流程
Header controls
List
   -
   view controls
Rebar controls
Toolbar controls
Tooltip controls
Trackbar controls
Tree
   -
   view controls
        
WTL_代码使用 流程

继续阅读