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

  • 相关阅读:
    关于二叉树遍历的一点想法
    Mysqldump导入数据库很慢的解决办法
    javascript笔记收集
    再次讨论二叉树--如何根据先序和中序推选后序
    一道图的题目-拓扑序概念
    一道哈夫曼二叉树题目--稍微容易一点
    一道哈夫曼树的题目--好不容易
    证明二叉树节点数公式
    一道二叉树题目---顺序存储二叉树位置同层的关系
    POJ 3253 Fence Repair(贪心)
  • 原文地址:https://www.cnblogs.com/awen/p/1295214.html
Copyright © 2011-2022 走看看