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

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

Буттон обыкновенный [D6]


SPeller ©   (2002-05-21 15:35:00) 

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


y-soft   (2002-05-22 21:12:00) [1]

>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 чаще всего не стоит :)


liho26   (2002-05-22 12:03:00) [2]

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


Malder   (2002-05-22 11:47:00) [3]

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

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


liho26   (2002-05-22 06:55:00) [4]

Кнопу круглой можно сделать и с помощью 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;


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


Serhy   (2002-05-22 01:53:00) [5]

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


Malder   (2002-05-21 22:09:00) [6]

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


y-soft   (2002-05-21 21:07:00) [7]

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


Johnny Smith   (2002-05-21 19:06:00) [8]

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

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


SPeller   (2002-05-21 18:54:00) [9]

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


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

2SPeller
Или TSpeedButton?


Johnny Smith   (2002-05-21 17:53:00) [11]

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


SPeller   (2002-05-21 16:54:00) [12]

Black Cat © (21.05.02 16:42)

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


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

Black Cat © (21.05.02 16:42)

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


Black Cat   (2002-05-21 16:42:00) [14]

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


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


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

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


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

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


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

Black Cat © (21.05.02 15:46)

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


Black Cat   (2002-05-21 15:46:00) [18]

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


Наверх

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