zoukankan      html  css  js  c++  java
  • 《原創》實現禁止 WTL CTabView 中標籤的拖曳行為。 (Disable Dragging Operation of CTabView)

    1. Abstract

    如何禁止WTL CTabViewTabDragging行為?

     

    2. Introduction

    因在專案中使用Tab的功能去進行頁面的分類,但是卻又不希望使用者改變Tab的順序。經過對 CTabViewImpl 這個ClassTrace之後發現 CTabViewImplDragging行為的處理分配在 dwMsgMapId == 1的這個 Message Map分流中,所以只要Pending掉這個 MessageMap就可以達到我們要的功能了。


    相關做法如下:


    Step 1:

    先繼承 CTabViewImpl

    (class CCustomTabView : public CTabViewImpl<CCustomTabView> ….. )

     

    Step 2:

    依照WTL編寫慣例加上 BEGIN_MSG_MAP(CCustomTabView) END_MSG_MAP() Macros.

     

    Step 3:

    CCustomTabViewMessage Map Macros 中加入 CHAIN_MSG_MAP(CTabViewImpl<CCustomTabView>) ALT_MSG_MAP(1) 這樣就可以完成我們所需要的功能了。

     

    Sample

     1 class CCustomTabView : public CTabViewImpl<CCustomTabView>
     2 {
     3 public:
     4     DECLARE_WND_CLASS_EX(_T("CCustomTabView"), 0, COLOR_APPWORKSPACE)
     5 
     6     BEGIN_MSG_MAP(CCustomTabView)
     7         CHAIN_MSG_MAP(CTabViewImpl<CCustomTabView>//粉重要讓dwMsgMapID == 0的消息分流可以繼續處理
     8         ALT_MSG_MAP(1)                                                            //Disable Draging
     9     END_MSG_MAP()
    10 
    11 ---- 略 ----
    12 };
    13 


     

    3. Conclusion

    未來可以在 dwMsgMapID == 1這個分流上實作 Switch的方式來 Enable/Disable Dragging行為。

     

    4. Reference

    NULL

  • 相关阅读:
    ZJU_1145 OR POJ_1100 Dreisam Equations
    数据结构基础之队列
    The New Villa
    Mission Impossible 6
    数据结构基础之栈
    POJ_1185_炮兵阵地 dp+状态压缩
    (转载)Dig命令的用法
    (转载)服务发现系统etcd介绍
    golang 导入包
    1.4方程求根之弦截法
  • 原文地址:https://www.cnblogs.com/awen/p/1295214.html
Copyright © 2011-2022 走看看