zoukankan      html  css  js  c++  java
  • WM_IDLEUPDATECMDUI与CView

    CFrameWnd貌似会向其CView子窗口(从CWnd继承的子窗口也适用)发生此消息, 子窗口可以响应该消息来更新一些按钮控件的状态. ex:

    #pragma once
    // CWelcomeView

    class CWelcomeWnd : public CWnd
    {
    public:
        CWelcomeWnd();
        virtual ~CWelcomeWnd();

    protected:
        DECLARE_MESSAGE_MAP()

        afx_msg  void OnIdleUpdateCmdUI();  

    };

    // WelcomeView.cpp : 实现文件
    //

    #include "stdafx.h"
    #include "WelcomeView.h"
    #include "afxpriv.h"

    #ifdef _DEBUG
    #define new DEBUG_NEW
    #undef THIS_FILE
    static char THIS_FILE[] = __FILE__;
    #endif

    // CWelcomeView

    CWelcomeView::CWelcomeView()
    {

    }

    CWelcomeView::~CWelcomeView()
    {
    }

    BEGIN_MESSAGE_MAP(CWelcomeView, CWnd)
        ON_MESSAGE_VOID(WM_IDLEUPDATECMDUI, OnIdleUpdateCmdUI)
    END_MESSAGE_MAP()

    // CWelcomeView 消息处理程序

    afx_msg void CWelcomeView::OnIdleUpdateCmdUI()
    {
        BOOL bEnabled = FALSE;

        // 树形控件弹出菜单

        // 导入导出
        bEnabled = (m_nCurrTag == TAG_SIM1 ||
                    m_nCurrTag == TAG_SIM2 ||
                    m_nCurrTag == TAG_ME);
        m_wndDropBtnImpExp.EnableCommand(IDC_IMPEXP,    bEnabled);
        m_wndDropBtnImpExp.EnableCommand(IDC_IMPCSV,    bEnabled);
        m_wndDropBtnImpExp.EnableCommand(IDC_IMPVCARD,    bEnabled);
        m_wndDropBtnImpExp.EnableCommand(IDC_EXPCSV,    bEnabled);
        m_wndDropBtnImpExp.EnableCommand(IDC_EXPVCARD,    bEnabled);

        // 复制粘贴
        bEnabled = (m_nCurrTag == TAG_SIM1 ||
                    m_nCurrTag == TAG_SIM2 ||
                    m_nCurrTag == TAG_ME   ||
                    m_nCurrTag == TAG_LOCAL);
        bEnabled &= (m_wndPbList.GetSelectedCount() > 0);
        m_wndDropBtnCopySave.EnableCommand(IDC_COPY1, bEnabled);
        m_wndDropBtnCopySave.EnableCommand(IDC_CUT1, bEnabled);

        bEnabled = (m_nCurrTag == TAG_SIM1 ||
            m_nCurrTag == TAG_SIM2 ||
            m_nCurrTag == TAG_ME   ||
            m_nCurrTag == TAG_LOCAL);
        bEnabled &= (m_clipboard.size() > 0);
        m_wndDropBtnCopySave.EnableCommand(IDC_PASTE1, bEnabled);

        // 删除
        bEnabled = (m_wndPbList.GetSelectedCount() > 0);
        m_wndBtnDelete.EnableWindow(bEnabled);

        // 同步
        bEnabled = (m_nCurrTag == TAG_SIM1 ||
            m_nCurrTag == TAG_SIM2 ||
            m_nCurrTag == TAG_ME);
        m_wndBtnSync.EnableWindow(bEnabled);

        // 刷新
        //bEnabled = (m_nCurrTag == TAG_SIM1 ||
        //    m_nCurrTag == TAG_SIM2 ||
        //    m_nCurrTag == TAG_ME);

        // 添加
        bEnabled = (m_nCurrTag == TAG_SIM1 ||
            m_nCurrTag == TAG_SIM2 ||
            m_nCurrTag == TAG_ME);
        m_wndPbList.EnableTopButton(TOP_COMMAND_ADD, bEnabled);

    }

  • 相关阅读:
    unity UGUI实现类似NGUI切换Sprite的方式
    商业智能系统在税务行业的应用
    MSRDS机器人仿真软件学习资源汇总
    Emotiv脑电设备与RDS机器人仿真初步测试
    unity使用UGUI创建摇杆
    如何利用FineBI做财务分析
    Android4.2.2源码目录结构分析
    一个前端妹子的悲欢编程之路
    推荐一款优雅高效的免费在线APP原型工具
    数据分析概述和理论基础
  • 原文地址:https://www.cnblogs.com/hcfalan/p/1886721.html
Copyright © 2011-2022 走看看