MDI界面小问题(50分)

  • 主题发起人 主题发起人 pine_wind
  • 开始时间 开始时间
P

pine_wind

Unregistered / Unconfirmed
GUEST, unregistred user!
请问,mdi子窗口不能去掉上方标题栏(蓝条)吗?我己经将bordersytyle设为bsnone了
如果不能去掉,怎么才能禁止子窗口拖动
 
最大化就可以了
//定义
procedure WMSize(var message: TWMSize); message WM_SIZE;
//始终保持窗体最大化
procedure TFmFlowMain.WMSize(var message: TWMSize);
var
H : HWND;
Size: Longint;
begin
if Tag <> NOSIZETAG then
begin
if (message.SizeType = SIZE_MINIMIZED) or (message.SizeType = SIZE_RESTORED) then
begin
H := SendMessage(fmMainForm.ClientHandle, WM_MDIGETACTIVE, 0, 0);
SHOWWINDOW(Handle, SW_MAXIMIZE);
SendMessage(fmMainForm.ClientHandle, WM_MDIACTIVATE, Word(H), 0);
end
else
inherited;
end;
end;
 
谁说不能去掉呀
我都可以呀
 
...
protected
procedure CreateParams(var Params: TCreateParams); override;
...
procedure TFrmOptWindow.CreateParams(var Params: TCreateParams);
begin
Inherited CreateParams(Params);
Params.Style := Params.Style and (not WS_CAPTION) and (not WS_SIZEBOX);
//去掉窗体的标题及调整大小属性
end;
...

这样就可以了吗
 
谢谢,我先试试.
还有更简单的办法吗?
 
后退
顶部