我正在使用Visual Studio C ++ 2010,我需要检测属性表的当前活动页面。我希望在用户激活Page时应该发送一些消息告诉我。但我没有找到该消息以及将其置于对话过程中的位置。
在我使用的程序中,有一个主要的对话过程:
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中的消息的名称是什么?
答案 0 :(得分:1)
使用PSM_GETTABCONTROL
(或PropSheet_GetTabControl
宏)获取制表符控件的句柄,然后使用TCM_GETCURSEL
消息(或TabCtrl_GetCurSel
宏)进行查询当前选中的标签索引。
请注意,如果使用Aero向导样式(PSH_AEROWIZARD
),则说明这不起作用,可能是因为在这种情况下没有制表符控件。