精华内容
下载资源
问答
  • 非模态对话框允许用户执行另外的操作而不必取消或删除该对话框。 1 模块对话框   // 创建对话框  CMyDlg mydlg(this);  // 显示对话框  UINT_PTR dlgRet = cmdParamDlg.DoModal();  if(dlgRet != IDOK)...

    模态对话框在应用继续进行之前必须关闭。非模态对话框允许用户执行另外的操作而不必取消或删除该对话框。

    1  模块对话框 

      // 创建对话框
      CMyDlg    mydlg(this);
       // 显示对话框
      UINT_PTR dlgRet = cmdParamDlg.DoModal();
      if(dlgRet != IDOK)

      销毁模块对话框由系统自动回收,我们不需要手动释放。

    2 非模态对话框

      CMyDlg  * mydlg = new CMyDlg  ;

       if ( NULL != mydlg )
       {
             mydlg ->Create(IDD_DLG_PLUGIN_CONSOLE, this);
             mydlg ->ShowWindow(SW_SHOW);
        }

      很显然,需要我们手动释放这个对话框的资源。

     根据msdn上的说法:

     我们需要重载CMyDlg  这个对话框中的两个函数 OnCancel() 和 PostNcDestroy()
    void CMyDlg  ::OnCancel()
    {
        // TODO: Add your specialized code here and/or call the base class
        this->DestroyWindow();

        //父类的方法不需要再执行

         //CDialog::OnCancel();

    }

    void CMyDlg  ::PostNcDestroy()
    {
         // TODO: Add your specialized code here and/or call the base class
        delete this;
        return;   //直接return  不需要执行父类的PostNcDestroy()

     
    }

     设置子对话框的方法

    dlg属性设为:  
      style child  
      取消 Title Bar  
      Border none

    展开全文
  • 出于项目开发需求,需要实现的业务逻辑是:药店端点击查看“已发货”“已收货”订单详情时,模块弹出框中只应出现“取消”按钮。但现实的情况如下图所示。 模态框核心代码如下: scripttype="text/ng-template"id=...

    AngularJS项目开发技巧之获取模态对话框中的组件ID

    需求

          出于项目开发需求,需要实现的业务逻辑是:药店端点击查看“已发货”“已收货”订单详情时,模块弹出框中只应出现“取消”按钮。但现实的情况如下图所示。

     

    模态框核心代码如下:

    <script type="text/ng-template" id="billDtlContent.html">

            <div class="modal-header">

                 <h3 class="modal-title">立马送药订单</h3>

             </div>

              <div class="modal-body" id="modal-body" >

    <table border="1" class="table table-bordered" >

    <tr>

    <td>

    <div>

    <label for="billid">订单编号:</label>

    <input ng-model="billid" id="billid" type="text" disabled/>

    </div>

    </td>

    </tr>

    ...................................................

    ...................................................

    <td>

    <div>

    <label for="merch_name">配送药店:</label>

    <input ng-model="merch_name" id="merch_name" type="text" disabled/>

    </div>

    </td>

    </tr>

    </table>

             </div>

             <div class="modal-footer" id="modal-footer" >

                 <button id="ok" class="btn btn-primary btn-lg" type="button" ng-click="ok()">确认配送</button>

    <button id="reject" class="btn btn-danger btn-lg" type="button" ng-click="reject()">残忍拒绝</button>

                  <button id="cancel" class="btn btn-warning btn-lg" type="button" ng-click="cancel()">取消</button>

             </div>

          </script>

          由于模态框的实现代码位于JS脚本中。则考虑使用获取组件ID的方式获取相应组件“确认配送”“残忍拒绝”的ID,经过在其控制器中获取测试,总是显示其值为null。获取语句如下:

     

    console.log("LTT_Sunny:");
    console.log(instance.bill_status_code);
    if(instance.bill_status_code === '1' || instance.bill_status_code == '2'){
    alert("SHQ:" + document.getElementById("reject"));
    }

     

          经过进一步的阅读代码,发现可以先获取模态框组件的ID,即如下语句实现:     

     

     document.getElementById("billDtlContent.html").innerHTML;

     

          执行后的结果如下图所示:

     

          那么是不是可以进一步获取其内部组件的ID呢?继续尝试如下:      

     

    document.getElementById("billDtlContent.html").innerHTML.getElementById("reject"));

     

          结果出现了错误,如下所示:

     

          吸取前面做二维码时的教训,在其相应html页面中添加如下语句:

          <i id="sunny" hidden="hidden"></i>
          控制器中的语句如下:

     

    document.getElementById("sunny").innerHTML = htmlContent;
    alert("SHQ:" + document.getElementById("sunny").innerHTML);
    alert("SHQ:" + document.getElementById("reject"));

     

          结果获取到了相应组件的ID。

     

    总结

          有时一个问题解决不了,就应该尝试着通过其它途径进行解决。就像在本文中,既然直接获取无法获取到JS脚本中组件的ID,自己就尝试着将获取到的页面内容再次放到原页面内,然后通过DOM操作再次获取。

    后续工作

          获取到模态框组件ID之后,就需要实现需求了。有关组件的隐藏方法自己已经完成。如下所示:

     

    //控件隐藏控制函数
    function displayHideUI(object)
    {
    var ui = object;
     
    ui.style.display = "none";
    }
     
    // 控件显示控制函数
    function displayUI(object)
    {
    var ui = object;
     
    ui.style.display = "inline-block";
    }

     

          在控制器中调用控件设置方法没有看到效果。

          displayHideUI(document.getElementById("reject"));

          通过DOM操作可获取到其中的ID名称等等。如下所示:

          alert("SHQ:" + document.getElementById("reject").attributes[0].value);

     

          在view中做文章是不可能的了,还是需要改变一下思路。有时灵感就是来的这么突然,就像幸福一样。考虑在控制器中下手,还是阅读代码,思考是否可以通过if_else的形式实现上述效果。ng-if就暂不考虑了,因为一般的if语句就足以解决问题。既然模态框是根据其ID值加载的,那么自己就可以在控制器中通过if语句控制加载不同的模态框。那么自己就需要在模态框中添加新的模态框内容了。添加的模态框内容如下:

     <script type="text/ng-template" id="billDtlContent1.html">

            <div class="modal-header">

                 <h3 class="modal-title">立马送药订单</h3>

             </div>

              <div class="modal-body" id="modal-body" >

    <table border="1" class="table table-bordered" >

    <tr>

    <td>

    <div>

    <label for="billid">订单编号:</label>

    <input ng-model="billid" id="billid" type="text" disabled/>

    </div>

    </td>

    </tr>

    ............................

    ...................................

    <tr>

    <td>

    <div>

    <label for="merch_name">配送药店:</label>

    <input ng-model="merch_name" id="merch_name" type="text" disabled/>

    </div>

    </td>

    </tr>

    </table>

             </div>

             <div class="modal-footer" id="modal-footer" >

                  <button id="cancel_Sunny" class="btn btn-warning btn-lg" type="button" ng-click="cancel()">取消</button>

             </div>

          </script>  

          请注意以上两个模态框是不同的,主要不同点为:模态框的ID、控制按钮。在控制器中,其if控制语句如下:

     

    console.log("LTT_Sunny:");
    console.log(instance.bill_status_code);
    if(instance.bill_status_code === '1' || instance.bill_status_code == '2'){
    // 在药店订单查询成功后,回调执行模态框弹出
    modalInstance = $modal.open({	// 开始执行控制器BillDtlPopCtrl
    templateUrl: 'billDtlContent1.html',	// 模态窗口的地址,指向创建的视图
    controller: 'BillDtlPopCtrl',	// 初始化模态范围,为$modal指定的控制器,初始化$scope,该控制器可用$modalInstance注入
    resolve: {	// 定义一个成员并将他传递给$modal指定的控制器,相当于routes的一个reslove属性,如果需要传递一个objec对象,需要使用angular.copy()
    items: function () {
    return $scope.items;
    }
    }
    ); 
    }else{
    // 在药店订单查询成功后,回调执行模态框弹出
    modalInstance = $modal.open({// 开始执行控制器BillDtlPopCtrl
    templateUrl: 'billDtlContent.html',	// 模态窗口的地址,指向创建的视图
    controller: 'BillDtlPopCtrl',	// 初始化模态范围,为$modal指定的控制器,初始化$scope,该控制器可用$modalInstance注入
    resolve: {	// 定义一个成员并将他传递给$modal指定的控制器,相当于routes的一个reslove属性,如果需要传递一个objec对象,需要使用angular.copy()
    items: function () {
    return $scope.items;
    }
    }
    });
    }

     

    效果图

     

    参考文献

    http://www.w3school.com.cn/jsref/dom_obj_attributes.asp

    美文美图

     

    展开全文
  • 还有可能是直接把版本号写死了,这时本模块就没用了,你可以采用其他方法禁止更新,比如:写轮眼禁组件,host重定向,mt修改字符,对话框取消模块。 还有极小可能是软件仅检测新版一个版本,只要大于或小于最新版本都会...
  • 我想要的GUI应该非常类似于在Windows上安装程序时经常遇到的对话框(您想要安装的位置,您想要的模块等)。基本上当它在python3.3中运行时,我想要一个窗口出现,其中一些选项占据了大部分窗口,然后是&#39;,&#...

    我是Python新手,必须编写一个简单的GUI程序,为了简单起见,我选择在tkinter中这样做。

    我想要的GUI应该非常类似于在Windows上安装程序时经常遇到的对话框(您想要安装的位置,您想要的模块等)。基本上当它在python3.3中运行时,我想要一个窗口出现,其中一些选项占据了大部分窗口,然后是&#39;,&#39;返回&#39;和&#39;取消&#39;底部的按钮;点击“下一步”&#39;按钮,当前窗口关闭,打开一个看起来相同的新窗口,除了它有不同的选项(或者它可能是同一个窗口,但它的内容已被破坏,我不确定哪个更好) 。我想要的粗略布局显示在this image

    yU8wW.png

    我已经四处寻找代码,这些代码与此类似,但未找到任何代码。我看过this answer,但它并不是我想要的。我使用this tutorial来了解我对tkinter的了解,但我无法在其中找到答案。

    这是我对我想要做的简化版本的极其糟糕的尝试:当我运行代码时,它会创建一个带有两个按钮的窗口。 &#39; Quit&#39;按钮工作正常;但是,当我点击“下一步”时按钮关闭窗口并根据需要打开一个新窗口,但它也会打开另一个窗口。

    from tkinter import *

    from tkinter import ttk

    def win1():

    mainframe = ttk.Frame(root, padding = '3 3 12 12')

    mainframe.grid(column = 0, row = 0, sticky = (N, W, E, S))

    mainframe.columnconfigure(0, weight = 1)

    mainframe.rowconfigure(0, weight = 1)

    ttk.Button(mainframe, text = 'Next', command = win2).grid(

    column = 1, row = 1, sticky = W)

    ttk.Button(mainframe, text = 'Quit', command = quit).grid(

    column = 1, row = 2, sticky = W)

    root.mainloop()

    def quit():

    root.destroy()

    def win2():

    quit()

    new = Toplevel()

    new.title('Window 2')

    new = ttk.Frame(root, padding = '3 3 12 12')

    new.grid(column = 0, row = 0, sticky = (N, W, E, S))

    new.columnconfigure(0, weight = 1)

    new.rowconfigure(0, weight = 1)

    ttk.Button(mainframe, text = 'Next', command = win2).grid(

    column = 1, row = 1, sticky = W)

    root = Tk()

    win1()

    这会出现以下错误消息(我不明白):

    Exception in Tkinter callback

    Traceback (most recent call last):

    File "/usr/lib/python3.3/tkinter/__init__.py", line 1478, in __call__

    return self.func(*args)

    File "", line 23, in win2

    File "/usr/lib/python3.3/tkinter/ttk.py", line 733, in __init__

    Widget.__init__(self, master, "ttk::frame", kw)

    File "/usr/lib/python3.3/tkinter/ttk.py", line 553, in __init__

    tkinter.Widget.__init__(self, master, widgetname, kw=kw)

    File "/usr/lib/python3.3/tkinter/__init__.py", line 2078, in __init__

    (widgetName, self._w) + extra + self._options(cnf))

    _tkinter.TclError: this isn't a Tk applicationNULL main window

    除了它实际上没有做我想要的事实之外,我觉得我正在以完全错误的方式(在一个函数中定义窗口等),并且会遇到很多我想让它变得更复杂时遇到麻烦。有没有人能够以更好的方式重写我的代码,并以某种方式帮助我构建更复杂的程序,提供资源来学习我需要的程序,我想要甚至提供建议?感谢。

    展开全文
  • 新安装的wamp,不知弄了哪项操作,再点击进入程序,总是进不...里面设置的是各种模块,或者应用,或者取消应用。我见到有一项 php5_module 没有被选中,我就试着选中它,再试着打开 wamp程序,居然进去了。真算是幸运。
    新安装的wamp,不知弄了哪项操作,再点击进入程序,总是进不去,而是出来个下载对话框。自己在网上找答案,有一篇,说是某个设置的问题,但没有说明是哪个。后来,我试着在 Apaphe 看看。里面设置的是各种模块,或者应用,或者取消应用。我见到有一项 php5_module 没有被选中,我就试着选中它,再试着打开 wamp程序,居然进去了。真算是幸运。
    
    展开全文
  • '将此份文档另存为纯文本格式文件MdFileBrw.bas,'并导入至vba的模块中即可在其他模块调用当中的函数。'其中GetFolder函数可以选择文件夹并返回选择的路径(按取消则返回空字符串),'ListFilesFSO过程可以根据传入的...
  • layer弹出层取消遮罩

    千次阅读 2018-12-03 14:50:34
    layer弹出层取消遮罩 笔者认为 跟 layer弹出层非模态对话框类似 layer.open({ title: '在线调试', content: '可以填写任意的layer代码', shade:0 }); shade - 遮罩 类型:String/Array/Boolean,默认:0.3 即...
  • layer弹出层取消遮罩 笔者认为 跟 layer弹出层非模态对话框类似 layer.open({ title: '在线调试', content: '可以填写任意的layer代码', shade:0 }); shade – 遮罩 类型:String/Array/Boolean,默认:0.3 即...
  • 弹出一个消息对话框,该命令会暂停脚本执行,直到在对话框中点击取消、或确定 消息内容:指定对话框中展示的消息内容 打印内容:指定需要打印的内容 延时执行 使应用暂停一段时间,一般用于等待网页加...
  • 关于精易模块由来:  最初开始成立精易论坛时,并没有精易模块的,是自己在平常编写程序时,自己封装成一个模块, 方便自己调用,后应会员的要求,才正式以 精易论坛的前2个字,做为开头,发布了精易模块, 一直...
  • 精易模块[源码] V5.15

    2015-03-21 22:03:37
    10、新增“窗口_取消尺寸限制”,取消窗口尺寸限制。 效验MD5:51A332F5AB071957FEF39209FD240CB6 精易模块 V3.85 what’s new:(20140916) 1、改善“文件_取文件名”与“目录_取尾部目录名或文件名”取出路后带...
  • 网页_屏蔽信息框 说明:直接无视网页上弹出来的信息框和对话框 网页_取编码类型 说明:取网页的编码类型如:GBK 网页_取标题 说明:取网页的标题 网页_取地址 说明:取网页的页面地址 网页_取顶级域名 说明:...
  • 这是个很有用的列别工具类,在聊天对话框添加和QQ一样的"复制、粘贴、取消"等选项,而且使用起来很方便,只要找到聊天泡泡内部的某个View,比如Label或者背景冒泡的UIImageView,直接add...即可实现下面的效果: ...
  • 易语言 茶凉专用模块

    2010-05-04 12:26:36
    模块名称:茶凉专用模块 作者:茶凉 版本:2.0 本模块可以编程更简单,仅仅用核心支持库编写。 @备注: 官方论坛:http://bbs.clrje.cn/ 官方QQ群:92716369 ------------------------ -------------------------- ...
  • BOOL CFwzlDlg::OnInitDialog() //这是在主对话框初始化时候调用登录模块 { CDialog::OnInitDialog(); // Add "About..." menu item to system menu. // IDM_ABOUTBOX must be in the system command ...
  • 失败或取消返回空文本。 .参数 窗口句柄, 整数型, 可空, 调用处窗口句柄 .参数 窗口标题, 文本型, 可空, 对话框窗口标题 .参数 过滤器, 文本型, 可空, 格式:“MP3文件(*.mp3)|*.mp3|媒体文件(*.mpg)|*.mpg” .参数 ...
  • 这套电极模块是基于图层和铜公名称对铜公进行管理的。每个铜公放一个层,每个铜公都可以给它命名一个名称,这个名称在操作铜公的过程中发挥不同作用,如在查找铜公过程中,开料过程中,出放电数过程中,后处理过程...
  • 测试模块对话框取消,设备7.0, <p><img alt="QQ截图20200803101321" src="https://img-blog.csdnimg.cn/img_convert/9fa9e15f096416ed69c2e5de5f9ba168.png" /></p><p>该提问来源于开源项目:...
  • (1)选择对话框中根据type值,区分是“问题管理”模块中的用户选择还是“主题管理”模块中的用户选择 (2)主题id:根据主题id和当前用户openid,查询主题回答者表,是否已经有此用户,如果有“取消选择”否则...
  • 布局时模块复用操作 布局好一个模块后,set up→application mode→placement edit ; 框选布局好的器件,右击其中某一个器件,并选择place replicate...如果有差异,会弹出对话框取消device name选项,然后自行一一
  • 各类代码

    2019-07-11 19:04:00
    =========函数 需要调用模块 =========ShowMessage('') \\显示一个对话框的意思! Application.messagebox('你错了 我的朋友!快停止运行','系统错误',MB_YENO + MB_ICONWARNING) \\弹出对话框带 确认 取消按钮 带...
  • 模块功能描述(总述)  上一篇文章:Android TV开发--实现延时关机功能(一)功能描述  讲的是延时关机整体功能描述以及UI效果,这篇文章将着重讲解逻辑实现。...取消延时对话框倒计时功能 1.展示UI设置
  • 面向对象三

    2019-08-26 23:26:19
    示例:实现一个可设置是否拖拽,是否有遮罩层,是否有取消按钮,可设置宽高等基本配置的对话框(仿写Element-UI的对话框)。 步骤: 封装:通过class实现默认配置还是手动配置(Object.assign(a,b)对象合并:a,b...
  • QX、微X、应用变量、对话框取消、音量增强、黑名单、运动加速器 <p><strong>Magisk模块列表/Magisk Module List iOS emojis、DNS修改、Recovery Mode、MIUI下载管理、相机增强、yc调度、安卓O媒体通知、状态栏分栏 ...
  • messagebox() 对话框 确定取消之类的 simpledialog() 输入框 返回数值 还没完全研究密码应用(一般用Entry+Button) filedialog() 文件 colorchooser() 颜色选择 3 一些重要组件控件的表达格式 Label(rt,text=’ ‘)
  • 点击ABB,选择程序编辑器→弹出不存在程序,提示是否需要新建程序时选取消→打开文件菜单,选择新建模块→弹出的对话框点击是,继续→通过按钮ABC为程序模块设定名称为m1,单击确定→选择自己设定的模块,单击显示.....
  • 基于ASP.NET在线考试系统设计

    热门讨论 2011-03-14 16:07:15
    如果单击的是“新建工程”对话框上的“取消”按钮,则Visual Basic的集成环境中不打开任何工程。 关闭了“新建工程”对话框之后,Visual Basic的集成开发环境全貌就显示在屏幕上了。Visual Basic开发环境是典型的...
  • 第一阶段冲刺总结

    2015-05-28 17:17:00
    设计了两个按钮(ok、取消),ok按钮想要实现的功能是分享和保存,取消则是返回游戏主界面。最后,对对话框实现了优化。在此期间,也学习了如何实现七巧板的拖拽,但是由于技术能力有限,这个功能没能自己完成,组里...

空空如也

空空如也

1 2 3 4 5
收藏数 97
精华内容 38
关键字:

对话框取消模块