Windows的对话框

来源:互联网 发布:sql 查询最高分数的人 编辑:程序博客网 时间:2024/06/05 16:29

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。

原创粉丝点击