首页  编辑  

ToolBar的一个问题

Tags: /超级猛料/VCL/ToolBar和按钮、标签/   Date Created:
工具栏可以被拖出来变成一个小窗口,小窗口的右上角处有一个关闭按钮(就是"X"按钮),请问如何将这个按钮屏蔽掉(使其不显示出来),或将其变灰(使其失效)?
在ToolBar的EndDock事件里--
procedure TForm1.ToolBar1EndDock(Sender, Target: TObject; X, Y: Integer);
var
  H: THandle;
begin
  H := GetParent(ToolBar1.Handle); // ToolBar在拖出来之后被"套进"另一个窗口里了
  if H <> ControlBar1.Handle then
  begin // 以下的操作都是针对这个临时的父窗口的
    SetWindowLong(H, GWL_STYLE, GetWindowLong(H, GWL_STYLE) and not WS_SYSMENU);
    // 把它的关闭按钮去掉
    ShowWindow(H, SW_HIDE); // 这两句是为了让它刷新,使关闭按钮马上消失
    ShowWindow(H, SW_SHOW); // 如果没有这两句,必须移动一下或者调整一下大小才行
  end;
end;