模态指令和非模态指令之间的区别是什么?

模态指令和非模态指令之间的区别是什么?,第1张

区别:

模态指令:只在所使用的本程序段中有效,程序段结束时,该指令功能自动被取消;

模态指令:一组可以互相注销的指令,这类指令一旦被执行,则一直有效,直到被同组的其他指令注销为止。

模态简介:

模态是结构的固有振动特性,每一个模态具有特定的固有频率、阻尼比和模态振型。这些模态参数可以由计算或试验分析取得,这样一个计算或试验分析过程称为模态分析。这个分析过程如果是由有限元计算的方法取得的,则称为计算模态分析;如果通过试验将采集的系统输入与输出信号经过参数识别获得模态参数,称为试验模态分析。通常,模态分析都是指试验模态分析。振动模态是d性结构的固有的、整体的特性。如果通过模态分析方法搞清楚了结构物在某一易受影响的频率范围内各阶主要模态的特性,就可能预言结构在此频段内在外部或内部各种振源作用下实际振动响应。因此,模态分析是结构动态设计及设备的故障诊断的重要方法。

非模态对话框

非模态(Modeless)对话框,又叫做无模式对话框,当用户打开非模态对话框时,依然可以 *** 作其他窗口。例如,Windows提供的记事本程序中的【查找】对话框。【查找】对话框不会垄断用户的输入,打开【查找】对话框后,仍可与其他用户界面对象进行交互。用户可以一边查找,一边修改文章,这样就大大方便了使用。

非模态对话框允许用户在处理非模态对话框的同时处理目标对话框。其不会垄断用户的输入,如图所示。Windows应用程序中,对话框分为两种。另一种是模态对话框。二者的区别在于当对话框打开时,是否允许用户进行其他对象的 *** 作。

要建立非模态对话框需要调用两个函数Create()和ShowWindow()

对话框分为两类:「模态的」和「非模态的」模态对话框:使用者不能在对话框与同一个程序中的另一个窗口之间进行切换,使用者必须主动结束该对话框,这藉由通过按一下「OK」或者「Cancel」键来完成。通常可以从目前的程序切换到另一个程序。而有些对话框(称为「系统模态」)甚至连这样的切换程序 *** 作也不允许。模态对话框和非模态对话框的区别:①DialogBox DialogBoxParam创建模态对话框CreateDialog CreateDialogParam创建非模态对话框②非模态对话框通常包含一个标题列和一个系统菜单按钮,这些是内定选项③非模态对话框如果省略了WS_VISIBLE,那么您必须在CreateDialog呼叫之后呼叫ShowWindow:④与模态对话框和消息框的消息不同,非模态对话框的消息要经过程序的消息队列。要将这些消息传送给对话框窗口消息处理程序,则必须改变消息循环:if (hDlgModeless == 0 || !IsDialogMessage (hDlgModeless, &msg)) 如果对话框句柄为0或者不是对话框消息,才发送给主窗口的消息处理程序⑤用DestroyWindow(hDlg)而不是EndDialog来结束非模态对话框,并将hDlgModeless整体变量设定为0。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7259329.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存