Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.06.03;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.006 c
6-7156
Kwinta
2002-03-21 13:58
2002.06.03
сетевой монитор


1-6956
ymin
2002-05-22 16:45
2002.06.03
Почему по команде form1.print ни один combobox не печатается?


8-7129
ciloit
2002-01-12 16:37
2002.06.03
Файл BMP


4-7277
ввв
2002-03-29 22:54
2002.06.03
проблемы при убитии процесса


3-6917
Катерина
2002-05-13 12:35
2002.06.03
Настройка BDE в run-time





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский