精华内容
下载资源
问答
  • Windows的对话框

    2013-04-18 18:08:47
    Windows的对话框根据其与父窗口的关系,可分为模式对话框与无模式对话框两类。 模式(modal)对话框:当该类对话框运行时,其父窗口无效,直到该对话框结束。 无模式(modeless)对话框:该类对话框可与父窗口共同...

    Windows的对话框根据其与父窗口的关系,可分为模式对话框与无模式对话框两类。

    模式(modal)对话框:当该类对话框运行时,其父窗口无效,直到该对话框结束。

    无模式(modeless)对话框:该类对话框可与父窗口共同运行。

     

    一个完整的对话框一般包含对话框面板与函数两部分:

    对话框模版:是在RC文件中定义的一个对话框,以各种方式决定对话框的大小、有哪些控件、各在什么位置等。

    对话框函数:其函数原型非常类似于窗口函数。但是它通常只处理WM_INITDIALOG和WM_COMMAND两个消息。对话框中的各个控件也都是小窗口,各有对应的窗口函数,它们通过消息传递与其父窗口沟通。而所有的控件传来的消息都是WM_COMMAND,再根据其参数分辨是哪一种控件以及哪一种消息。

     

    原型:int DialogBox ( HINSTANCE hInstance, LPCTSTR IpTemplate, HWND hWndParent, DLGPROC IpDialogFunc)

    参数:第一个参数hInstance用于标识应用程序的实例,该程序的可执行文件含有对话框模版。

                第二个参数IpTemplate用于标识对话框模版,此参数可以是指向一个以NULL结尾的字符串的指针,该字符串指定对话框模版名,也可以是指定对话框模版的资源标识符中的一个整型值。

               第三个参数hWndParent用于指向该对话框的父窗口。

               第四个参数lpDialogFunc表示一个指向对话框过程的指针。

     

    如果函数调用成功,则返回非0值,其为函数EndDialog()的调用中的nResult参数。

    如果函数调用失败,则返回值为0。

    展开全文
  • 今天整理以往项目代码,发现自己以前在...Windows目录对话框是一个标准的WindowsUI控件,其可以列出一个目录列表,并且可以显示新增按钮。由于Delphi中并没有提供对于该控件封装,所以新手(包括当年我)大多...

    今天整理以往的项目代码,发现自己以前在网上找到的一段Delphi开启Windows目录对话框的代码,觉得对许多Delphi初学者很有用,特转贴出来。由于时间过久已经无法知道是从什么地方摘录的,在此特向原作者表示感谢!

    Windows目录对话框是一个标准的WindowsUI控件,其可以列出一个目录列表,并且可以显示新增按钮。由于Delphi中并没有提供对于该控件的封装,所以新手(包括当年的我)大多使用Win31目录下的DriverList、DirectoryList、FileList和FileFilterList四个控件进行组合来获取当前目录,这样操作复杂且不美观。有的高手可以直接用WindowsAPI调用Windows目录对话框,但我确直到找到该段代码前还是使用最原始的方法{叹自己的懒惰呀!}

    该段代码分为两个部分:(1)控件代码 (2)调用代码
    (1)控件代码:由于该控件没有封装成Delphi控件格式,其使用方法有些原始,就是将它的源文件BrowseForFolderU.pas复制到当前项目目录并添加到当前项目中。代码如下{是别人高手写的,致敬呀......}
    unit BrowseForFolderU;

    interface
    function BrowseForFolder(const browseTitle: String;
    const initialFolder: String = ''): String;

    implementation
    uses Windows, shlobj;
    var
    lg_StartFolder: String;

    ///
    // Call back function used to set the initial browse directory.
    ///
    function BrowseForFolderCallBack(Wnd: HWND; uMsg: UINT;
    lParam, lpData: LPARAM): Integer stdcall;
    begin
    if uMsg = BFFM_INITIALIZED then
    SendMessage(Wnd,BFFM_SETSELECTION,1,Integer(@lg_StartFolder[1]));
    result := 0;
    end;

    ///
    // This function allows the user to browse for a folder
    //
    // Arguments:-
    // browseTitle : The title to display on the browse dialog.
    // initialFolder : Optional argument. Use to specify the folder
    // initially selected when the dialog opens.
    //
    // Returns: The empty string if no folder was selected (i.e. if the
    // user clicked cancel), otherwise the full folder path.
    ///
    function BrowseForFolder(const browseTitle: String;
    const initialFolder: String =''): String;
    const
    BIF_NEWDIALOGSTYLE = $40;
    var
    browse_info: TBrowseInfo;
    folder: array[0..MAX_PATH] of char;
    find_context: PItemIDList;
    begin
    FillChar(browse_info,SizeOf(browse_info),#0);
    lg_StartFolder := initialFolder;
    browse_info.pszDisplayName := @folder[0];
    browse_info.lpszTitle := PChar(browseTitle);
    browse_info.ulFlags := BIF_RETURNONLYFSDIRS or BIF_NEWDIALOGSTYLE;
    if initialFolder <> '' then
    browse_info.lpfn := BrowseForFolderCallBack;
    find_context := SHBrowseForFolder(browse_info);
    if Assigned(find_context) then
    begin
    if SHGetPathFromIDList(find_context,folder) then
    result := folder
    else
    result := '';
    GlobalFreePtr(find_context);
    end
    else
    result := '';
    end;

    end.

    (2)调用代码:和一般函数调用很类似。先在调用窗口pas文件前引用一下该控件文件
    uses
     BrowseForFolderU;
    然后是"八股"代码
    procedure TForm1.BtnSampleExecute(Sender: TObject); //演示按钮Click事件函数
    var
    oPath,oPath1,outMsg:String;
    begin
    oPath1 := 'c:\';//目录对话框的初始目录
    outMsg := 'Windows目录对话框演示';//目录对话框上显示的提示信息
    oPath := BrowseForFolder(outMsg,oPath1);//启动Windows目录对话框,一句话就解决了。
    if oPath = '' then //如果返回地址为空,则报错
    begin
    outMsg := '你没有选取任何目录!';
    Application.MessageBox(PChar(outMsg),'WARNING',0);
    Exit;
    end;
    else //否则由oPath中提取选取目录地址,进行操作
    begin
       //你的操作代码
    end;
    end;

    就这么简单咯,希望能给Delphi初学者一点帮助。

    转载于:https://www.cnblogs.com/yankchina/archive/2006/11/30/577216.html

    展开全文
  • 展开全部电脑老是弹出脱机工作的对话框的原因如下:1、可能设置e69da5e6ba9062616964757a686964616f31333365653332让 Microsoft Windows 检查您的网站并自动发现网络连接设置(如果您的网络管理员已经启用此设置)。...

    展开全部

    电脑老是弹出脱机工作的对话框的原因如下:

    1、可能设置e69da5e6ba9062616964757a686964616f31333365653332让 Microsoft Windows 检查您的网站并自动发现网络连接设置(如果您的网络管理员已经启用此设置)。

    2、一种情况就是关于IE的设置问题。

    解决方法:

    1、打开本地IE浏览器,点开工具栏,把脱机工作前的勾去掉,关闭浏览器即可。

    2、鼠标右键点IE——属性——连接,选择从不进行拨号连接——应用——确定——启电脑。

    “拓展资料”:

    在图形用户界面中,对话框(又称对话方块)是一种特殊的视窗, 用来在用户界面中向用户显示信息,或者在需要的时候获得用户的输入响应。之所以称之为“对话框”是因为它们使计算机和用户之间构成了一个对话——或者是通知用户一些信息,或者是请求用户的输入,或者两者皆有。

    不同的用户交互使用不同的对话框。最简单的对话框是警告,它显示一个信息并且仅仅需要一个信息已读的响应(通常是单击'确定'按钮或“关闭”命令的对话框)。用来为一个操作提供警告和简单的确认,也可能包括程序终止或崩溃的提示,以及用户有意或无意的关闭动作。

    虽然对于有模式对话框来说,这是个经常性的交互模式,但是由于它被认为在防止非预期的破坏性操作上不够有效以及存在更好的替换方案而遭到可用性专家的批评。显示一般提示信息的对话框,可以设计为提示气泡等形式来避免打断用户操作。

    展开全文
  • 要求宽度高度电脑屏幕大小,谢谢
  • [img=https://img-bbs.csdn.net/upload/201503/31/1427767852_345753.png][/img] 就是这种对话框,程序可能原因是什么,有什么方法可以解决?
  • 模态对话框(Modal Dialogue Box,又叫做模式对话框),指在用户想要对对话框以外应用程序进行操作时,必须首先对该对话框进行响应。如单击【确定】或【取消】按钮等将该对话框关闭。一般来说,Windows应用程序...

    老师天天说莫泰对话框~莫泰对话框~我们知道这名词,也知道代码咋写。。。但是一直木有啥理解。。。

    我觉得他就是个普通的框啊。又搜了其他资料,补充自己的理解:

    模态对话框(Modal Dialogue Box,又叫做模式对话框),是指在用户想要对对话框以外的应用程序进行操作时,必须首先对该对话框进行响应。如单击【确定】或【取消】按钮等将该对话框关闭。一般来说,Windows应用程序中,对话框分为模态对话框和非模态对话框两种。二者的区别在于当对话框打开时,是否允许用户进行其他对象的操作。

    模态对话框垄断了用户的输入。当一个模态对话框打开时,用户只能与该对话框进行交互,而其他用户界面对象收不到输入信息。模态对话框下,用户需要操作目标对话框就必须先操作模态对话框。用户对模态对话框的处理如图所示。

    非模态对话框(Nonmodal Dialogue Box,又叫做无模式对话框),与模态对话框不同,当用户打开非模态对话框时,依然可以操作其他窗口。

     

    简单来说,就是我给你弹出这个框,你必须把信息填完,或者你直接点取消关闭掉,不然你在当前的页面没有办法进行其他操作,This is the莫泰对话框!!

    反之就是非模态对话框!!

    展开全文
  • 让我们回到上古时代,我说的是Windows 1.0那会儿。 那个时候,显卡速度慢,CPU速度慢,内存速度也慢。你可以点击一个显示对话框的菜单,然后等待一两秒钟,以使该对话框从软盘中加载。(啥,软盘?是的,你没听错,在...
  • 在创建对话框(创建对话框的方法有:Create(),CreateIndirect(),DoModal())时,Windows发送WM_INITDIALOG消息到该被创建的对话框,这就立即激发该对话框的OnInitDialog()函数,即,在显示该对话框前使用OnInitDialog()...
  • Windows应用程序通过窗口(Window)、控件(Control)和对话框(Dialog Box)来和用户交互Windows系统预定义了很多基本交互行为和外观,也预定义了很多共用控件和对话框,让应用程序开发者更容易开发出...
  • FAQ2:Windows下拦截其他进程弹出的对话框该用什么钩子?答: 在Widnows要拦截对话框,按照我个人经验用HOOK。具体如何HOOK,方式很多,GOOGLE很多答案。基本入门方法看这本书对MessageBox API的HOOK。深入研究的话,...
  • 在SDK中使用非模态对话框几个问题: 1、为什么要调用IsDialogMessage?? 2、非模态对话框与主窗口有什么区别? 3、如果不调用IsDialogMessage,消息能不能传递到对话框? 4、如果一定要调用IsDialogMessage,...
  • 在基于对话框的应用中执行空闲状态处理(比如用ON_UPDATE_COMMAND_UI更新控件) 作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站 - June 1995,Microsoft System Journal Paul DiLascia 一个自由...
  • 基于MFC对话框的Windows服务程序

    千次阅读 2012-04-26 11:22:21
    最近需求要写个服务程序...首先写好mfc的对话框程序,调试什么的,功能也都完成好。这一部分和平常的mfc对话框程序没有差别,之后的服务启动后打开的就是现在所完成的。 重点服务部分。这里我找了很多文章,后来在 ...
  • 让我们回到上古时代,我说的是Windows 1.0那会儿。那个时候,显卡速度慢,CPU速度慢,内存速度也慢。你可以点击一个显示对话框的菜单,然后等待一两秒钟,以使该对话框从软盘中加载。(啥,软盘?是的,你没听错,在...
  • 问题 继承于CStdDialogImpl类的对话框默认有一个OK按钮在右上角的。如下图 为什么会有这个OK按钮呢,因为模拟生产的代码继承于CStdDialogImpl<CConfigDialog>,CConfigDialog为自定义的类。 class ...
  • 我用MFC做工具栏时候,一直想通过调用windows实现弹出如下系统日期和时间对话框属性,试了很多次,不知道他是什么.exe文件,网上搜了好久,终于搜到一个有用跟大家分享分享。  void CMainFace::OnTimeDate() ...
  •  自从Windows升级到Vista版本后,系统服务就不在允许弹出那些惨绝人寰MessageBox了(至于为什么不让弹出,原理有点小复杂,我也不是很门清,只是略知一点,这里就不丢人现眼了,自行Google吧),但是无论多么奇葩...
  • .NET Core 已经发布好几年了,很多.NET 程序员也一定跟我一样心中...作为传统 .NET 开发者或者说开发程序都WIndows环境下面工作,有没有必要学习 .NET Core?.NET Core 和 .NET Framework有什么不同?在开...
  • I want the simplest possible way to pop up simple dialogs in Python ... Ideally, the solution would:Work on Windows, OS X, Gnome, KDELook like a native dialog on any OSRequire minimal codeTo pop...
  • 什么访问Windows XP的机器,默认会弹出一个灰色的用户名为Guest,的对话框,不管输入什么密码都无法访问?这个问题,我感觉应该看看这篇KB(http://support.microsoft.com/default.aspx?scid=kb;zh-cn;304040),...
  • 凡是使用过计算机朋友,都遇到过系统发出警告提示消息对话框,如图所示。 哇!好长一串英文错误警告,这要手写到什么时候呢?不!现在不用这么麻烦了。 你只要鼠标选中这个提示框Ctrl+C,然后打开你...
  • 加法计算器对话框程序大家照着做一遍后,...趁热打铁,鸡啄米这一节讲讲什么是模态对话框和非模态对话框,以及模态对话框怎样弹出。 一.模态对话框和非模态对话框 Windows对话框分为两类:模态对话框和非模态...
  • From: 加法计算器对话框程序大家照着做一遍后,相信对基于对话框的程序有些了解了,有个好的开始对于以后的学习大有裨益。... 模态对话框是这样的对话框,当它弹出后,本应用程序其他窗口将不再接受用户输...
  • 今儿被老师叫过去了,不...因为,Windows应用程序工作基本流程就是从用户那里得到数据,经过相应处理后再把处理结果输出到屏幕,打印机或者其他输出设备上。对话框就是一个很重要接口,可以显示给用户数据。...
  • 对话框如何屏蔽回车键enter ...所以,你要做的就是重载WM_GETDEFID消息,在有关Windows的文档中这样描述WM_GETDEFID返回值的:“如果有缺省得按钮,则返回值的高位字包含DC_HASDEFID,低位字包含控制的标识符。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 663
精华内容 265
关键字:

windows的对话框是什么