2016-10-10 2 views
-2

Я хотел бы изменить строку заголовка в своем приложении. Я понятия не имею, как мне это сделать. Вы можете мне помочь?Изменить цвет и кнопки строки заголовка

Я нашел много примеров в Delphi, но не работает в Lazarus.

Как начать, что я должен сделать, чтобы изменить, например, цвет или кнопки заголовка?

+0

Какая операционная система? В Windows по крайней мере система определяет тему, и приложения не просматривают. В Delphi есть стили VCL, в которых приложение-приложение нарисовано каркасом. Не для слабонервных. –

ответ

0

Если по строке заголовка вы имеете в виду название вашей формы, то все, что вам нужно сделать, это:

Form1.Caption := 'The title of the form'; 

Это для формы с именем Form1.

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; 
Смежные вопросы