对话框编程
Opendcl制作简单对话框

Opendcl工具制作简单对话框一、使用前准备工作第一步:安装编辑和支持工具1、OpenDCL.Studio.ENU.5.1.1.5.msi →编程序使用2、OpenDCL.Runtime.5.1.1.5.msi →自编工具支持文件。
第二步:创建自己的文件存放目录新建“Chaiyu”文件夹,存放在位置“C:\Program Files\Chaiyu”。
同时将该文件设置为AutoCAD支持搜所目录。
-→保证自编工具正常加载。
第三步:复制基础文件1、将Opendcl工具的“samples”文件中的"_OpenDclUtils.lsp"文件复制到“Chaiyu”文件夹。
同时将该文件中的" SamplesFolder"改成" Chaiyu Folder"。
二、定制简单对话框第一步:建立所需文件1、在“Chaiyu”文件夹新建“test.lsp件。
2、启动“Opendcl”工具。
点击新建“Addmodal dailog”,在Properties(属性)面板中将“name”定义为“Demotest”。
最后将文件保存到“Chaiyu”文件夹,文件名设置为“test.odcl”。
同时将“Title Bar Text“测试”。
3、在右图所示窗口中点击“”设置“test.lsp”连接。
第二步:定义“test.lsp”和“test.odcl”文件。
1、打开“test.lsp”文件,并输入如下函数(用于加载)(DEFUN c:test ( / )(or LoadRunTime (load "_OpenDclUtils.lsp") (exit))(LoadRunTime)(LoadODCLProj "test.odcl")(dcl_FORM_SHOW test_Demotest)(PRINC))2、在对话框文件中填加一个“Text Botton按钮,在其属性面板中将“name”设置为“cmd1”,“Caption”设置为“直线”。
Python中的打开文件对话框

Python中的打开⽂件对话框1、最早学习Tkinter的时候,在《Tkinter编程代码实例》中看到的“打开⽂件对话框”需要⽤到FileDialog模块,代码⾮常简单:from Tkinter import*from FileDialog import*root =Tk()fd =LoadFileDialog(root) # 创建打开⽂件对话框filename =fd.go() # 显⽰打开⽂件对话框,并获取选择的⽂件名称print filenameroot.mainloop()但是界⾯效果⽐较简陋(不是本地风格),⽽且遇到中⽂名称也会显⽰为乱码。
所以FileDialog.LoadFileDialog⽤于快速原型验证倒是不错,要拼凑⼀个稍微上得了台⾯的界⾯还是差了点:2、然后因为使⽤Python操作过Excel的缘故,接触了PyWin32扩展库,在该库的win32ui模块中,提供了⼀个CreateFileDialog⽅法可以⽤于创建打开⽂件对话框,创建代码也⾮常简单:import win32uidlg =win32ui.CreateFileDialog(1) # 1表⽰打开⽂件对话框dlg.SetOFNInitialDir('E:/Python') # 设置打开⽂件对话框中的初始显⽰⽬录dlg.DoModal()filename =dlg.GetPathName() # 获取选择的⽂件名称print filename这个打开⽂件对话框的界⾯⽐较友好,是Windows本地风格的,中⽂显⽰也正常,但缺点是只能在Windows上有效:3、其实刚开始使⽤win32ui.CreateFileDialog时,还不会⽤SetOFNInitialDir设置打开⽂件对话框的初始显⽰⽬录,后来遇到了需要设置的情况,因此上⽹查了下⽅法,⼀不⼩⼼来到了⼀个叫做的⽹站,在上⾯找到了这个设置⽅法;同时,还意外地发现了原来还有⼀个tkFileDialog的模块,也提供了⼤量操作⽂件对话框的⽅法,使⽤tkFileDialog.askopenfilename()即可轻松实现我的需求,代码异常简单:import tkFileDialogfilename =tkFileDialog.askopenfilename(initialdir ='E:/Python')print filename界⾯也是友好的本地风格,与使⽤win32ui.CreateFileDialog类似,但是优点是tkFileDialog是跨平台的:当然Python的界⾯库丰富多样,WxPython、PyQt等等都很棒,它们提供的打开⽂件对话框的⽅法⾃然也是⾮常好⽤的。
对话框及常用控件

