Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Надпись на кнопке разными цветами, каждая буква 
:(
    Опции темы
MacTep
Дата 3.6.2005, 07:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: 4
Всего: 4



Как сделать так, чтобы на кнопке надпись была написала так, что все ее буквы разным цветом? Спасибо!


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
~FoX~
Дата 3.6.2005, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



TextOut, DrawText и еже с ними


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
MacTep
Дата 3.6.2005, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: 4
Всего: 4



smile можно примерчик?


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
s-mike
Дата 3.6.2005, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 16.1.2005
Где: Киев

Репутация: 9
Всего: 16



Вот пример вывода цветного текста. А как его вывести на кнопку- зависит от того, что за компонент ее представляет.
Код

procedure DrawColoredText(const X, Y: Integer; const AText: string;
  Canvas: TCanvas; const Colors: array of TColor);
var
  P, N, LettersPerColor, H, L: Integer;
  S: string;
begin
  LettersPerColor := Length(AText) div Length(Colors);
  H := High(Colors);

  L := X;
  P := 1;
  N := Low(Colors);
  while N <= H do
  begin
    S := Copy(AText, P, LettersPerColor);

    Canvas.Font.Color := Colors[N];
    Canvas.TextOut(L, Y, S);

    Inc(P, LettersPerColor);
    Inc(L, Canvas.TextWidth(S));
    Inc(N);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  DrawColoredText(100, 100, 'Colored text', Canvas, [clRed, clBlue, clYellow, clGreen]);
end;

PM MAIL WWW   Вверх
Quadr0
Дата 3.6.2005, 10:15 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 14.7.2011, 21:04
  Вверх
MacTep
Дата 3.6.2005, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: 4
Всего: 4



Цитата(Quadr0 @ 3.6.2005, 10:15)
Воспользуйся компонентами джедаев
А где изх взять?

Цитата(s @ 3.6.2005, 09:18)
зависит от того, что за компонент ее представляет
Компонент простой: либо TButton, либо TBitBtn. smile


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
~FoX~
Дата 3.6.2005, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



MacTep
Они не совсем простые.
В TBitBtn есть свойство Glyph, которое есть TBitmap, соответственно он имеет свойство Canvas ака TCanvas......ты можешь его перехватить и издеваться над нима как хочешь.......
В TButton нету не канваса не глифа......точнее канвас то есть, но надо немножео извращьнуться

Код

var
  c: TCanvas;
begin
  c := TCanvas.Create;
  c.Handle := GetDC(Button1.Handle);
  TextOut(c.Handle, 0,0, 'Sample', 6);
end;

Вроде так.......хотя компилера пока нет, проверить не могу.....


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0440 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.