![]() |
![]() ![]() ![]() ![]() |
|
Рисовать на заголовочной полосе формыDelphi , Программа и Интерфейс , Заголовок формыРисовать на заголовочной полосе формы
Оформил: DeeCo
{
You have to handle the WM_NCPAINT message.
Something like this (for custom text) Should be similar for bitmaps.
}
type
TForm1 = class(TForm)
private
procedure WMNCPaint(var Msg: TWMNCPaint); message WM_NCPAINT;
public
end;
var
Form1: TForm1;
implementation
{$r *.dfm}
procedure TForm1.WMNCPaint(var Msg: TWMNCPaint);
var
ACanvas: TCanvas;
begin
inherited;
ACanvas := TCanvas.Create;
try
ACanvas.Handle := GetWindowDC(Form1.Handle);
with ACanvas do
begin
Brush.Color := clActiveCaption;
Font.Name := 'Tahoma';
Font.Size := 8;
Font.Color := clred;
Font.Style := [fsItalic, fsBold];
TextOut(GetSystemMetrics(SM_CYMENU) + GetSystemMetrics(SM_CXBORDER),
Round((GetSystemMetrics(SM_CYCAPTION) - Abs(Font.Height)) / 2) + 1, ' Some Text');
end;
finally
ReleaseDC(Form1.Handle, ACanvas.Handle);
ACanvas.Free;
end;
end;
Перевод контента на русский язык: Код, предоставленный ниже, это приложение Delphi, которое обрабатывает сообщение WM_ NCPAINT для рисования текста в области клиента (NC) формы, включая заголовок и рамки. Вот разбивка того, что код делает:
Некоторые предложения по улучшению:
Вот обновленная версия кода, которая использует свойство формы Обратите внимание, что этот код предполагает, что вы хотите рисовать текст на области клиента формы. Если вам нужно рисовать на другой области, вам придется изменить координаты соответствующим образом. Рисование на заголовочной полосе формы в Delphi происходит за счет обработки сообщения WM_NCPAINT, при этом используются класс TCanvas и метод TextOut. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш :: Главная :: Заголовок формы ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||