Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.03;
Скачать: CL | DM;

Вниз

Буттон обыкновенный   Найти похожие ветки 

 
SPeller ©   (2002-05-21 15:35) [0]

Почему на простой кнопке нельзя поменять цвет текста? Чего это за нафиг, знает кто-нибудь???


 
Black Cat ©   (2002-05-21 15:46) [1]

Прикол от Борланда - ни цвет кнопки ни текста поменять нельзя :)
На http://www.utilmind.com есть нормальный баттон (с цветом)


 
Игорь Шевченко ©   (2002-05-21 15:55) [2]

Black Cat © (21.05.02 15:46)

Borland здесь не при чем


 
SPeller ©   (2002-05-21 16:19) [3]

А в чём прикол? Неужели Борландовцы не знали об этом?


 
Виктор Щербаков ©   (2002-05-21 16:24) [4]


> А в чём прикол?

Прикол в том, что TButton инкапсулирует стандартный элемент управления. Его прорисовка осуществляется с использованием системных цветов и шрифтов.


 
Black Cat ©   (2002-05-21 16:42) [5]

Прикол в том, что надо быть последовательными - дается возможность поменять фонт (размер, стиль), т.е. шрифт используется далеко не системный, а цвет - только системный (нехорошо это, некрасиво, чем цвет-то не угодил?)


 
Игорь Шевченко ©   (2002-05-21 16:54) [6]

Black Cat © (21.05.02 16:42)

Прикола нет. Для изменения цвета текста надо говорить SetTextColor при отрисовке. А отрисовкой занимается Windows а не Delphi. А смена размера и стиля обрабатывается сообщением WM_SETFONT.


 
SPeller ©   (2002-05-21 16:54) [7]

Black Cat © (21.05.02 16:42)

Ну-ну, я вот о том же...


 
Johnny Smith ©   (2002-05-21 17:53) [8]

2SPeller © (21.05.02 16:54)
А использовать для таких задач TBitBtn совесть не позволяет?..


 
Кулюкин Олег ©   (2002-05-21 17:55) [9]

2SPeller
Или TSpeedButton?


 
SPeller ©   (2002-05-21 18:54) [10]

2SPeller
Или TLMDSPKLSMARTSpeedSuperPuperButtonMlya. Тоже вещь рульная...:))


 
Johnny Smith ©   (2002-05-21 19:06) [11]

2SPeller © (21.05.02 18:54)
2SPeller
Или TLMDSPKLSMARTSpeedSuperPuperButtonMlya. Тоже вещь рульная...:))

Приступ аутизма?


 
y-soft ©   (2002-05-21 21:07) [12]

Когда пишут, что нельзя на базе стандартного TButton сделать кнопку круглую, цветную и вообще нестандартную, почему-то забывают, что существует стиль BS_OWNERDRAW. Классические примеры использования есть и у Петцольда, и у Марко Канту


 
Malder ©   (2002-05-21 22:09) [13]

У Марко Канту я что-то такого не помню...



 
Serhy ©   (2002-05-22 01:53) [14]

2 y-soft © (21.05.02 21:07)
А стоит ли возиться с BS_OWNERDRAW в контексте вопроса?
Ведь автор не указал, что TBitBtn или TSpeedButton ему не подходят!
Хотя, те кто хочет узнать что-то новое для себя, могут и попробовать.


 
liho26 ©   (2002-05-22 06:55) [15]

Кнопу круглой можно сделать и с помощью WinAPI


procedure TForm1.Button1Click(Sender: TObject);
Var
btnrgn: hRgn;
begin
Button1.Brush.Style := bsSolid; //bsclear;
{ делаем круг формы }
GetWindowRgn(Button1.Handle, btnrgn);

{ удаляем старый объект }
DeleteObject(btnrgn);
{ делаем прямоугольник кнопы }
button1.Height := 30;
Button1.Width := Button4.Height;
{ создаём круглую кнопу }
btnrgn := CreateRoundRectRgn(1, 1, Button1.Width - 1,
Button1.height - 1, Button1.width, Button1.height);

{Или овальную. Для этого надо убрать коментарии из двух строк внизу, и закомментарить стоку выше }
// btnrgn := CreateEllipticRgn(1,10,Button1.Width -//1,Button1.height - 1);
{ устанавливаем новую круглую кнопу }
SetWindowRgn(Button1.Handle, btnrgn, TRUE);
end;


Вот, собственно и все....


 
Malder ©   (2002-05-22 11:47) [16]

Что-то я не понял предыдущего примера.

А что такое Button4 ? Button1.Width := Button4.Height;


 
liho26 ©   (2002-05-22 12:03) [17]

ээээ.. сорри.. очепятка....
Button1.Width := Button4.Height;
Конечно же там Button1.Height; :) Дернул кусок из программы. Пропустил. Мои извинения! :)
Конечно же надо читать так: Button1.Width := Button1.Height;



 
y-soft ©   (2002-05-22 21:12) [18]

>Malder © (21.05.02 22:09)
У Марко Канту я что-то такого не помню...


Marco Cantu, Tim Gooch with John F. Lam Delphi™ Developer"s Handbook™

>Serhy © (22.05.02 01:53)
А стоит ли возиться с BS_OWNERDRAW в контексте вопроса?

IMHO чаще всего не стоит :)



Страницы: 1 вся ветка

Текущий архив: 2002.06.03;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.013 c
14-7214
SS_SPB
2002-04-23 10:56
2002.06.03
С чего нужно начинать программирование на Delphi


4-7272
Eugene "Jek" Efimochkin
2002-03-26 23:34
2002.06.03
Иконки в SysTray


4-7268
Старик Бивис
2002-03-29 16:29
2002.06.03
Функция TreeView_GetItem - не могу добиться результата...


3-6934
David Dvali
2002-05-14 16:23
2002.06.03
Retrieving BLOB data from MS SQL 2000


14-7201
lipskiy
2002-04-23 12:18
2002.06.03
Суперсложная задачка для мастеров!