Вертикальный TitleBarDelphi , Программа и Интерфейс , Заголовок формыВертикальный TitleBar
Оформил: DeeCo type TForm1 = class(TForm) procedure FormResize(Sender: TObject); procedure FormPaint(Sender: TObject); private procedure VerticalTitleBar(Texto: string; Size: Integer); end; const MY_TITLE_TEXT = 'Vertical Text'; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.VerticalTitleBar(TexTo: string; Size: Integer); var LogFont: TLogFont; tmpCanvas: TCanvas; tmpRect: TRect; x1, x2, y1, y2: integer; begin tmpCanvas := TCanvas.Create; tmpCanvas.Handle := GetWindowDc(Handle); try GetObject(Canvas.Font.Handle, SizeOf(LogFont), @LogFont); with LogFont do begin lfEscapement := 90 * 10; lfOrientation := 90 * 10; lfOutPrecision := OUT_TT_ONLY_PRECIS; lfFaceName := 'Arial'; lfHeight := Size; lfWeight := FW_BOLD; lfQuality := PROOF_QUALITY; end; with tmpCanvas do begin Font.Handle := CreateFontIndirect(LogFont); Font.Color := clWhite; Brush.Color := clNavy; end; x1 := GetSystemMetrics(SM_CXEDGE) + GetSystemMetrics(SM_CXBORDER); x2 := 20; y1 := GetSystemMetrics(SM_CYCAPTION) + GetSystemMetrics(SM_CYEDGE) + GetSystemMetrics(SM_CYBORDER) + 1; y2 := Height - GetSystemMetrics(SM_CYEDGE) - GetSystemMetrics(SM_CYBORDER); tmpRect := Rect(x1, y1, x2, y2); tmpCanvas.FillRect(tmpRect); DrawText(tmpCanvas.Handle, PChar(Texto), - 1, tmpRect, DT_BOTTOM or DT_SINGLELINE); finally tmpCanvas.Free; end; end; procedure TForm1.FormResize(Sender: TObject); begin VerticalTitleBar(MY_TITLE_TEXT, 12); end; procedure TForm1.FormPaint(Sender: TObject); begin VerticalTitleBar(MY_TITLE_TEXT, 12); end; end. Перевод контента на русский язык: Это проект Delphi, который создает вертикальную панель заголовка для формы. Код определяет пользовательский компонент Процедура Процедура Процедура Вот некоторые предложения по улучшению:
Вот обновленная версия кода:
Обратите внимание, что я удалил переменные В этой статье описывается создание вертикального TitleBar в делифете с помощью использования класса TCanvas и функции DrawText. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Заголовок формы ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |