Windows的对话框依其与父对话框的关系可分为两类:
(1)“令其父窗口无效,直到对话框结束”,这种称为modal对话框。
(2)“父窗口与对话框共同运行”,这种称为modeless对话框。
比较常用的对话框为modal对话框,为了做出一个对话框必须准备两样东西:
1、对话框模板(dialog template)。这是在RC文件中定义的一个对话框外貌,以各种方式决定对话框的大小、字形、内部有哪些控件、各在什么位置等等
2、对话框函数(dialog procedure)。其形态非常类似于窗口函数,但是他通常只处理WM_INITDIALOG和WM_COMMAND两个消息。对话框中的各个控件也都是小小的窗口,各有自己的窗口函数,他们以消息与其管理者(父窗口,也就是对话框)沟通,而所有的控件传来的消息都是WM_COMMAND,再由其参数分辨哪一种控件以及哪一种通知消息(notification).
注:modal对话框的激活与结束口,靠的是dialogbox和Enddialog两个API函数