我正在使用控制选项卡(Windows类“SysTabControl32”)来组织我正在开发的应用程序中的GUI元素。在过去,我已经捕获了TCN_SELCHANGE事件,然后在每个GUI元素的基础上,确定了应该可见的内容。这对于只有几十个GUI元素的小应用程序来说非常好,但我当前的项目更复杂。
我希望有一个更简单的解决方案。我想要的是具有多个选项卡的选项卡控件。每个选项卡都有一个GUI元素“包装器”,我可以单独显示/隐藏,并使所有相应的子元素变为可见/隐藏。我已经读过我应该使用对话框来完成我正在描述的内容,但找不到任何示例。
对话是否可行?如果有,我在哪里可以找到一个简单的例子?如果没有,应该在这做什么?
答案 0 :(得分:1)
了解Property Sheets。也许这些可以解决你的问题。
答案 1 :(得分:1)
谢谢Tiib和Tergiver的答案,不幸的是我只是不喜欢这两种解决方案。这就是我决定做的事情:
当我的选项卡控件中添加了新选项卡时,我创建了一个包含BUTTON类和BS_OWNERDRAWN样式的窗口。然后我用我自己的版本替换windows程序(GWL_WNDPROC)(原谅我的程序集):
ForwardMessageProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
.switch uMsg
.case WM_NOTIFY
invoke WinProc, hWnd, uMsg, wParam, lParam
xor eax, eax
.break
.case WM_COMMAND
invoke WinProc, hWnd, uMsg, wParam, lParam
xor eax, eax
.break
.default
invoke DefWindowProc, hWnd, uMsg, wParam, lParam
.break
.endswitch
ret
ForwardMessageProc endp
所有这一切都是向父窗口转发GUI消息。这些“选项卡框架”将是选项卡的实际内容区域,因此我将所有GUI元素直接添加到这些选项卡框架中。然后,当用户单击选项卡时,我可以单独显示/隐藏每个选项卡框架,并且其上的GUI元素也将跟随。到目前为止,一切都运作良好,我没有发现任何问题。
答案 2 :(得分:0)