当前位置:C++技术网 > 资讯 > 对话框的消息处理小结

对话框的消息处理小结

更新时间:2015-06-25 19:33:01浏览次数:1+次

    对话框窗口处理过程处理消息后返回TRUE,不处理返回FALSE,与窗口处理过程不一样。返回FASLE使系统进行内部处理。唯一例外的是WM_INITDIALOG,对话框窗口处理过程返回TRUE后,系统还会进一步处理这个消息。因为控件也是窗口,因此操作窗口的函数也可以用于它们。
    在初始化对话框返回前,应该判断是否设置指定控件的焦点。如果返回真,则系统自动设置wParam 参数中的句柄的控件为输入焦点控件。如果窗口过程中设置了输入焦点,则必须返回FALSE阻止系统设置默认焦点。系统设置的默认焦点是模板中第一个可见没禁用且含有WS_TABSTOP的控件,如果没有,则设置为第一个控件。
    系统在创建和销毁窗口时也发送WM_PARENTNOTIFY消息,但不适用于对话框模板创建的控件。要阻止此消息,可以在创建控件时指定WS_EX_NOPARENTNOTIFY风格。应用不能重写默认的行为,除非创建自己的对话框控件。