文档库 最新最全的文档下载
当前位置:文档库 › 对话框

对话框

对话框
对话框

对话框

●对话框分为模态对话框、无模态对话框和通用对话框。

●在资源文件中定义对话框模板。

●当程序调用基于模板的对话框时,windows负责创建弹出式对话框窗口,并在弹出式对话框窗口上创建在对话框模板中定义的子窗口控件,提供一个处理弹出式对话框窗口消息的窗口过程函数,完成这些功能的windows内部代码被称为对话框管理器。

●对话框管理器:Dialog Box Manager。

●对话框过程函数:Dialog Box Procedure。

●模态对话框的消息不经过WinMain()函数的消息循环:

●WM_INITDIALOG消息是对话框过程函数在对话框被显示之前接收到的消息,它是对话框过程函数接收到的第一个消息,用于完成初始化工作。

●DialogBox (hInstance, TEXT ("AboutBox"), hwnd, AboutDlgProc) 函数用于打开模态对话框,模态对话框的消息不经过程序的消息队列,直到对话框结束之后,用来显示对话框的DialogBox ()才将控制返回给WndProc()。

●在对话框过程函数中处理的消息,返回TRUE, 不处理的消息,返回FALSE。

●WM_COMMAND消息:在对话框过程函数中处理来自子控件的消息。

●函数EndDialog (hDlg, 0) 结束对话框,其中第二个参数的值作为DialogBox ()函数的返回值。

●WS_TABSTOP:对于所有要使用TAB键访问的子控件,都要在其窗口风格上指定WS_TABSTOP。

●WS_GROUP:Specifies the first control of a group of controls in which the user can move from one control to the next by using the arrow keys. All controls in the tab order after the first control with the Group property set to False belong to the same group. The next control in the tab order with Group set to True ends the first group of controls and starts the next group.

●无模态对话框有标题栏和一个系统菜单,无模态对话框的模板的风格为WS_POPUP |WS_CAPTION |WS_SYSMENU | WS_VISIBLE。

●无模态对话框:用函数hDlgModeless = CreateDialog (hInstance, TEXT ("ColorScrDlg"), hwnd, ColorScrDlg) 来创建。

●无模态对话框的消息消息经过WinMain()函数的消息循环。

while (GetMessage (&msg, NULL, 0, 0))

{

if(hDlgModeless==0||

!IsDialogMessage (hDlgModeless, &msg))

{

TranslateMessage (&msg) ;

DispatchMessage (&msg) ;

}

}

while (GetMessage (&msg, NULL, 0, 0))

{

if (hDlgModeless == 0 ||

!IsDialogMessage (hDlgModeless, &msg)) {

if (!TranslateAccelerator (hwnd, hAccel, &msg))

{

TranslateMessage (&msg) ;

DispatchMessage (&msg) ;

}

}

}

●无模态对话框使用DestroyWindow (hDlg) 函数而不是EndDialog()来结束对话框,在调用DestroyWindow (hDlg)之后,要把hDlgModeless全局变量置0。

case WM_CLOSE :

DestroyWindow (hDlg) ;

hDlgModeless = NULL ;

break ;

●通用对话框:open,save,find and search,color,font,print 这些通用对话框由相应的函数调用打开,为了使用这些函数,都要初始化某一结构的各个字段,并将该结构的指针传送给通用对话框的某个函数,该函数创建并显示通用对话框。当用户关闭通用对话框时,被调用的函数将控制返回给程序,您可以从传送给它的结构中获取信息。

●SendMessage (hwndEdit, EM_LIMITTEXT, 32000, 0L) ;给编辑控件发EM_LIMITTEXT消息(编辑控件能容纳的最多字符数)。

●FINDMSGSTRING:A Find or Replace dialog box sends the FINDMSGSTRING registered message to the window procedure of its owner window when the user clicks the Find Next, Replace, or Replace All button, or closes the dialog box.

●RegisterWindowMessage (FINDMSGSTRING) ;The

RegisterWindowMessage function defines a new window message that is guaranteed to be unique throughout the system. The message value can be used when sending or posting messages.

The FINDREPLACE structure contains information that the FindText and ReplaceText functions use to initialize the Find and Replace dialog boxes. The FINDMSGSTRING registered message uses this structure to pass the user's search or replacement input to the owner window of a Find or Replace dialog box.

typedef struct {

DWORD lStructSize;

HWND hwndOwner;

HINSTANCE hInstance;

DWORD Flags;

LPTSTR lpstrFindWhat;

LPTSTR lpstrReplaceWith;

WORD wFindWhatLen;

WORD wReplaceWithLen;

LPARAM lCustData;

LPFRHOOKPROC lpfnHook;

LPCTSTR lpTemplateName;

} FINDREPLACE, *LPFINDREPLACE;

●DWORD Flags;

FR_DIALOGTERM: If set in a FINDMSGSTRING message, indicates that the dialog box is closing. When you receive a message with this flag set, the dialog box handle returned by the FindText or ReplaceText function is no longer valid.

