Рисовать на заголовочной полосе формы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 прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Заголовок формы ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |