为反射消息定义消息处理程序
创建新的 MFC 控件类之后,即可为其定义消息处理程序。 反射消息处理程序允许控件类在父级接收消息之前处理自己的消息。 可以使用 MFC CWnd::SendMessage 函数将消息从控件发送到父窗口。
例如,使用此功能,可以创建一个重新绘制自身的列表框,而不是依赖父窗口来执行此操作(所有者绘制)。 有关反射消息的详细信息,请参阅处理反射消息。
要创建具有相同功能的 ActiveX 控件,必须为 ActiveX 控件创建一个项目。
注意
不能使用类向导为 ActiveX 控件添加反射消息 (OCM_Message),如下所述。 必须手动添加这些消息。
为来自类向导的反射消息定义消息处理程序
向 MFC 项目添加控件,例如列表、rebar 控件、工具栏或树控件。
在类视图中,单击控件类的名称。
在类向导中,控件类名称出现在“类名称”列表中。
单击“消息”选项卡以显示可添加到控件的 Windows 消息。
选择要为其定义处理程序的反射消息。 反映的消息用等号 (=) 标记。
单击类向导右列中的单元格以将建议的处理程序名称显示为 <add>HandlerName。 (例如,“=WM_CTLCOLOR”消息处理程序表示 <add>CtlColor)。
单击建议的名称以接受。 处理程序已添加到项目中。
要编辑或删除消息处理程序,请重复步骤 4 到 7。 单击包含要编辑或删除的处理程序名称的单元格,然后单击相应的任务。