相关疑难解决方法(0)

C++ Builder:使用BorderStyle bsNone创建一个可移动和可调整大小的TForm

我想要一个带有BorderStyle = bsNone(没有边框,没有标题)的TForm,但它仍然是可调整大小和可移动的.我已经想出了如何处理可调整大小的部分,但我仍然坚持让它可以移动.

/**
*   Overrides standard CreateParams method to create a TForm with BorderStyle
*    bsNone but is nevertheless movable and resizable
**/
void __fastcall CreateParams(TCreateParams &Params)
{
    BorderStyle = bsNone;
    TForm::CreateParams(Params);
    //set flag WS_EX_STATICEDGE
    //for more details on this flag, see http://msdn.microsoft.com/en-us/library/ms632680(v=vs.85).aspx
    Params.ExStyle = Params.ExStyle ^ 0x00020000L;
    //set flag WS_SIZEBOX
    //for more details on this flag, see http://msdn.microsoft.com/en-us/library/ff700543(v=VS.85).aspx
    Params.Style = Params.Style ^ 0x00040000L;
}
Run Code Online (Sandbox Code Playgroud)

这可能只是找到正确的标志.有任何想法吗?

winapi vcl c++builder

1
推荐指数
2
解决办法
1752
查看次数

标签 统计

c++builder ×1

vcl ×1

winapi ×1