Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Цветной текст в Form.Caption [D7, XP]


СиничЪ ©   (2008-11-21 18:46:00) 

Здравствуйте. Хочу вот узнать... Есть такая штука - Form.Caption. Form.Caption :='Крутое имя'. Ведь 100% можно сделать этот текст цветным, но....как?
Спасибо


AIK   (2008-11-22 12:09:00) [1]


> СиничЪ ©   (21.11.08 19:42) [4]


см. что получается когда меняешь размеры у формы
Думаю ещё WM_SIZE не хватает


Leonid Troyanovsky   (2008-11-21 23:50:00) [2]


> СиничЪ ©   (21.11.08 19:42) [4]

> Мне кажется, уровень программирования сейчас сводится к
> тому, что проще найти, чем писать с 0 (куча бесполезных
> поисков ради истины)

Мне тоже кажется, что новичками также проще пренебречь
при поиске истины.

--
Regards, LVT.


СиничЪ   (2008-11-21 19:42:00) [3]

Воооот!!!!! Всё получилось у новичка!!!!! :-))))))

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }

   procedure WMNCACTIVATE(var Msg: TWMNCActivate) ; message WM_NCACTIVATE;
   procedure WMNCPaint(var Msg: TWMNCPaint) ; message WM_NCPAINT;
   procedure DrawCaptionText();
 end;

var
 Form1: TForm1;

implementation

procedure TForm1.DrawCaptionText;
var
  canvas: TCanvas;
  captionText : string;
begin
  captionText := 'delphi.about.com';
  canvas := TCanvas.Create;
  try
    canvas.Handle := GetWindowDC(Self.Handle) ;
    with canvas do
    begin
      Brush.Style := bsClear;
      Font.Color := clMaroon;
      TextOut(Self.Width - 110, 6, captionText) ;
    end;
  finally
    ReleaseDC(Self.Handle, canvas.Handle) ;
    canvas.Free;
  end;
end;

procedure TForm1.WMNCACTIVATE(var Msg: TWMNCActivate) ;
begin
  inherited;
  DrawCaptionText;
end;

procedure TForm1.WMNCPaint(var Msg: TWMNCPaint) ;
begin
  inherited;
  DrawCaptionText;
end;


Мне кажется, уровень программирования сейчас сводится к тому, что проще найти, чем писать с 0 (куча бесполезных поисков ради истины)
Всё получилось даже у новичка. Конечно, тут есть ещё пару непонятных моментов для меня, но я разберусь.
Спасибо Niel@ :-)))))))
Спасибо.


СиничЪ   (2008-11-21 19:06:00) [4]

Анатолий. Мне кажется тут всё очень и очень просто. Наверное есть просто готовый код, которым пользуются множество людей, например, выглядищий так:


begin
// чё то
// ещё чё то
.
.
.
// как нибудь xxx.Color :=#f3432;
Form.Caption :='Крутой текст'
// завершающие действия
end.

Просто, эта задача уже решалась множеством людей, и должен быть исходник, которым можно просто воспользоваться. У яндекса спрашиваю - а он не то подсказывает. Если есть возможность, киньте этот код, а я съориентируюсь
Спасибо


NieL   (2008-11-21 18:55:00) [5]

http://delphi.about.com/od/adptips2006/qt/draw_captionbar.htm


Anatoly Podgoretsky   (2008-11-21 18:52:00) [6]

Рисовать заголовок самостоятельно, для начинающего трудно.


Наверх

Титульная страница Поиск, карта сайта Написать письмо