FR_FINDNEXT: If set in a FINDMSGSTRING message, indicates that the user clicked the Find Next button in a Find or Replace dialog box. The lpstrFindWhat member specifies the string to search for.

FR_REPLACE: If set in a FINDMSGSTRING message, indicates that the user clicked the Replace button in a Replace dialog box. The lpstrFindWhat member specifies the string to be replaced and the lpstrReplaceWith member specifies the replacement string.

FR_REPLACEALL:If set in a FINDMSGSTRING message, indicates that the user clicked the Replace All button in a Replace dialog box. The lpstrFindWhat member specifies the string to be replaced and the lpstrReplaceWith member specifies the replacement string.

●EM_SCROLLCARET:The EM_SCROLLCARET message scrolls the caret into view in an edit control.(把插入符滚入到窗口可见的地方)。

●EM_SETSEL: The EM_SETSEL message selects a range of

characters in an edit control.

Protel 99se(PCB板)系统参数对话框的设置

Protel 99se(PCB板)系统参数对话框的设置 Tools\Prefernces Options选项 ①Editing options Online DRC:设置在线设计规则检查,选中此项,系统会自动根据设计的规则进行检查。Snap To Center:当用户移动元件封装或字符串时,光标会自动移动其参考点。系统默认选中。 Extend Selection:当选定新的电路板组件时,系统不会取消对原来组件的选择。系统默认选中。 Remove Duplicates:系统是否自动删除重叠的图件。系统默认选中。 Confirm Global:在进行整体编辑时,系统是否弹出确认提示对话框。 Protect Locked Object:系统是否保护锁定对象。 ②Autopan options自动滚屏设置 Style:选择边移模式 Disable:取消边移功能 Re-Center:当光标移到编辑区边缘时,系统将以光标所在的位置为新的编辑区中心。 Fixed Size Jump:当光标移到编辑区边缘时,系统将以Step项的设定值为边移量往未显 示的区域移动。 Shift Accelerate:当光标移到编辑区边缘时,如果Shift Step项的设定值比Step项的设定值大的话,系统将以Step项的设定值为边移量往未显示的区域移动。 Shift Decelerate:当光标移到编辑区边缘时,如果Shift Step项的设定值比Step项的设 定值大的话,系统将以Shift Step项的设定值为边移量往未显示的区域 移动。 Ballistic:当光标移到编辑区边缘时,越往编辑区边缘移动,边移速度越快。 Adaptive:自适应方式。 ③Polygon repour多边形模式 Repour: Never从不提示 Threshold当原形对象超出一定范围时提示 Always总是提示 Threshold门限值设置 ④Other Rotation Step:旋转角度 Undo/Redo:撤销操作、重复操作的步数。 Cursor Types:设定光标的类型 ⑤Interactive routing:设置交互式布线模式 Mode:Ignore Obstacle系统在交互布线时会自动忽略障碍进行布线。 Avoid Obstacle系统在交互布线时会自动避开障碍进行布线。 Push Obstacle系统在交互布线时会自动移开障碍进行布线。 Plow Through Poly:使用多边形检测布线障碍。 Automatically Remove:当形成回路时,系统会自动删除此回路。

模式对话框和非模式对话框

复习复习和总结总结-关于模式与非模式对话框 复习复习和总结总结-关于模式与非模式对话框 对话框有两种创建方式:DoModal和Creat。其中DoModal创建的是模态的对话框,而Creat创建的是非模态的对话框下面总结下他们的不同。 对于模态的对话框,在该对话框被关闭前,用户将不能在同一应用程序的其他地方进行工作(例如open file对话框),而对于非模态的对话框,在它留在屏幕上的同时可以在其他的地方进行工作,(例如find file对话框) Create的Dialog一般是modalless,如果你的程序本身就是只有一个Dialog,就无所谓了,看不出modalless的效果。modalless本来就是让有机会切换到本程序的其他窗口。 下面摘抄一部分,很基础,很全面 非模态对话框的特点 与模态对话框不同,非模态对话框不垄断用户的输入,用户打开非模态对话框后,仍然可以与其它界面进行交互。 非模态对话框的设计与模态对话框基本类似,也包括设计对话框模板和设计CDialog类的派生类两部分。但是,在对话框的创建和删除过程中,非模态对话框与模态对话框相比有下列不同之处: ?非模态对话框的模板必须具有Visible风格,否则对话框将不可见,而模态对话框则无需设置该项风格。更保险的办法是调用 CWnd::ShowWindow(SW_SHOW)来显示对话框,而不管对话框是否具有 Visible风格。 ?非模态对话框对象是用new操作符在堆中动态创建的,而不是以成员变量的形式嵌入到别的对象中或以局部变量的形式构建在堆栈上。通常应在对话框的拥有者窗口类内声明一个指向对话框类的指针成员变量,通过该指针可访问对话框对象。 ?通过调用CDialog::Create函数来启动对话框,而不是 CDialog::DoModal,这是模态对话框的关键所在。由于Create函数不会启 动新的消息循环,对话框与应用程序共用同一个消息循环,这样对话框就不会垄断用户的输入。Create在显示了对话框后就立即返回,而DoModal 是 在对话框被关闭后才返回的。众所周知,在MFC程序中,窗口对象的生存期应长于对应的窗口,也就是说,不能在未关闭屏幕上窗口的情况下先把对应的窗口对象删除掉。由于在Create返回后,不能确定对话框是否已关 闭,这样也就无法确定对话框对象的生存期,因此只好在堆中构建对话框对