2
对话框程序的创建
2.1 一个对话框程序 2.2 创建对话框资源模板 2.3 利用对话框类CDialog操纵对话框 2.4 初始化对话框 2.5 对话框的调用 2.6 对话框的消息处理
2.1
一个对话框程序
1.程序功能 该应用程序具有认证的功能:当该程序运行时,首先弹 出一个“密码验证” 对话框,让用户输入其用户名和密 码。用户需要输入用户名“good”和用户密码“ good ” 后才能进入主界面,若有一个输入错误,都不能进入。 2.程序类型
1.3 对话框的组成(续)
对话框类 从CDialog类派生的对话框类提供编程接口来 管理与对话框模板相关联的对话框。 CDialog 类的 许多成员函数与对话框编程密切相关,可供程序员 调用。由于对话框是一种窗口,因此相应的对话框 类必须与一个Windows窗口相联系,而对话框资源 模板就是用于创建这个 Windows窗口及其包含在其 中的控件。 对话框类可以看作对话框应用程序的一种程序 员接口,用户对应用程序操作,后台调用的都是该 类的成员函数来完成的。
可见在对话框的构造函数中主要是对对话框的数据成员变量 进行初始化。
2.4
初始化对话框(续)
2.在WM_CREATE的消息映射函数中初始化 由于对话框也是窗口,它在窗口创建时会收到 WM_CREATE 消息,该消息的响应函数是 OnCreate()。 这样,就能在窗口创建中做一些初始化工作。尽管用户 可能在 WM_CREATE 消息处理函数中进行一些数据成员 的初始化工作,但更通常的做法是在对话框中的所有控 件都建立起来之后,响应消息 WM_INITDIALOG 时,对 数据成员进行初始化。 3.在WM_INITDIALOG的消息映射函数中初始化 在对话框创建时,会收到 WM_INITDIALOG 消息,该 消息的响应函数是OnInitDialog()。在得到了
02界面编程-3对话框

2.3 对话框与控件对话框(dialog box)是GUI的常用组件,也是其最复杂的组件,主要用于接收用户的各种输入和选择,也可用于向用户显示信息。
在对话框中可以包含文本框、编辑框、列表框、组合框、按钮、单选钮、复选框等各种控件(control),供用户查看、输入和选择,也可响应用户操作命令来完成一定的任务。
1.对话框1)分类(1) 模式对话框与无模式对话框按工作方式不同,可将对话框分成两类:●模式对话框(modal dialog box模态对话框):在关闭模式对话框之前,该程序不能进行其他工作(如“打开文件”对话框)●无模式对话框(modeless dialog box非模态对话框):模式对话框打开后,该程序仍然能够进行其他工作(如“查找与替换”对话框)(2) 公用对话框与用户对话框按编程方式不同,还可将Windows对话框分成两类:●公用对话框(common dialog boxes通用/公共对话框):Windows提供的一组标准用户接口对话框,包括文件、颜色、字体、查找替换、页面设置、打印等对话框。
公用对话框的资源与处理代码被封装在动态连接库文件comdlg32.dll中,该文件一般放在Windows 系统安装目录下的system32子目录中,可供所有的Win32应用程序调用。
●用户对话框(user dialog box):用户自己创建的对话框,对话框的资源与处理代码都由程序员自己来编写。
用户对话框,还可以进一步分成如下两种具体类型:⏹输入型:主要用于接受用户的输入和选择,需要自己创建对话框类和添加控件变量,并利用MFC的对话框自动数据交换(DDX)功能。
这是最常见的一种用户对话框类型,用于一般的应用程序。
⏹操作型:主要用于响应用户的操作,不需要添加控件变量,一般也不能利用DDX功能,需要自己进行对话框数据的初始化设置和当前值与状态的获取。
操作型对话框,一般用于基于对话框的应用程序。
2)类层次结构MFC的对话框基类为CDialog,它既支持模式对话框(调用其成员函数DoModal),也支持无模式对话框(调用其成员函数Create + ShowWindow)。
VC++ 课件 第05章 对话框和常用控件

5.2控件的创建和使用方法
5.2.1控件的创建方法 控件的创建方式有以下两种: 一种是在对话框模板中用编辑器指定控件,也就是说,将控件的父窗口指 定为对话框,这样做的好处是明显的,因为当应用程序启动该对话框时, Windows系统就会为对话框创建控件;而当对话框消失时,控件也随之清 除。 另一种方式是将控件看作是任一窗口的子窗口,并通过调用相应的Create 函数来创建。 [例Ex_SDIHello] 在上例Ex_SDIHello的基础上用子窗口方式创建控件。 (1)打开CMyDlg的头文件MyDlg.h,添加一个按钮类CButton指针变量: class CMyDlg : public CDialog { // Construction public: CMyDlg(CWnd* pParent = NULL); // standard constructor CButton *m_btnWnd; … }
5.1对话框的使用
在程序中使用对话框 (1)利用项目工作区的ClassView标签项,将Ex_SDIHello.cpp源文件打开; (2)在Ex_SDIHello.cpp源文件的前面加上包含类CMyDlg的头文件: #include "MyDlg.h" (3)在InitInstance函数体中的“return TRUE;”语句之前添加下列代码: CMyDlg dlg; dlg.DoModal(); DoModal是模态对话框最常用的函数,它负责对话框的显示和终止。 (4)编译并运行。在程序的一开始就出现用户自己设计的对话框,单击 [Button1]按钮将弹出“欢迎进入对话框的设计!”的消息对话框来。
5.1对话框的使用
5.1.2使用对话框编辑器
打开对话框编辑器
将项目工作区窗口切换到ResourceView页面,双击Dialog目录下任意一个对 话框ID。或者,选择“Insert”“Resource”菜单命令(或按快捷键Ctrl+R), 选择Dialog项,单击New。
Windows程序设计 第3章 对话框和常见控件

树形控件
树形控件(TreeCtrl)和下面要讲的列表控件(ListCtrl) 在系统中大量被使用,例如Windows资源管理器就是一 个典型的树形控件例子。 树形控件可以用于树形的结构,其中有一个根接点(Root) (Root) 然后下面有许多子结点,而每个子结点上有允许有一个 或多个或没有子结点。MFC中使用CTreeCtrl类来封装树 形控件的各种操作。通过调用 BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );
滚动条控件
滚动条(Scroll Bar)一般不会单独使用,因为SpinCtrl 可以取代滚动条的一部分作用,但是如果我们需要自己生 成派生窗口,滚动条还是会派上一些用场。创建一个滚动 条可以使用成员函数: : BOOL CEdit::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );
MFC 提供类CDialog作为对话框服务的基类,类CDialog将对话框模板与使 用对话框时必需熟悉的几种类方法进行封装。对于对话框中发送消息的的 控件,我们可创建相应的消息处理程序。MFC编译器提供的框架工具使得 我们把对话框中的控件消息映像到派生类的类函数变得简单、快捷。对话 框数据映像函数使用专门的值初始化对话框中的控件,接着检索数据并使 之有效。大多数对话框需要类成员变量来跟踪用户的输入,这些数据在数 据映像中使用,它们在对话控件与类变量之间自动映像数据。 为创建对话框,首先建立CDialog对象,然后创建和显示对话框窗口我们 有两种选择:一种方法是调用函数CDialog::DoModal()来创建有模式对话 框窗口,另一种方法是调用函数CDialog::Create()来创建无模式对话框窗口, 在上述两种情况之下,对话框对象先初始化,然后创建对话框以及它的控 件。 类CDialog成员函数Create()使用两种重载原形,最常用的一种如下: Create(UINT nIDTemplate, CWnd * pParentWnd=NULL); 其中,参数nIDTemplate是一个对话框模板的标识符, 参数pParentWnd是对话框所属的父窗口。
dialogresult 询问语句
在编程中,DialogResult通常用于表示一个对话框的返回值,这通常用于.NET框架中的Windows Forms应用程序。
例如,当用户点击一个按钮或者选择一个选项时,对话框会返回一个DialogResult枚举值来表示用户的选择。
下面是一些常见的DialogResult值:●DialogResult.OK:表示用户在对话框中进行了有效的输入或选择了有效的选项。
●DialogResult.Cancel:表示用户取消了对话框,没有进行任何有效输入或选择。
●DialogResult.Yes:表示用户在确认对话框中选择了“是”。
●DialogResult.No:表示用户在确认对话框中选择了“否”。
●DialogResult.Abort:表示用户中断了对话框的进程。
●DialogResult.Retry:表示用户想重新尝试对话框的操作。
●DialogResult.Ignore:表示用户忽略了对话框中的某个选项。
当你使用对话框时,通常会检查返回的DialogResult值来确定用户是如何关闭对话框的,然后根据这个值来执行相应的操作。
例如:using (OpenFileDialog openFileDialog = new OpenFileDialog()){if (openFileDialog.ShowDialog() == DialogResult.OK){// 用户点击了“打开”按钮,获取选定文件的路径string filePath = openFileDialog.FileName;// 接下来处理文件...}}在上面的代码中,我们使用OpenFileDialog对话框让用户选择一个文件。
如果用户点击了“打开”按钮,对话框将返回DialogResult.OK,然后我们可以获取选定文件的路径并继续处理文件。
如果用户取消了对话框或选择了其他选项,则不会执行后续的代码。
vb通用对话框名词解释__概述说明以及解释
vb通用对话框名词解释概述说明以及解释1. 引言1.1 概述在软件开发中,对话框是一种常见的用户界面元素,用于与用户进行交互和获取输入。
VB通用对话框是一种基于Visual Basic编程语言的对话框类型,具有广泛的应用领域和重要性。
本文将详细介绍VB通用对话框的概念、重要性、应用场景以及常见名词解释和功能解析。
此外,还将提供实际操作指南与技巧,并展望VB通用对话框未来可能的发展趋势。
1.2 vb通用对话框概念说明VB通用对话框是使用Visual Basic编程语言开发的一种标准化对话框。
它为开发人员提供了一套预定义的、可直接调用和使用的界面组件,以便更快速地构建用户友好的应用程序界面。
通过使用VB通用对话框,开发人员可以轻松地创建窗体、按钮、文本框等基本控件,并实现与用户的交互。
它提供了丰富的功能库和方法,使得开发过程更加高效和便捷。
1.3 目的本文旨在帮助读者全面了解VB通用对话框在软件开发中的重要性和作用。
通过介绍其应用场景以及常见名词解释和功能解析,读者可以更好地理解如何使用VB通用对话框构建用户友好的界面和实现与用户的交互。
此外,本文还提供了实际操作指南与技巧,帮助读者掌握基本的VB通用对话框的创建和使用方法。
最后,本文还展望了VB通用对话框未来可能的发展趋势,旨在激发读者对该领域的兴趣并为其未来的研究或应用提供参考。
2. VB通用对话框的重要性和应用场景2.1 为什么需要VB通用对话框:VB通用对话框是一个在软件开发中非常重要的工具,它可以提供给用户一个交互界面,通过该界面用户可以进行各种操作和输入。
VB通用对话框的存在使得软件开发更加高效和便捷,因此它成为了不可或缺的一部分。
2.2 VB通用对话框在软件开发中的作用:VB通用对话框可以帮助程序员创建各种功能丰富的用户界面。
它提供了一系列常见控件,如按钮、文本框、复选框等,以及与这些控件交互的方法和属性。
使用VB通用对话框,开发者可以快速创建一个简单易用、美观大方的用户界面,并将其与应用程序逻辑进行连接。
mfc对话框基础要点
第五章对话框对话框是一种用户界面,它的主要功能是输出信息和接收用户的输入。
对话框与控件是密不可分的,在每个对话框内一般都有一些控件,对话框依靠这些控件与用户进行交互。
一个典型的对话框例子是选择了File-Open命令后弹出的文件对话框。
5.1对话框和控件的基本概念5.1.1对话框的基本概念对话框(Dialog)实际上是一个窗口。
在MFC中,对话框的功能被封装在了CDialog类中,CDialog类是CWnd类的派生类。
对话框分为模态对话框和非模态对话框两种。
大部分读者都会有这样的经历,当你通过File-Open命令打开一个文件对话框后,再用鼠标去选择菜单将只会发出嘟嘟声,这是因为文件对话框是一个模态对话框。
模态对话框垄断了用户的输入,当一个模态对话框打开时,用户只能与该对话框进行交互,而其它用户界面对象收不到输入信息。
我们平时所遇到的大部分对话框都是模态对话框。
非模态对话框的典型例子是Windows95提供的写字板程序中的搜索对话框,搜索对话框不垄断用户的输入,打开搜索对话框后,仍可与其它用户界面对象进行交互,用户可以一边搜索,一边修改文章,这样就大大方便了使用。
本节主要介绍模态对话框,在第四节将介绍非模态对话框。
从MFC编程的角度来看,一个对话框由两部分组成:1.对话框模板资源。
对话框模板用于指定对话框的控件及其分布,Windows根据对话框模板来创建并显示对话框。
2.对话框类。
对话框类用来实现对话框的功能,由于对话框行使的功能各不相同,因此一般需要从CDialog类派生一个新类,以完成特定的功能。
5.1.2控件的基本概念图5.1对话框中的控件控件(Control)是独立的小部件,在对话框与用户的交互过程中,控件担任着主要角色。
控件的种类较多,图5.1显示了对话框中的一些基本的控件。
MFC的控件类封装了控件的功能,表5.1介绍了一些常用的控件及其对应的控件类。
表5.1控件实际上都是窗口,所有的控件类都是CWnd类的派生类。
MFC简单的登录对话框
登录对话框我们利用MFC编写一个简单的登录对话框。
主窗体是单文档界面。
程序运行的时候,先弹出一个简单的登录对话框,输入用户名和密码后主窗体显示出来。
1、开打VC++6.0。
点击文件,新建,点击工程中的MFC AppWizard(exe),在右边选择工程保存的位置,并且为工程取好名字。
2、点击确定后,选择单个文档,你可以一直点击下一步,直到完成,或者在这里直接点击完成即可,完成后界面如下。
3、点击工具栏中的“!”号试着编译运行一次,看是否有问题。
如果没有问题,我们继续。
点击左边的ResourceView,在Dialog上面鼠标右键单击弹出一弹出框,单击Insert Dialog。
4、在右边新增的对话框中,适当改变窗口大小,加入静态文本框和文本编辑框。
输入用户名:。
然后回车同样在下面的第二个静态文本框的属性标题改为:输入密码:。
然后回车。
6、在第一个文本编辑框上右键单击,点击属性,把ID框中的IDC_EDIT1改为容易理解的名字,如:IDC_EDIT_NAME,注意前面的IDC_EDIT最好不要去掉,这样容易见名而知义。
同样,对第二个文本编辑框的属性中的IDC_EDIT2改为:IDC_EDIT_PWD7、在对话框上的任何空白的地方右键单击,点击建立类向导。
然后弹出选择建立Create a new class,点击OK。
这是为这个对话框创建一个新的类。
在Name中,为该对话框类取个名字:CDlg_login。
下面的Base class以及Dialog ID不要随便改动。
然后点击OK。
这样新的类CDlg_login就与本对话框建立起了联系。
8、点击OK后,我们并没有退出建立类向导。
点击member variables。
9、左键双击IDC_EDIT_NAME(或者单击后,点击右边的add variables),为IDC_EDIT_NAME增加一个对应在类中的名字:m_login_name。
其他地方不要改动。