我想在我的应用程序中更改标题栏。我不知道该怎么做。你能救我吗?
我在Delphi中发现了很多例子但在Lazarus中没有用。
我应该如何开始,如何更改标题栏颜色或按钮?
答案 0 :(得分:1)
通过将表单的BorderStyle设置为bsNone来关闭原始标题栏。然后添加一个顶部对齐的面板作为新标题栏,您可以以任何方式着色,并可以添加SpeedButtons或任何您想要的。为了能够在标题栏上用鼠标拖动窗口,您应该为面板的OnMouseDown和OnMouseMove添加这些事件处理程序:
type
TForm1 = class(TForm)
Panel1: TPanel;
procedure Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Panel1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer
);
private
FMouseDownPt: TPoint;
public
end;
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
FMouseDownPt := Point(X, Y);
end;
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
if (ssLeft in Shift) then
begin
Left := Left + (X - FMouseDownPt.X);
Top := Top + (Y - FMouseDownPt.Y);
end;
end;
答案 1 :(得分:0)
如果通过标题栏表示表单的标题,那么您需要做的就是:
Form1.Caption := 'The title of the form';
这是一个名为Form1的表单。