gpt4 book ai didi

c++ - DEFPUSHBUTTON 不将焦点默认为 IDCANCEL

转载 作者:行者123 更新时间:2023-11-30 02:08:52 25 4
gpt4 key购买 nike

我的资源文件包含 IDCANCEL 的 DEFPUSHBUTTON,但由于某种原因,按钮上的焦点没有从 IDOK 更改为 IDCANCEL。

IDD_HEALTHCARDINFO DIALOGEX 0, 0, 256, 223
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Health Card Information"
FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN
PUSHBUTTON "Yes",IDOK,67,202,50,14
DEFPUSHBUTTON "No",IDCANCEL,140,202,50,14

在我的 OnInitDialog() 中,我还尝试通过发送 DM_SETDEFID 消息来强制执行它。

BOOL CHealthCardInfo::OnInitDialog() 
{
CDialog::OnInitDialog();
SetDefID(IDCANCEL);
SendMessage(GetDlgCtrlID(), DM_SETDEFID, IDCANCEL);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}

最佳答案

默认按钮不影响焦点。当某些非按钮控件具有焦点时,它会影响 ENTER 键激活哪个按钮。

您可以在OnInitDialog 中使用SetFocus(也可以返回FALSE)来更改对话框打开时哪个控件具有焦点。或者您可以对对话框资源中的控件重新排序。


顺便说一句,询问是/否问题的对话框通常不应具有“信息”标题。

关于c++ - DEFPUSHBUTTON 不将焦点默认为 IDCANCEL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6073150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com