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

Вниз

Вот сколько в Delphi пользуюсь и только сейчас возник вопрос...   Найти похожие ветки 

 
Knight ©   (2004-10-20 21:31) [0]

... а почему ни у каких кнопок нет COLOR?


 
Rouse_ ©   (2004-10-20 21:32) [1]

Резонный вопрос: а нафига?


 
Knight ©   (2004-10-20 21:34) [2]

Ну мало ли... а вдруг понадобится... :)


 
Rouse_ ©   (2004-10-20 21:35) [3]

Хм, обычно когда понадобилось, садятся и делают то что понадобилось (да и делать то там... ;)


 
Knight ©   (2004-10-20 21:37) [4]

Раз для чего-то кнопку подобрать не мог, так не долго думая бросил на форму Panel и смастрячил кнопку из неё... :)


 
Mihey_temporary ©   (2004-10-20 21:39) [5]


> ... а почему ни у каких кнопок нет COLOR?


Возможно, Borland не ведёт майкрософтовскую политику (внедрённый браузер, калькулятор, drivespace, медиаплеер), а оставляет поле для энтузиастов.


 
Knight ©   (2004-10-20 21:52) [6]

Кстати, вот пришла идея... У чекбокса три состояния: включено, выключено и грей... почему бы и у кнопки не сделать тоже три: нажата, отжата и подсвечена другим цветом - в третьем состоянии кнопка остаётся отжатой, но меняет цвет, что обозначает, например, что из набора данных отобраны соответствующие записи, но присутствует ещё какое-то условие отбора, поэтому данные видны не все... при повторном нажатии это условие скидывается и кнопка переходит в Down - т.е. теперь данные все. Сумбурно, но вроде понятно %)


 
Rouse_ ©   (2004-10-20 21:52) [7]

Второй логичный вопрос: а как ты COLOR применительно к включенным темам собираешся применить?


 
Knight ©   (2004-10-20 22:09) [8]

Пример:
Есть две таблицы
Houses - которая содержит названия улиц и домов
Peoples - содержит данные жителей,
(каждый житель прописан в доме из первой таблицы)

На форме две кнопки  - [ Дома ], [ Жители ].

Теперь допустим нажата кнопка ДОМА (Down) и в наборе выбран какой-то дом. При нажатии на кнопку ЖИТЕЛИ она подсвечивается, а в набор попадают только те, кто прописан в том доме...

А теперь наоборот выведены все жители и выделен человек по имени Вася Пупкин. При нажатии на кнопку ДОМА она подсвечивается, а в наборе будет отображён дом в котором он живёт... при повторном нажатии она уходит в Down и условие удаляется.

Довольно прикольно... пожалуй я это дело использую... :)


 
Knight ©   (2004-10-20 22:37) [9]

Получилось...

Положил каждую кнопку TRXSpeedButton на отдельную панель, сделал Flat+Transparent. Если кнопка нажимается и строка дополнительного условия не пуста, то изменяется цвет родительской панели, кнопка подсвечивается... при повторном нажатии или если пустое условие, кнопка просто остаётся нажатой, а у панели ParentColor возврачется в True.

Разврат... но работает, а главное, на форме практически не осталось никаких левых кнопок, едитов, чекбоксов и комбобоксов для ввода условий отбора :)


 
Gero ©   (2004-10-20 23:32) [10]


> Knight ©   (20.10.04 22:37)

Ты на [7] не ответил.
Или тебе пофиг на пользователей XP, использующих темы?


 
Knight ©   (2004-10-20 23:46) [11]


> [10] Gero ©   (20.10.04 23:32)
>
> > Knight ©   (20.10.04 22:37)
>
> Ты на [7] не ответил.
> Или тебе пофиг на пользователей XP, использующих темы?

Ага... мои проги везде выглядят одинакого... и среди пользователей моих прог извращенцев нет :)


 
Cobalt ©   (2004-10-21 01:16) [12]

Кнопка - это стандартный элемент управления (ака контрол).
Её внешний вид управляется соотвтетствующей библиотекой (comctrl, кажется).
Вот.


 
Mirror   (2004-10-21 01:32) [13]

Люди,а не проще ли сделать свою кнопку? Тогда у вас там и три положения будут, и свойство колор и вообще всё что захотите!


 
Gero ©   (2004-10-21 08:20) [14]


> Кнопка - это стандартный элемент управления (ака контрол).

Ну если TButton, то он ComCtrl"овский.
А если, скажем TSpeedButton или TBitBtn, то в них уже борландовская прорисовка, не поддержтивающая темы.

> comctrl, кажется

Да, comctl32.dll.


 
Rouse_ ©   (2004-10-21 09:14) [15]

> [8] Knight ©   (20.10.04 22:09)
А чекбокс для чего придуман?
Хотя если тебе всеравно что использовать, то поэксперементируй к примеру с прогрессбаром.

Например:
Выключен: Position = 0;
Грей: Position = 50;
Включен: Position = 100;

:)
Ведь тоже логично?


 
Skyle ©   (2004-10-21 09:18) [16]


> ... а почему ни у каких кнопок нет COLOR?

