Windows GUI:尝试 Paint.net 风格的面板

Windows GUI : attempting a Paint.net style pannel

我需要为 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。也欢迎有教养的指导:-)

使用 CreateWindowEx(...)extended window style WS_EX_TOOLWINDOW 应该可以得到您想要的 window 框架外观。

它还会处理:

  • pannels/windows 不应在 windows 任务栏中弹出新项目

但我不确定 if/how 它会影响 "always on top"-ness。