js弹出对话框的3种方式

js弹出对话框3种方式对话框有三种

1:只是提醒,不能对脚本产生任何改变; 2:一般用于确认,返回true 或者false ,所以可以轻松用于if...else...判断 3:一个带输入的对话框,可以返回用户填入的字符串,常见于某些留言本或者论坛输入内容那里的插入UBB格式图片 下面我们分别演示: @LANGUAGE="JA V ASCRIPT" CODEPAGE="936"%









对话框有三种
1:只是提醒,不能对脚本产生任何改变;
2:一般用于确认,返回true 或者false ,所以可以轻松用于 if     else     判断
3:一个带输入的对话框,可以返回用户填入的字符串,常见于某些留言本或者论坛输入内容那里的插入UBB格式图片
下面我们分别演示:
演示一:提醒对话框

  

演示二:确认对话框

  

演示三:要求用户输入,然后给个结果

  

win32设计菜单、点击显示弹出对话框(内含可实现源代码)

专业课程实验报告课程名称:windows程序设计 开课学期:2015至2016学年第1学期 专业:计算机科学与技术年级班级:2013级 学生姓名:刘敏学号:222013********* 实验教师:刘红俊 计算机与信息科学学院软件学院

wcex.lpszMenuName = MAKEINTRESOURCE(IDC_WIN32PROJECT2); 2.对话框资源及其应用: 1)模式对话框: ①定义对话框资源: 资源文件中如此定义对话框资源: 对话框名 DIALOGEX x,y,weight,hight STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "" FONT 9, "" BEGIN 对话框的控件定义 END ②调用函数DiaLogBox显示对话框; ③构造对话框消息处理函数; ④关闭对话框。 2)非模式对话框: ①定义非模式对话框: STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU|WS_VISIBLE ②创建对话框函数: HWND CreateDialog{hInst, MAKEINTRESOURCE(IDD_SHOWBOX),hWnd,(DLGPROC)DlgProc} ③消息循环: while (GetMessage(&msg, NULL, 0, 0)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } ④关闭对话框: DestroyWindow(hDlg); 3)程序加载图标: IDI_WIN32PROJECT2 ICON "Win32Project2.ico" IDI_SMALL ICON "small.ico"

JavaScript自定义模式对话框

JavaScript自定义模式对话框 https://www.wendangku.net/doc/e511236169.html, 更新日期:2006-09-19 10:03 网页教学网 Response.Write(""); Response.Write("

");

intouchmsgbox用户确认窗口脚本说明

In touch在做按钮动作和调试脚本时,经常需要用户确认窗口,根据用户点击的是”否”确认”取消”“0等取得返回值,从而根据用户二次确认以获得最终结果,下面给出两种 MessageBox窗口的脚本,给大家参考: 方案A: 采用In touch系统自带的OLE控件自行编写MsgBox。缺点是创建的用户界面对话框可能会被其他窗口覆盖,不易别察觉。 下面是一个例子: 1. 创建用户界面对话框 2. 在脚本中,使用以下命令产生用户界面对话框: 3. 3. dim DlgBody as message; 4. dim DlgTitle as message; 5. dim Style as in teger; 6. dim Result as in teger; 8. 7. OLE_CreateObject(%WS,""); 8. result = %(DlgBody,1,DlgTitle,Style); 11. 9. 本例创建以下用户界面对话框 10. Style标记名确定有哪些图标与按钮出现在对话框上。使用以下值: 复制代码 1. 图标样式值 2. (无图标)无图标0 3. 错误图标16 4. 问号图标32 5. 警告图标48 6. 信息图标64 7. 7. 要使用特定的按钮,请将以下值之一添加到Style值: 8. 值样式 9. 0仅确定按钮 10. 1确定与取消按钮 11. 2放弃、重试及忽略按钮 12. 3是、否及取消按钮 13. 4是与否按钮 14. 5重试与取消按钮 15. 6取消、重试及继续按钮 17. 16. Result标记名包含用户单击的按钮编号。这可用作In Touch脚本中的条件分支。 可能的结果码如下: 17. 结果值含义 18. 1按了确定按钮 19. 2按了取消按钮 20. 3按了放弃按钮

界面设计

第十章界面设计 教学目的及要求: 掌握菜单的设计、对话框的使用、MDI界面。 重点与难点: 1.掌握下拉式菜单、弹出式菜单的设计方法 2.掌握设计自定义对话框及对话框之间的调用 主要外语词汇: menu、popupmenu、commondialog 授课内容: 第一节菜单设计与应用 菜单(Menu)的分类: (1)下拉式菜单(2)弹出式菜单(快捷菜单) VB的菜单系统最多共达6层。 VB中的每一个菜单项都可以视为一个控件。 菜单控件只接受一个事件,即Click事件。 一、菜单编辑器: 1、打开方法: (1)工具 -> 菜单编辑器(2)工具栏 -> 菜单编辑器 (3)Ctrl+E (4)窗体(右键)-> 菜单编辑器 2、菜单编辑器共分三个区: 属性设置区、编辑区、菜单项列表区。 (1)标题:相当于菜单控件的Caption属性。 热键:&字符,运行时访问字符会自动加上一条下划线,“&”字符则不可见。 打开:Alt+字符 只有主菜单项才有热键的设置。 另外,CommandButton的Caption属性。 (2)名称:相当于菜单控件的Name属性,一般以mnu作为前缀,不能为空。 (3)索引:设置菜单项控件数组的下标。 若不是控件数组,则不用设置Index值。 Index值可以从任意值开始。 注:菜单项控件数组索引必须为升序。 (4)快捷键:列表框中是供用户选择的快捷键。

例:文件(F) 打开(O) Ctrl+O 主菜单:Alt+F 子菜单:(1)在显示出菜单的情况下,直接按字母“O” (2)直接按Ctrl+O (5)复选:是否加上复选标记(默认为未选定)。 注:不能在顶层菜单项和含有下层级联菜单的菜单项中加快捷键和复选标志。 (6)有效:Enabled,是否可用(默认为被选定)。 (7)可见:Visible,是否可见(默认为被选定)。 (8)内缩符号 <- ->:确定菜单的级别,可以上移或下移一个等级。 顶层菜单不需要内缩符号。 (9)下一个(10)插入:上插(11)删除 (12)分隔线:标题文本框中键入一个“-”。 二、下拉式菜单: 1、主菜单(顶层菜单)、子菜单 2、热键(访问键)、快捷键、分隔线 3、菜单控件数组: 例题10-2: Clipboard是VB提供的剪贴板对象。 Text1.SelText:文本框中选中的文本。 (1)Clipboard.SetText( ):将括号中的文本送到剪贴板中。 (2)Clipboard.GetText( ):返回剪贴板当前的内容。 (3)Clipboard.Clear:清空剪贴板中的内容。 4、菜单项的增减: 利用控件数组,通过代码的方式实现动态地增减菜单中的菜单项。 (1)增加菜单项:Load 控件数组名(索引值) (2)删除菜单项:UnLoad 控件数组名(索引值) (3)用Load方法不能复制控件数组元素的Top、Left和Visible属性。 (4)Load只能添加已有控件数组的元素,不能创建控件数组。 (5)Unload方法只能删除用Load添加的元素,不能删除设计时创建的控件数组元素。 三、弹出式菜单(快捷菜单): 1、建立步骤: (1)利用“菜单编辑器”建立菜单 设置顶级菜单项为不可见,即不选中菜单编辑器里的“可见”选项。 (2)利用PopupMenu方法显示弹出式菜单。 编写与弹出式菜单相关联的MouseUp或MouseDown事件过程,其中用到对象的

JavaScript弹出对话框的三种方式

执行上面的小例子,在页面上弹出对话框并显示一句话“上联:山石岩下古木枯”,如下所示:

接着,单击“确认”按钮后再显示第二个对话框并显示“白水泉边少女妙!”,效果如下; 在页面上弹出对话框并显示一句话“上联:山石岩下古木枯”,单击“确认”按钮后再显示第2个对话框并显示“白水泉边少女妙!”我们来分析一下这个小例子: a、在 对话框有三种 1:只是提醒,不能对脚本产生任何改变;

认识窗口

第四课《认识窗口》 教学目标: 1、掌握打开窗口的方法。 2、了解窗口的组成。 教学内容: 1、打开窗口的方法。 2、窗口的组成。 教学重点: 打开窗口的方法和窗口各部分的名称。 教学难点: 窗口各部分的名称。 教法指导: 1、教师教授 2、任务驱动 3、学生讨论 4、实际操作 教学用具: 1、教具 2、多媒体 课时安排: 一课时 教学过程: 一、导入 1、回忆上节课学习内容,想想,在电脑完全开启之后,我们的显示器上显示了些什么?还有那个同学记得? 2、看上去有些同学已经忘记了,那好吧,让我们开启我们的电脑,进去看看是什么? (学生开启电脑)

3、师:“现在你们看到了什么?谁能来再说一说? 4、引出本节课课题。 二、新授 任务一、认识桌面上的“图标” 1、认识桌面。 2、桌面上都有些什么? (桌面背景、桌面图标、开始菜单、任务栏) 3、什么是桌面图标? (是windows中对使用的程序、文件的一种表示方式,图标可以通过双击打开。图标一方面告诉你它的名字,另一方面告诉你它和其他的不同,是自身的一个标志,像自己的脸,让别人看到后认识,也犹如一扇门,你可以打开他看到里面的很多东西) 4、认识常用图标 我的文档 我的电脑 回收站 其他图标的初步了解(程序、文件) 5、桌面图标打开的方法(双击),打开后关闭的方法。 任务二、掌握“开始”按钮的操作

1、教师讲解“开始”菜单的作用,使学生初步理解。 2、对“开始”菜单进行操作演示,使学生明白,电脑中有更多的东西他们都有一个犹如封皮的图标放在“开始”菜单里方便我们查找和使用。 3、教师演示“开始”菜单的基本操作。 ) 菜单内程序或者文件的打开方法(单击) 任务三、认识“任务栏: 通过讲解和演示来学习“任务栏”的作用和组成介绍,学生初步认识。 三、学生练习 动手操作:通过“开始”菜单打开“记事本”“画图”和“计算器”。 四、课堂小结 总结本节课所学知识及所掌握了的技能。 四、作业布置 1、熟记windows“桌面”的组成部分。 2、举例说明图标的作用。 3、对开始菜单操作练习。

对话框的属性在代码中设置

对话框的属性在代码中设置(源文件) 针对对话框的控件的属性设置代码如下,可以拿来直接使用,无须改动,直接嵌入到你的程序代码,提高编程效率。 文件BtnST.h 头文件 // Class: CButtonST // // Compiler: Visual C++ // Tested on: Visual C++ 5.0 // // Version: See GetVersionC() or GetVersionI() // // Created: xx/xxxx/1998 // Updated: 19/September/1999 // // Author: Davide Calabro' davide_calabro@https://www.wendangku.net/doc/e511236169.html, // #ifndef _BTNST_H #define _BTNST_H #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 // CBtnST.h : header file // // Comment this if you don't want that CButtonST hilights itself // also when the window is inactive (like happens in Internet Explorer) //#define ST_LIKEIE // Comment this if you don't want to use CMemDC class //#define ST_USE_MEMDC ///////////////////////////////////////////////////////////////////////////// // CButtonST window class CButtonST : public CButton { // Construction public: CButtonST(); ~CButtonST();

教学设计操作窗口与对话框

操作窗口和对话框 【学科】:计算机基础 【课型】:“任务引领型”活动课 【课时】:1课时 【学习内容分析】 本次课学习内容是选自高等教育出版社《计算机应用基础教材》(WindowsXP+Office 2003)第二章“Windows XP操作系统”的“2.1Windows XP入门”任务4内容,在这次课里,学生主要是在前面任务3——认识WindowXP 窗口和对话框的基础上,进一步熟练掌握窗口及对话框相关操作。 【教学对象分析】 教学对象为是中职计算机专业一年级学生,学生活跃好动,喜欢自己动手探究。 学生来自广州市区,从小学开始接触过计算机,属于非零起点学生。他们对于Windows 操作比较熟悉,只是还没有形成比较系统化、清晰化的概念。 【教学目标】 【教学理念】 以游戏激趣法、行动导向法,探究发现法、任务驱动法为主,充分体现“做中学、做中

教”的教学理念,把促使学生学会学习、思考、研究、合作的思想渗透在整个教学过程中,通过发现方法,解决问题,最大限度地发挥学生的学习积极性。 从关注学生的个体差异出发,又采用了分层教学法、竞争激励法,使得全体学生都得到发展和提高。 【教学重难点】 重点:窗口和对话框的基本操作 难点: 1、帮助和支持中心的使用。 2、窗口的相关使用技巧。 【教学准备】 1、学习环境准备 (1)机房环境准备:学生机、多媒体广播系统 2、素材准备:“对号入座”小游戏、闯关游戏、学习视频课件、闯关记录表 3、学生准备:全体学生按座位相邻的进行分组,为小组竞赛学习做好准备。本次课将全 班学生分为4大组。 【教学过程】

【教学流程图】 符号表示法: 教学环节教师活动 学生活动

ansys中几种对话框的认识与设置

ansys中几种对话框的认识与设置 1.图形变换对话框按快捷功能图标或utility\PlotCtrls\Pan Zoom Rote 出现下面所示图形变换对话框 图形变换对话框 1. windows 后面选择有1. 2.3……all 当对某个对象进行图形变换时就选择对应的编号。选al时,则所有的窗口都变换

2.Front +Z向视图 Top +Y向视图 Right +X向视图 Back —Z向视图 Bot —Y向视图 Light —X向视图 Iso 等轴视图 Obliq斜视图 WP 工作平面视图 3.拾取矩形窗口的图形 Zoom:中心点+矩形区域内的任意点 Box Zoom:角点+对角点 WIn Zoom角点+其他边线上的一点 Back Up:退回到最后一次图形变换前的显示状态 4.Dynamic Mode选中时 Mode:可以用鼠标动态进行图形变换 Lights:可以用鼠标动态进行光源变换 Ctrl+鼠标左键:360度平移模型或光源 Ctrl+鼠标中建:前后移动缩放、左右移动旋转模型或光源 Ctrl+鼠标右键:旋转模型或光源 5.Fit 单击使整个模型自适应充满整个图形窗口 2.图形拾取对话框

图形拾取对话框 1.选取方法 single:用鼠标逐个拾取对象Box:定义一个矩形框选取对象Circle:定义一个圆形拾取对象Loop:鼠标选取对象 2.拾取对象状态信息 count:总数目 maximum:最大拾取数目minimum:最小数去数目

3.对象拾取模式切换 list of Items 鼠标拾取 min max inc人工定义编号拾取 4.reset:清空所有拾取,回复到重新拾取状态3.工作平面对话框(显示与捕捉) 工作平面设置对话框 Cartesian:直角坐标 Polar:极坐标

模态对话框的实现原理

MFC 模态对话框的实现原理 1人收藏此文章, 发表于10个月前(2012-09-30 11:20) , 已有471次阅读,共1个评论 1. 模态对话框 在涉及GUI程序开发的过程中,常常有模态对话框以及非模态对话框的概念 模态对话框:在子界面活动期间,父窗口是无法进行消息响应。独占用户输入非模态对话框:各窗口之间不影响 主要区别:非模态对话框与APP共用消息循环,不会独占用户。 模态对话框独占用户输入,其他界面无法响应 在用户层的主要逻辑如下: TestDlg dlg; if (dlg.DoModal() == IDOK) { //处理完毕后的操作 } .......//后续处理 在具体实现中,有如下几个步骤: 1. 让父窗口失效EnableWindow(parentWindow, FALSE) 2. 建立模态对话框自己的消息循环(RunModalLoop) 3. 直至接收关闭消息,消息循环终止,并销毁窗口。 INT_PTR CDialog::DoModal() { //对话框资源加载 ...... //在创建模态窗口之前先让父窗口失效,不响应键盘、鼠标产生的消息 HWND hWndParent = PreModal(); AfxUnhookWindowCreate(); BOOL bEnableParent = FALSE; if (hWndParent && hWndParent != ::GetDesktopWindow() && ::IsWindowEnabled(hWndParent))

{ ::EnableWindow(hWndParent, FALSE); bEnableParent = TRUE; ....... } //创建模态窗口,并进行消息循环,若窗口不关闭,则循环不退出 AfxHookWindowCreate(this); VERIFY(RunModalLoop(dwFlags) == m_nModalResult); //窗口关闭,销毁窗口 DestroyWindow(); PostModal(); //释放资源,并让父窗口有效 pMainWnd->EnableWindow(TRUE); //返回 return m_nModalResult; } 2. 模态窗口中的消息循环 int CWnd::RunModalLoop(DWORD dwFlags) { //要检查窗口状态是否是模态窗口 //若状态一直为模态,则一直进行消息循环 for (;;) { ASSERT(ContinueModal()); // phase1: check to see if we can do idle work while (bIdle && !::PeekMessage(pMsg, NULL, NULL, NULL, PM_NOREMOVE)) { ASSERT(ContinueModal()); // show the dialog when the message queue goes idle if (bShowIdle) { ShowWindow(SW_SHOWNORMAL);

winform窗体点击删除按钮如何弹出确认删除对话框

winform窗体点击删除按钮如何弹出确认删除对话框? 答:在按钮的点击事件里写代码: if (MessageBox.Show("确定删除?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes) { ................. } 在按钮的点击事件里写代码: if (MessageBox.Show("确定删除?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes) { ................. } 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、Visual Studio 2010快捷键大全 【窗口快捷键】 Ctrl+W,W: 浏览器窗口 Ctrl+W,S: 解决方案管理器 Ctrl+W,C: 类视图 Ctrl+W,E: 错误列表 Ctrl+W,O: 输出视图 trl+W,P: 属性窗口 Ctrl+W,T: 任务列表 Ctrl+W,X: 工具箱 Ctrl+W,B: 书签窗口 Ctrl+W,U: 文档大纲 Ctrl+D,B: 断点窗口 Ctrl+D,I: 即时窗口 Ctrl+Tab: 活动窗体切换 CTRL + SHIFT + C显示类视图窗口 F4显示属性窗口 SHIFT + F4显示项目属性窗口 Alt-Enter:显示选中对象的属性(这是个常用的windows快捷键,可以用显示目录和文件的属性) Ctrl-Alt-L:显示解决方案浏览器 【工具快捷键】 Ctrl+Shift+N: 新建项目

Ctrl+Shift+O: 打开项目 Ctrl+Shift+S: 全部保存 Shift+Alt+C: 新建类 Ctrl+Shift+A: 新建项 Shift+Alt+Enter: 切换全屏编辑 Ctrl+B,T / Ctrl+K,K: 切换书签开关 Ctrl+B,N / Ctrl+K,N: 移动到下一书签 Ctrl+B,P: 移动到上一书签 Ctrl+B,C: 清除全部标签 Ctrl+I: 渐进式搜索 Ctrl+Shift+I: 反向渐进式搜索 Ctrl+F: 查找 Ctrl+Shift+F: 在文件中查找 F3: 查找下一个 Shift+F3: 查找上一个 Ctrl+H: 替换 Ctrl+Shift+H: 在文件中替换 Alt+F12: 查找符号(列出所有查找结果) Ctrl+Shift+V: 剪贴板循环 Ctrl+左右箭头键: 一次可以移动一个单词 Ctrl+上下箭头键: 滚动代码屏幕,但不移动光标位置。Ctrl+Shift+L: 删除当前行 Ctrl+M,M: 隐藏或展开当前嵌套的折叠状态 Ctrl+M,L: 将所有过程设置为相同的隐藏或展开状态Ctrl+M,P: 停止大纲显示 Ctrl+E,S: 查看空白 Ctrl+E,W: 自动换行 Ctrl+G: 转到指定行 Shift+Alt+箭头键: 选择矩形文本 Alt+鼠标左按钮: 选择矩形文本 Ctrl+Shift+U: 全部变为大写 Ctrl+U: 全部变为小写 Ctrl+m+Crtr+o折叠所有大纲 Ctrl+M+Crtr+P: 停止大纲显示 Ctrl+K+Crtr+C: 注释选定内容 Ctrl+K+Crtr+U: 取消选定注释内容 Ctrl+J : 列出成员智能感知 Ctrl-Shift-Space 强迫智能感知显示参数信息: Shift+Alt+Enter: 切换全屏编辑 Ctrl+B,T / Ctrl+K,K: 切换书签开关 Ctrl+B,N / Ctrl+K,N: 移动到下一书签 Ctrl+B,P: 移动到上一书签 Ctrl+B,C: 清除全部标签 Ctrl+I: 渐进式搜索

对话框与窗口的区别

对话框与窗口的区别: 对话框与窗口很相似,但是工作起来不同,因为对话框不能改变大小,而窗口一般都可以进行最大化和最小化等操作。一般而言,当屏幕显示一个对话框时,对文档窗口的其他操作将不起作用,直到该对话框关闭为止。 电脑里的屏幕保护程序有什么用处,得分情况讨论。 部分电脑的屏幕保护程序有省电的作用(因为有的显示器在屏幕保护作用下屏幕亮度小于工作时的亮度这样有助于省电),更重要的是还可以保护你的显示器。(在未启动屏保的情况下)当你长时间不使用电脑的时候显示器的屏幕长时间显示不变的画面,这将会使屏幕发光器件疲劳变色/甚至烧毁/最终使屏幕,某个区域偏色或变暗. 活动课题:认识Windows98窗口 教学重点:移动窗口、改变窗口大小、最小化窗口的关闭 教学难点:窗口操作的综合应用 教学方法:任务驱动法、演示与讲解相结合、赏识教育法 协作学习法、练习法、讨论与自学相结合 一、出示问题:Windows98操作系统的特点是什么? 指名学生回答:通过显示在屏幕上一个个“窗口”,与电脑进行交流,并指挥电脑工作,每运行一个应用程序,都会打开一个窗口。(学生回答后,出示答案) 引出问题:那么,Windows98窗口是由哪几个部分组成的,每一组成部分又有怎样的功能呢? 引出课题并出示:以前面我们学习汉字输入时打开的“写字板”窗口为例,这节课让我们共同来认识Windows窗口。 二、学习过程: (一)出示学习任务。 将本节内容分解为两个大的任务:窗口组成观察和各组成部分的功能使用。 (目的:让学生对学习内容有直观认识,通过设置学习任务驱动学生自主学习和协作学习能力的培养。) (二)出示学习目标,明确学习目的。 (三)任务解决过程: 组成:分为标题栏、菜单栏、工具栏、最大化按钮、最小化按钮、关闭按钮。 教师指导:请同学们打开“写字板”,对照课本P35插图认识“写字板”窗口的组成,并分别找到这6个组成部分。

VS2010MFC编程入门之十一(对话框:模态对话框及其弹出过程)

加法计算器对话框程序大家照着做一遍后,相信对基于对话框的程序有些了解了,有个好的开始对于以后的学习大有裨益。趁热打铁,鸡啄米这一节讲讲什么是模态对话框和非模态对话框,以及模态对话框怎样弹出。 一.模态对话框和非模态对话框 Windows对话框分为两类:模态对话框和非模态对话框。 模态对话框是这样的对话框,当它弹出后,本应用程序其他窗口将不再接受用户输入,只有该对话框响应用户输入,在对它进行相应操作退出后,其他窗口才能继续与用户交互。 非模态对话框则是,它弹出后,本程序其他窗口仍能响应用户输入。非模态对话框一般用来显示提示信息等。 大家对Windows系统很了解,相信这两种对话框应该都遇到过。之前的加法计算器对话框其实就是模态对话框。 二.模态对话框是怎样弹出的 毕竟加法计算器程序大部分都是MFC自动生成的,对话框怎么弹出来的大家可能还不是很清楚。鸡啄米下面简单说说它是在哪里弹出来的,再重新建一个新的对话框并弹出它,这样大家实践以后就能更灵活的使用模态对话框了。 大家打开Addition.cpp文件,可以看到CAdditionApp类有个InitInstance()函数,在M FC应用程序框架分析中提到过此函数,不过那是单文档应用程序App类中的,函数体不太相同,但都是进行App类实例的初始化工作。

InitInstance()函数的后半部分有一段代码就是定义对话框对象并弹出对话框的,鸡啄米下面给出这段代码并加以注释: 弹出对话框比较关键的一个函数,就是对话框类的DoModal()函数。CDialog::DoModa l()函数的原型为:

virtual INT_PTR DoModal(); 返回值:整数值,指定了传递给CDialog::EndDialog(该函数用于关闭对话框)的nR esult参数值。如果函数不能创建对话框,则返回-1;如果出现其它错误,则返回IDABOR T。 调用了它对话框就会弹出,返回值是退出对话框时所点的按钮的ID,比如,我们点了“退出”按钮,那么DoModal返回值为IDCANCEL。 三.添加一个新对话框并弹出它 鸡啄米再为加法计算器程序添加一个对话框,以在计算之前询问用户是否确定要进行计算。大家可以完整的看下对话框的添加和弹出过程。 1.根据“创建对话框模板和修改对话框属性”中所讲的方法,在Resource View中的“Di alog”上点右键选择“Insert Dialog”,创建一个新的对话框模板,修改其ID为IDD_TIP_DIA LOG,Caption改为“提示”,然后参考“为对话框添加控件”中所讲,在对话框模板上添加一个静态文本框(static text),Caption改为“您确定要进行加法计算吗?”,接下来修改OK 按钮的Caption为“确定”,Cancel按钮的Caption为“取消”,最后调整各个控件的位置和对话框的大小。最终的对话框模板如下图: 2.根据“创建对话框类和添加控件变量”中创建对话框类的方法,在对话框模板上点右键选择“Add Class...”,弹出添加类的对话框,设置“Class name”为CTipDlg,点“OK”。在S olution Explorer中可以看到生成了CTipDlg类的头文件TipDlg.h和源文件TipDlg.cpp。 3.我们要在点“计算”按钮之后弹出此提示对话框,那么就要在“计算”按钮的消息处理函数OnBnClickedAddButton()中访问提示对话框类,所以为了访问CTipDlg类,在Addition Dlg.cpp中包含CTipDlg的头文件:#include "TipDlg.h"。 4.修改OnBnClickedAddButton()的函数体,在所有代码前,构造CTipDlg类的对象tip Dlg,并通过语句tipDlg.DoModal();弹出对话框,最后判断DoModal()函数的返回值是IDO K还是IDCANCEL来确定是否继续进行计算。OnBnClickedAddButton()函数修改后如下: C++代码

C#对话框使用教程

C#对话框使用教程 除了PrintPreviewDialog外,其他对话框类都派生于抽象基类CommonDialog,这个基类的方法可以管理Windows通用对话框。 对话框适用的场合: 1.要让用户选择和浏览要打开的文件,应使用OpenFileDialog。这个对话框可以配置为只允许选择一个文件,或可以选择多个文件。 2.使用SaveFileDialog,用户可以为要保存的文件指定一个文件名和浏览的路径。 3.PrintDialog用户选择一个打印机,并设置打印选项。 4.配置页面的边距,通常使用PageSetupDialog。 5.PrintViewDialog是在屏幕上进行打印预览的一种方法,并有一些选项如缩放。 6.FontDialog列出了所有已安装的Windows字体、样式和字号,以及各字体的预览效果,以便选择字体。 7.ColorDialog用于选择颜色。 文件对话框: ●OpenFileDialog:打开文件对话框 ●SaveFileDialog:保存文件对话框

打开文件对话框 OpenFileDialog ofd =new OpenFileDialog(); ofd.ShowDialog(); 会弹出一个打开文件的对话框。 通过修改对象的Title属性,可以更改对话框的标题 现在显示的是“打开”,做如下设置 ofd.Title ="设置后标题文字:)"; 再次运行程序,我们就会看到相应的修改

我们还可以通过设置InitialDirectory属性来使打开文件对话框打开时在一个设置好的默认路径上。它的默认值是一个空字符串,表示用户的“我的文档”目录,第一次在应用程序中使用这个对话框时,就显示“我的文档”目录下的文件,第二次再打开对话框时,显示的目录就与上一次打开的文件所在的目录相同。 在实际使用的时候,不要写死一个路径,如果用户不存在这个路径会出现错误。为了获取特定的系统文件夹,可以使用System.Environment类的静态方法GetFolderPath()。该方法接受一个Environment.SpecialFolder枚举,其中可以定义要返回路径的哪个系统目录。 ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Templates); 设置文件过滤器用于打开文件对话框中显示特定类型的文件。 ofd.Filter ="Text Document(*.txt)|*.txt|All Files|*.*|我要显示的文件类型(*.exe)|*.exe";

相关文档
相关文档 最新文档