Чтобы любой желающий мог на форуме задать вопрос "А как мне запуздырить зелёную кнопку?"

Надо таких сразу на три буквы посылать (.NET), там это можно.


 
Григорьев Антон ©   (2004-10-21 11:12) [17]

В VCL вообще очень много недоработок. Например, у TEdit нет некоторых свойств, которые поддерживаются системным оконным классом EDIT, который им инкапсулируется, хотя добавить их - дело двух-трёх строк кода. В TStringGrid есть свойство, позволяющее менять цвет невыбранных ячеек, но выбранные рисуются всегда одним цветом - clHighlight. Почему? ИМХО - недоработка, потому что слишком нелогично. Но самый хит - это отсутствие свойства Color в TScrollBar, хотя весь код, необходимый для поддержки этого свойства, написан. Когда-то я подробно написал об этом здесь: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1032


 
Игорь Шевченко ©   (2004-10-21 11:24) [18]

Cobalt ©   (21.10.04 01:16) [12]


> Её внешний вид управляется соотвтетствующей библиотекой
> (comctrl, кажется).
> Вот.


user32.dll

Knight ©   (20.10.04 21:31)  


> ... а почему ни у каких кнопок нет COLOR?


И погоду предсказывать не умеют. Одно слово - MS гады и маст дай.


 
DVM ©   (2004-10-21 11:26) [19]


> Gero ©   (21.10.04 08:20) [14]
>
> > Кнопка - это стандартный элемент управления (ака контрол).
>
> Ну если TButton, то он ComCtrl"овский.
> А если, скажем TSpeedButton или TBitBtn, то в них уже борландовская
> прорисовка, не поддержтивающая темы.
>
> > comctrl, кажется
>
> Да, comctl32.dll.

comctl32.dll рисует кнопки только при включенных темах в XP.
Если темы не включены этим заведует User32.dll.


 
Игорь Шевченко ©   (2004-10-21 11:29) [20]

Григорьев Антон ©   (21.10.04 11:12) [17]


> В VCL вообще очень много недоработок.


"«Проезжая через станцию и будучи голоден в рассуждении чего бы покушать я не мог найти постной пищи. Дьякон Духов».

«Лопай, что дают»… "

(с) Антон Павлович Чехов


 
Prohodil Mimo ©   (2004-10-21 11:32) [21]

А что мешает использовать TBitBtn?


 
DVM ©   (2004-10-21 11:33) [22]


> А что мешает использовать TBitBtn?

некошерная она


 
Prohodil Mimo ©   (2004-10-21 11:39) [23]

DVM ©   (21.10.04 11:33) [22]
некошерная она

А панель в качестве кнопки? :о)

Я так понимаю, на то и находятся некоторые компоненты на закладке "стандарт", что они стандартные для винды, и работают (красятся и т.п.) как винда прикажет. А все (почти все) остальные уже с наворотами.

наверно опять непонятно выразился :о)


 
080D:07BBh ©   (2004-10-21 13:08) [24]

есть колор есть
почитай API про окна кнопка читай окно


 
хм ©   (2004-10-21 17:29) [25]

>Peoples - содержит данные жителей,
английский хромает :)


 
Gero ©   (2004-10-21 17:37) [26]


> некошерная она

Вмысле?


 
Knight ©   (2004-10-21 23:10) [27]

Во чё надыбал...

LbButtons Suite v.2.4.1

By Leif Bruder. An improved version of TSpeedButton, yet derived from TGraphicControl.
For all versions of Delphi from Delphi 4 (3? BCB? Kylix?) on; may be easily modified to work with earlier versions of Delphi, too.
Second component: TLbButton, same functionality, but a "real" button (i.e. accessible by keyboard).
New properties (not all listed):
Align
Alignment
Color
ColorStyle
LightColor
ShadowColor
Style
WordWrap

New events:
OnMouseEnter
OnMouseExit


Fully functional
Source: Included
Exe-Demo Included

Download: CB3 CB4 CB5 CB6 D4 D5 D6 D7

http://torry.net/vcl/buttons/speedbuttons/lbspeedbutton.zip

Щас пробовать буду... :)


 
Knight ©   (2004-10-21 23:29) [28]

А вроде, очень даже не плохо... :)


 
080D:07BBh ©   (2004-10-22 06:48) [29]

Knight
))


 
Knight ©   (2004-10-22 09:25) [30]


> [29] 080D:07BBh ©   (22.10.04 06:48)
> Knight
> ))

Ничего смешного... хоть у кого-то ума хватило это реализовать... Гы :)



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

Форум: "Потрепаться";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.035 c
1-1098696702
hyper_omsk
2004-10-25 13:31
2004.11.07
Ключи при запуске приложения


1-1098387808
oleg_
2004-10-21 23:43
2004.11.07
dll


4-1096465847
noname
2004-09-29 17:50
2004.11.07
Native API


1-1098041341
Jetus
2004-10-17 23:29
2004.11.07
Как сохранить иконку?


14-1098094155
TUser
2004-10-18 14:09
2004.11.07
Дот НЕТ





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский