我正在使用 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 中的消息的名称是什么?
最佳答案
使用PSM_GETTABCONTROL
(或 PropSheet_GetTabControl
宏)获取选项卡控件的句柄,然后使用 TCM_GETCURSEL
消息(或 TabCtrl_GetCurSel
宏)来查询当前选定的选项卡索引。
请注意,如果使用 Aero 向导样式 (PSH_AEROWIZARD
),这被记录为无效,可能是因为在这种情况下没有选项卡控件。
关于c++ - 如何检测属性表中的当前事件页面 (C++/VS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31348594/