zoukankan      html  css  js  c++  java
  • 如何让模态对话画框达到非模态对话框 焦点无限制效果

    在开发CAD的插件时,创建一个图形区上的 模态对话框,其中设置了一个按钮触发效果是隐藏对话框,从而让用户在CAD图形区操作,操作结束后再显示回对话框。

    一开始直接用ShowWindow(SW_HIDE),发现对话框隐藏后 ,焦点也不见了,无法在图形区显示鼠标 。

    后来 将创建模态对话框改为 非模态对话框,如下:

    // 原先的创建模态对话框
    GalpDialogWindowTemplateSelect dlg(m_winID);
    if (IDOK == dlg.DoModal())
    {
    return;
    }
    else
    {
    return;
    }

    // 更改为创建非模态对话框,此时需要用new创建,否则没效果。

    GalpDialogWindowTemplateSelect* dlg = new GalpDialogWindowTemplateSelect(m_winID);
    if (IDOK == dlg->Create(IDD_DIALOG_WindowTemplateSelect))
    {
    return;
    }
    else
    {
    return;
    }

    然后之前的功能就可以了。

    当然,还有一种方法:

    ShowWindow(SW_HIDE);

    CWnd* parent = GetParent();
    if(parent)
    {
    parent->EnableWindow(TRUE);
    }
    CWnd* pMainWnd = AfxGetMainWnd();
    if (pMainWnd)
    {
    pMainWnd->EnableWindow(TRUE);
    }

  • 相关阅读:
    PL/SQL会遇到中文插入乱码问题、数据显示不全
    PL/SQL数据生成器
    编程小案例
    MySql案例收集
    关于PL/SQL的安装配置
    Android 歌词桌面同步显示
    DataGridView控件使用大全
    flex java 交互
    Android Launcher 全面剖析
    Android adb 命令
  • 原文地址:https://www.cnblogs.com/linyilong/p/5193067.html
Copyright © 2011-2022 走看看