这是Windows中“字体”对话框中两个按钮的示例:
“确定”按钮是默认按钮,如果单击“取消”按钮(鼠标按下),则“取消”按钮将成为默认按钮。
我如何在WinAPI中实现这一点,我应该处理每个按钮的鼠标按下事件,并添加到单击 public String toString()
{
return "\"" + myTitle + ",\" by " + myAuthors;
}
样式的按钮并从其他按钮中删除此样式?
答案 0 :(得分:4)
将DM_SETDEFID
发送到对话框以更改默认按钮ID。请注意以下几点:
使用DM_SETDEFID消息可能会产生多个按钮 似乎具有默认的按钮状态。当系统 打开一个对话框,它会在对话框中绘制第一个按钮 具有默认状态边框的模板。发送DM_SETDEFID消息 更改默认按钮并不总是会删除默认状态 第一个按钮的边框。在这些情况下,应用程序 应发送BM_SETSTYLE消息以更改第一个按钮 边框风格
除了发送DM_SETDEFID
设置新的默认按钮之外,您还应将BM_SETSTYLE
发送到旧默认按钮以清除BS_DEFPUSHBUTTON
样式。