C++ C++;WinApi选项卡帮助调用主静态栏

C++ C++;WinApi选项卡帮助调用主静态栏,c++,winapi,tabs,controls,C++,Winapi,Tabs,Controls,大家好,我希望有人能帮助我,我在一个简单的应用程序,使用标签控件,我已经设置好了,工作良好。下面是第二个对话框选项卡的“我的处理程序”,其中包含一个弹出窗口,用于确认单击了按钮,该按钮正常工作 INT_PTR CALLBACK TabDialogTwo(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam) { switch (uMsg) { case WM_INITDIALOG: break;

大家好,我希望有人能帮助我,我在一个简单的应用程序,使用标签控件,我已经设置好了,工作良好。下面是第二个对话框选项卡的“我的处理程序”,其中包含一个弹出窗口,用于确认单击了按钮,该按钮正常工作

INT_PTR CALLBACK TabDialogTwo(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam) 
{ 
    switch (uMsg) 
    { 
   case WM_INITDIALOG: 
        break; 
        case WM_COMMAND:      
            { 

            switch (LOWORD(wParam)) 
            { 
            case IDC_CHECK_ACCOUNT: 
                // This doesnt work
                   HWND hwndStatic = GetDlgItem(hwndDlg, IDC_STATIC1);
   Static_SetText(hwndStatic, "Button Works");
   // This does as expected 
                MessageBox(hwndDlg,TEXT("User Account Selected"),TEXT("Button"),0); 
                break; 
            } 
            break; 
            } 

    } 
    return FALSE ; 
} 
我的问题是选项卡控件上的按钮无法使用此代码更新静态栏

// This doesnt work from inside the tab window but does work in my intial dialog function
      HWND hwndStatic = GetDlgItem(hwndDlg, IDC_STATIC1);
      Static_SetText(hwndStatic, "Button Works???");
是否需要将句柄更改为hwnd->hwndDlg?这是未定义的,因为它不是

我想做的就是能够在选项卡控件中更改我的状态栏,这可能吗?我已经连续搜索了8天,所以我想问问专家

非常感谢

更新修复:请参阅下面的Pezcode示例。感谢所有帮助人员。

更换

HWND hwndStatic = GetDlgItem(hwndDlg, IDC_STATIC1);

GetDlgItem
仅获取您提供给它的窗口内的控件
hwndDlg
在该上下文中是选项卡内的对话框。但是要获得主对话框静态条的
hwndStatic
句柄,您必须升级两个级别(通过
GetParent
API)。
上一个是选项卡控件,下一个是主对话框。

谢谢Pezcode,它起作用了。你让我很高兴,因为我要把这一切都扔掉。还有卢斯坎和枪手thx顶级球员。
HWND hwndStatic = GetDlgItem(GetParent(GetParent(hwndDlg)), IDC_STATIC1);