zoukankan      html  css  js  c++  java
  • 初次使用WUI

    呜,这东东看上去真美,但在实际中用起来却有一大堆问题,调试,调试……

    1.头文件顺序:
    #include <atlbase.h>
    #include <atlapp.h>
    #include <atlmisc.h>

    #include <atlcom.h>
    #include <atlhost.h>
    #include <atlwin.h>
    #include <atlframe.h>
    #include <atlctrls.h>
    #include <atldlgs.h>
    #include <atlctrlw.h>
    #include <atlctrlx.h>
    #include <commctrl.h>

    //不知干什么用的,注释掉似乎还能跑
    //#include "atlgdix.h"
    #include <wuilib.h>

    2.不能包含<windowsx.h>否则会有SubclassWindow宏少参数以及其它并发问题,有时真让人摸不着头脑。
    3.实作一个PP的对话框:
    (1)基类:
    class CLogin :
    public CDialogImpl<CLogin>, public CUpdateUI<CLogin>,
      public CMessageFilter, public CIdleHandler
    (2)
     enum { IDD = IDD_LOGIN};

     virtual BOOL PreTranslateMessage(MSG* pMsg)
     {
      return IsDialogMessage(pMsg);
     }

     virtual BOOL OnIdle()
     {
      return FALSE;
     }

     BEGIN_UPDATE_UI_MAP(CMainDlg)
     END_UPDATE_UI_MAP()

     BEGIN_MSG_MAP(CLogin)
      COMMAND_HANDLER(IDC_RADIO2, BN_CLICKED, OnBnClickedRadio2)
      REFLECT_NOTIFICATIONS()
     END_MSG_MAP()

    (3)成员变量
    private:
     WUI::CWUIButton<WUI::XPTraits, RGB(128, 128, 128)> m_OK;
     WUI::CWUIButton<WUI::XPTraits, RGB(128, 128, 128)> m_Cancel;
    (4)初始化的时候(OnInitDialog):
     m_OK.SubclassWindow(GetDlgItem(IDC_LOGIN));
     m_Cancel.SubclassWindow(GetDlgItem(IDCANCEL));

    好了,你现在有PP的对话框按钮了,要美化其它控件也就加加成员变量,再SubclassWindow一下就可以了。

  • 相关阅读:
    shp转geojson
    Vue如何使用$refs
    Cesium加载轨迹
    Nodejs调用Python函数时传递参数
    JavaScript字符串截取:截取'final:'之后的字符串,然后再按照“,”分割。。
    Cesium平移操作
    架空输电线路障碍物巡检的无人机低空摄影测量方法研究
    cesium沿着路线飞行
    业界常用四种命名法则
    电脑优化
  • 原文地址:https://www.cnblogs.com/huqingyu/p/43268.html
Copyright © 2011-2022 走看看