1

我正在使用 Visual Studio C++ 2010,我需要检测属性表的当前活动页面。我希望应该发送一些消息来告诉用户何时激活页面。但是我没有找到该消息以及将其放置在对话过程中的位置。

在我使用的程序中,有这个主对话过程:

INT_PTR CALLBACK MainDlgProc(HWND hSheet, UINT msg, WPARAM wParam, LPARAM lParam)
{
    INT_PTR ret = FALSE;

    switch (msg)
    {
    // bla bla
    case WM_COMMAND:
        ret = 0;    //processing message
        if (!Sheet_HandleCommand(hSheet, HIWORD(wParam), LOWORD(wParam), (HWND)lParam))
            CALLPROC();
        break;

    case WM_DESTROY:
        // bla bla
        return CALLPROC();    
    default:
        return CALLPROC();
    }

    return ret;
}

我知道如何获取句柄,但我不知道在代码中的何处“安装”它。将其包含到 MainDlgProc 中的消息的名称是什么?

4

1 回答 1

1

使用PSM_GETTABCONTROL(或PropSheet_GetTabControl宏)获取选项卡控件的句柄,然后使用TCM_GETCURSEL消息(或TabCtrl_GetCurSel宏)查询当前选中的选项卡索引。

请注意,如果使用 Aero 向导样式 ( ),这将不起作用PSH_AEROWIZARD,大概是因为在这种情况下没有选项卡控件。

于 2015-07-10T21:53:29.230 回答