精华内容
下载资源
问答
  • 弹出dialog对话框按钮在外
  • MFC 点击一个对话框按钮弹出另一个对话框 vs2010中 1.在资源中添加一个对话框 右击Dialog | Insert dialog 2.在对话框上添加自己需要的按钮等控件 3.双击控件会出现一个对话框,为添加的对话框命名一个类名,...

    MFC 点击一个对话框按钮弹出另一个对话框
    vs2010中
    1.在资源中添加一个对话框 右击Dialog | Insert dialog
    2.在对话框上添加自己需要的按钮等控件
    3.双击控件会出现一个对话框,为添加的对话框命名一个类名,例如Dlg2 自动生成.cpp和.h文件
    4.在第一个对话框的.cpp文件中包含上面生成的那个.h文件
    5.在第一个对话框的按钮的响应函数中添加
    Dlg2 dlg2;
    dlg2.DoModal();
    那么点击第一个对话框的那个按钮时,就会弹出第二个对话框.
    另外介绍一下DoModa,DoModal负责对模态话框的创建和撤销。在创建对话框时,DoModal的任务包括载入对话框模板资源、调用OnInitDialog初始化对话框和将对话框显示在屏幕上。完成对话框的创建后,DoModal启动一个消息循环,以响应用户的输入。由于该消息循环截获了几乎所有的输入消息,使主消息循环收不到对对话框的输入,致使用户只能与模态对话框进行交互,而其它用户界面对象收不到输入信息。
    要建立非模态对话框需要调用两个函数Create()和ShowWindow()。

    原文:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=29121609&id=3883371

    展开全文
  • 一个基对话框的程序,目的是:点击父对话框下按钮在给定的区域弹出子对话框A,点击子对话框A的一个按钮弹出另外一个对话框a,A和a都是非模态的对话框,A对话框选择下层,在弹出A对话框的时候我的做法是使用CRect得到...
  • 列表长按,弹出对话框按钮,谢谢大家的支持
  • 单击按钮弹出一个选择文件的对话框,可以指定文件类型

    展开全文
  • 对话框中点击按钮弹出另外一个对话框。。。另外还设置了对话框的背景颜色。。。
  • 最近因为一个项目,修改设计了一个带对话框渐变色弹出式进度条,核心内容参考了网上的相关资源,直接使用了 jwstrik@worldonline.nl 的源码(内附)! 现将(全套源码)奉上,供借鉴!提供的文件中有个软件截图!该...
  • JQuery实现对话框效果 即弹出对话框背景变暗且不可操作
  • 点击按钮弹出对话框代码
  • 单击删除按钮或者登陆按钮后,弹出对话框问你是否删除或者弹出一个登陆对话框,本文使用jquery来实现这种效果,需要的朋友可以参考下
  • 主要为大家详细介绍了jQuery实现单击按钮遮罩弹出对话框,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要为大家详细介绍了jQuery实现单击按钮遮罩弹出对话框效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • jQuery确认对话框窗口弹窗插件,点击按钮弹出对话框提示确认取消等操作代码。
  •  模态对话框:当它弹出后,本应用程序其他窗口将不再接受用户输入,只有该对话框响应用户输入,在对它进行相应操作退出后,其他窗口才能继续与用户交互。 非模态对话框:它弹出后,本程序其他窗口仍能响应用户输入...

    一、模态对话框的创建及显示

    1、Windows对话框分为两类:模态对话框和非模态对话框。

        模态对话框:当它弹出后,本应用程序其他窗口将不再接受用户输入,只有该对话框响应用户输入,在对它进行相应操作退出后,其他窗口才能继续与用户交互。

    非模态对话框:它弹出后,本程序其他窗口仍能响应用户输入。非模态对话框一般用来显示提示信息等。

     

    2、模态对话框的弹出

    ①创建一个新的对话框模板。

    ②为创建的对话框添加类,在Solution Explorer中可以看到生成了CTipDlg类的头文件TipDlg.h和源文件TipDlg.cpp。

    ③为按钮添加消息处理函数OnBnClickedAddButton()。

    ④在AdditionDlg.cpp中包含CTipDlg的头文件:#include "TipDlg.h"。

    ⑤在消息处理函数OnBnClickedAddButton()的函数体中,构造CTipDlg类的对象tipDlg,并通过语句tipDlg.DoModal();弹出对话框,最后判断DoModal()函数的返回值是IDOK还是IDCANCEL来确定做何种处理。

    1)如果仅仅是弹出:

    CAdditionDlg dlg;  

    dlg.DoModal();

    2)可以通过模态对话框DoModal函数的返回值,判断用户选择了“确定”还是“取消”。注意函数返回值的类型INT_PTR

    CSelectDLG dlgload;

    //INT_PTR nResponse = dlg.DoModal(); 

    //if (nResponse == IDOK)  

     

    if(dlgload.DoModal()==IDOK)

    }else

    {//  

    }

     



    、非模态对话框的创建及显示

    ①创建一个新的对话框模板。

    ②为创建的对话框添加类,在Solution Explorer中可以看到生成了CTipDlg类的头文件TipDlg.h和源文件TipDlg.cpp。

    ③为按钮添加消息处理函数OnBnClickedAddButton()。

     

    在AdditionDlg.h中添加#include"TipDlg.h"。

    这是因为我们需要在AdditionDlg.h中定义CTipDlg类型的指针变量,所以要先包含它的头文件;

    ⑤然后在AdditionDlg.h中为CAdditionDlg类添加private成员变量CTipDlg *m_pTipDlg【类指针】

    注意:以前的指针大都是 int *pt1等  int为一种类型。这里CTipDlg为一种类,指向类的指针。

    ⑥在CAdditionDlg类构造函数体中添加m_pTipDlg = NULL;

    在任何指针变量使用前都初始化,可以避免因误访问重要内存地址而破坏此地址的数据。

    ⑦修改CAdditionDlg::OnBnClickedAddButton()函数如下:

    1. // 如果指针变量m_pTipDlg的值为NULL,则对话框还未创建,需要动态创建   

    2.     if (NULL == m_pTipDlg)  

    3.     {   

    4.         // 创建非模态对话框实例   

    5.         m_pTipDlg = new CTipDlg();   //动态创建对象

    6.         m_pTipDlg->Create(IDD_TIP_DIALOG, this);   

    7.     }   

    8.     // 显示非模态对话框   

    9.     m_pTipDlg->ShowWindow(SW_SHOW);  

    10.   

    ⑧、.因为此非模态对话框实例是动态创建的,所以需要手动删除此动态对象来销毁对话框。我们在CAdditionDlg类的析构函数中添加删除代码,但是MFC并没有自动给出析构函数,这时需要我们手动添加,在对话框对象析构时就会调用我们自定义的析构函数了。在AdditionDlg.h文件中为CAdditionDlg添加析构函数声明:~CAdditionDlg();,然后在AdditionDlg.cpp文件中添加析构函数的实现,函数体如下:

    1. CAdditionDlg::~CAdditionDlg()   

    2. {   

    3.     // 如果非模态对话框已经创建则删除它   

    4.     if (NULL != m_pTipDlg)  

    5.     {   

    6.         // 删除非模态对话框对象   

    7.         delete m_pTipDlg;   

    8.     }   

    9. }  


     

    展开全文
  • 在点击登陆按钮弹出一个能将背景暂时无法操作的对话框
  • 要实现的功能就是点击按钮,用dlg.DoModal()弹出对话框,在子对话框中有CListControl控件,要对CListControl控件进行数据的初始化,但是无法对其进行初始化。子对话类中已经添加了OnInitDialog()方法,感觉没有...
  • 利用Java编写的弹出对话框小程序,比较经典,分享一下
  • 点击登录或者注册按钮后,渐变弹出一个对话框,可以直接登录或者注册,注册框也可自动判断输入正确与否,懒人之家推荐下载
  • 今天的需求是,使用element-ui插件编写页面,点击按钮弹出对话框,并使用父子组件传参的形式关闭对话框。 一、点击按钮,出现对话框 描述三个按钮: <el-row class="padding-10-0"> <el-button size...

    今天的需求是,使用element-ui插件编写页面,点击按钮,弹出对话框,并使用父子组件传参的形式关闭对话框。

    一、点击按钮,出现对话框

    描述三个按钮:

    <el-row class="padding-10-0">
            <el-button size="small" @click="showDialog()">组合工程</el-button>
            <el-button size="small" @click="showDialog()">科目匹配</el-button>
            <el-button size="small" @click="computedHandle">计算指标</el-button>
    </el-row>

    其中combineEngineering和subjectMatch是我要展示页面的组件名称,传入showDialog方法里面,控制不同页面,后面有介绍。
    这个因需求而异


    在控件里面描述属性

    <el-dialog :modal="true" 
       :fullscreen="fullscreen" 
       custom-class="dialog-custom" 
       :visible.sync="dialogVisible" 
       width="50%">
    

    使用 原有属性 :visible.sync 定义页面的显示属性为dialogVisible。


    并且在在data的return里面声明一下

    之后点击按钮,触发showDialog事件,设置dialogVisible 数值为 true,控制弹窗显示:

    // 显示弹窗
          showDialog() {
            this.dialogVisible = true;
          },

    二、对话框显示不同的页面

    在data的return里面有:

    dialogVisible在第一个标题有写到;


    添加dialogCategory,标记不同的页面。

    在显示弹窗的方法里面加入这个页面的标记,方法变成如下:

    // 显示弹窗 
    showDialog(dialogCategory = '') {
        this.dialogVisible = true; 
        this.dialogCategory = dialogCategory; //重点在这个
     },
    

    在调用方法的按钮上面,改变为:

     <el-row class="padding-10-0">
            <el-button size="small" @click="showDialog('combineEngineering')">组合工程</el-button>
            <el-button size="small" @click="showDialog('subjectMatch')">科目匹配</el-button>
            <el-button size="small" @click="computedHandle">计算指标</el-button>
          </el-row>
    

    这样子就可以点击按钮的时候,直接确定要出现的页面。

    使用import将指定页面引入到这个页面中。

      import combineEngineering from './combine-engineering/combine-engineering';
      import subjectMatch from './subject-match/subject-match';
    

    之后重点来了,这里引入相应的页面,比如可以看到我的组合工程页面是:
    combine-engineering

     <el-dialog
          :modal="true"
          :fullscreen="fullscreen"
          custom-class="dialog-custom"
          :visible.sync="dialogVisible"
          width="50%">
          <template v-if="dialogCategory === 'combineEngineering'">
            <div slot="title">组合工程 <i @click="fullscreen = !fullscreen" class="el-icon-menu float_right" style="padding-right: 30px;cursor: pointer;"></i></div>
            <combine-engineering></combine-engineering>
          </template>
          <template v-else-if="dialogCategory === 'subjectMatch'">
            <div slot="title">科目匹配 <i @click="fullscreen = !fullscreen" class="el-icon-menu float_right" style="padding-right: 30px;cursor: pointer;"></i></div>
            <subject-match></subject-match>
          </template>
          <span slot="footer" class="dialog-footer">
            <el-button @click="dialogVisible = false">取 消</el-button>
            <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
          </span>
        </el-dialog>
    

    后面的取消和确定按钮,本来是想放在父页面中,在子页面通过传参的方式控制,最后由于弹出框的功能不统一,每个页面细分自己的,比较合理,于是取消这个写法。

    在相应的页面中,一定要有name指定,比如在subject-match页面的js里面一定要有:name: ‘subject-match’,

     

    这个时候就可以点击按钮,显示不同的页面了。

     

    三、对话框的页面设计

     

    这个可以参考另一篇文章,这里不做过多描述

    https://blog.csdn.net/weixin_42636552/article/details/89157005

     

    四、使用父子组件传参的形式关闭对话框

    这是一个知识点,可以先点击这个链接了解一下父组件和子组件传参的不同

    https://www.cnblogs.com/hao-1234-1234/p/10157063.html

    关闭对话框,个人认为,在父组件里面设置控制对话框关闭的属性,并写好方法,在子组件里面传递参数,调用父组件方法,这样子更体现VUE框架的数据驱动特性,干净利落。

    4.1 父组件写好方法

     // 关闭弹窗
          hideDialog() {
            this.dialogVisible = false;
          },
    

    直接改变dialogVisible的值,驱动对话框子组件关闭。

     

    4.2 父组件调用关闭方法

     

    直接使用@+方法名来引用方法

     

    4.3 子组件使用 $emit 调用父组件方法

    在子组件里面写方法,使用 this.$emit(‘hideDialog’); 调用父组件的hideDialog方法

     // 关闭弹窗
          closeDialog() {
            this.$emit('hideDialog');
          }
    

    这样子就可以在子组件里面使用到父组件的方法。

    4.4 子组件需要时调用

     <el-row class="margin-top-10 text-align-right">
          <el-button type="primary" @click="closeDialog()">应用修改</el-button>
          <el-button @click="closeDialog()">取 消</el-button>
        </el-row>
    

    直接@click就可以了。
    这个时候,使用父子组件传参的形式关闭对话框的功能就实现了。


    有一个关于父子组件传参的优化方案,可以看看这个

    https://blog.csdn.net/weixin_42636552/article/details/89250428

     

    五、放上我的全部代码,仅供参考

    index . vue 【父组件】

    <template>
      <el-container class="adjust height-inherit background-white">
        <el-header class="border-bottom">
          <el-row class="padding-10-0">
            <el-button size="small" @click="showDialog('combineEngineering')">组合工程</el-button>
            <el-button size="small" @click="showDialog('subjectMatch')">科目匹配</el-button>
            <el-button size="small" @click="computedHandle">计算指标</el-button>
          </el-row>
        </el-header>
        <el-dialog
          :modal="true"
          :fullscreen="fullscreen"
          custom-class="dialog-custom"
          :visible.sync="dialogVisible"
          width="50%">
          <template v-if="dialogCategory === 'combineEngineering'">
            <div slot="title">组合工程 <i @click="fullscreen = !fullscreen" class="el-icon-menu float_right" style="padding-right: 30px;cursor: pointer;"></i></div>
            <combine-engineering @hideDialog="hideDialog"></combine-engineering>
          </template>
          <template v-else-if="dialogCategory === 'subjectMatch'">
            <div slot="title">科目匹配 <i @click="fullscreen = !fullscreen" class="el-icon-menu float_right" style="padding-right: 30px;cursor: pointer;"></i></div>
            <subject-match @hideDialog="hideDialog"></subject-match>
          </template>
          <!--<span slot="footer" class="dialog-footer">-->
            <!--<el-button @click="dialogVisible = false">取 消</el-button>-->
            <!--<el-button type="primary" @click="dialogVisible = false">确 定</el-button>-->
          <!--</span>-->
        </el-dialog>
      </el-container>
    </template>
    <script>
      import combineEngineering from './combine-engineering/combine-engineering';
      import subjectMatch from './subject-match/subject-match';
    
      export default {
        name: 'adjust',
        components: {
          combineEngineering,
          subjectMatch
        },
        data() {
          return {
            dialogVisible: false,
            fullscreen: false,   // 弹窗是否全屏
            dialogCategory: '',
            data: []
            }
        },
          // 显示弹窗
          showDialog(dialogCategory = '') {
            this.dialogVisible = true;
            this.dialogCategory = dialogCategory;
          },
    
          // 关闭弹窗
          hideDialog() {
            this.dialogVisible = false;
          }
        }
      };
    </script>
    
    
    <style lang="less">
      .adjust {
        width: 100%;
        .pointer {
          color: #169BD5;
        }
      }
    
      .el-tabs__nav-wrap:after {
        background: #FFFFFF !important;
      }
    
      /*弹窗*/
      .dialog-custom {
        .el-dialog__header {
          background-color: #409eff;
          color: #ffffff;
        }
        .el-icon-close {
          color: #ffffff;
          &:hover {
            color: #ffffff;
            opacity: 0.6;
          }
        }
      }
    
      /*设置计算加载图标字体大小*/
      .computed {
        .el-icon-loading {
          font-size: 32px;
        }
      }
    
    </style>
    
    

    subject-match . vue 【子组件】

    <template>
      <div class="subject-match height-inherit" id="subject-match">
        <el-row :gutter="50">
          <el-col :span="5">
          
          </el-col>
          <el-col :span="19">
          
          </el-col>
        </el-row>
        <el-row class="margin-top-10 text-align-right">
          <el-button type="primary" @click="closeDialog()">应用修改</el-button>
          <el-button @click="closeDialog()">取 消</el-button>
        </el-row>
      </div>
    </template>
    
    <script>
      import {subjectMatch} from 'service/budget/adjust';
    
      export default {
        name: 'subject-match',
        data() {
          return {
            loading: false,
            maxHeight: 'auto',
            tableData: [],
            data: []
          }
        },
        watch: {
          nodeId: {
            handler(newVal, oldVal) {
              if (newVal && newVal !== oldVal) {
                this.getList();
              }
            },
            deep: true
          }
        },
        mounted() {
          let projectDom = document.getElementById('subject-match');
          let height = projectDom.clientHeight || projectDom.scrollHeight;
          this.maxHeight = height - 20;
          this.getList();
        },
        methods: {
          // 关闭弹窗
          closeDialog() {
            this.$emit('hideDialog');
          }
        }
      }
    </script>
    
    <style lang="less">
    
    </style>
    
    

     


    THE END

    good lunck to you

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 点击登录按钮弹出局部显示的登录界面,html+css+js
  • 引入js文件 [removed][removed] [removed][removed] [removed][removed] [removed][removed] ... 这是一款jQuery实现的可以使用鼠标进行互动的3D弹出窗口插件,点击按钮弹出3D对话框窗口网页特效。
  • 新建一个aspx页面,命名为Alert.aspx,在页面添加一个TextBox控件和一个Button控件,当用户单击Button控件时,以对话框的形式弹出用户在TextBox中输入的值。
  • java点击弹出对话框
  • jquery点击按钮弹出层可放大居中关闭对话框代码 jquery点击按钮弹出层可放大居中关闭对话框代码
  • 原文地址: http://www.biuuu.com/p865.html 使用jQuery插件jmodal可以模拟弹出对话框功能,用户可自定义对话框的标题,内容,确定按钮以及样式等,弹出框内容可以为文本或HTML,通过二个实例,谈谈如何使用jmodal...
  • java点击按钮弹出自定义对话框
  • ASP.NET 当用户单击Button控件时,以对话框的形式弹出用户在TextBox中输入的值。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 189,348
精华内容 75,739
关键字:

对话框的按钮再弹出对话框