我需要为 3D 建模应用程序实现 GUI。到目前为止,我已经实现了一个 Windows 功能区菜单 - 现在我需要添加面板来添加控件。到目前为止,我能找到的最好的模型是Paint.net控制面板。所以我正在寻找看起来和行为都像这样的东西。
我期待模仿的功能(如上图所示):
- 细边框
- 面板标题
- 右上角的小关闭按钮
- 薄窗口标题
- 条件垂直滑块
- 面板应始终位于主应用程序窗口的顶部
- 面板不应停留在主应用程序窗口前面的其他应用程序之上
- 面板/窗口不应在窗口任务栏中弹出新项目
- 模糊透明度是可选的
- 带按钮的小页脚也不错
到目前为止,这是我取得的成就(下面的代码):
这是一个非常基本的窗口 - 几个问题很明显:
- 窗口布局是标准的应用程序窗口布局(粗边框+我不喜欢圆角)
- 它有一个标题,但它的标题中没有按钮
- 如果不需要,垂直滚动条不会隐藏
- 窗口在 Windows 任务栏中弹出它自己的图标
- 该窗口位于所有窗口应用程序的顶部,而不仅仅是应用程序主窗口
到目前为止的代码:
// Model structure pannel
wndClass.lpszClassName = "StructurePannel";
if (!RegisterClassEx(&wndClass)) return -1;
g_WindowHandlePannelStructure = CreateWindowEx(
WS_EX_TOPMOST,
"StructurePannel",
"Model Structure Pannel",
WS_BORDER | WS_CAPTION | WS_OVERLAPPED | WS_POPUP | WS_SIZEBOX | WS_VSCROLL,
CW_USEDEFAULT,
CW_USEDEFAULT,
300,
550,
NULL,
NULL,
hInstance,
NULL);
我正在找人给我一个完整的 Paint.net 样式面板示例 - 或者为我指出一个好的代码示例。我已经下载了最新的开源 PDN 源代码,但不确定从哪里开始寻找负责这部分 UI 的代码。一个受过教育的方向也是受欢迎的:-)