Задайте цвят на бутона

ето пример от нашата чудесна база данни DRKB, но с проблеми
Малко допълнение. Бутонът все още е начертан от WINDOWS и оцветен от ColorBtn. Кодът на компонента е 90% същият като BitBtn кода, тук няма нищо необичайно. Бих искал да повторя думите на Калверт - "Използвайте изходния код." Разглеждайте VCL по-често - можете да намерите много интересни неща.



Всъщност работи, но вероятно правите нещо нередно, но ако искате да опитате да го направите и програмно:
Като цяло не се съмнявах, че ще работи за speedButton, както казах по-горе, имах предвид обикновен бутон и неговото свойство Font-Color


Готино, но донякъде. И при мен не се променя.
Нито програмно, нито нормално.
И аз за това говоря.

Готино, но донякъде. И при мен не се променя.
Нито програмно, нито нормално.
Имате предвид горния пример от DRKB или стандартното свойство на цвета? Ако стандартното свойство не се променя, тъй като такава възможност не е дефинирана в Windows, по-точно се определя от темата на Windows, а не от програмата. Следователно, без проблеми няма да работи



Какъв бутон имаш предвид?




Като цяло бутонът TButton е остаряла разработка и никога не го използвам.
За да копаете този бутон просто го направете, трябва да бъде премахнат от стандартните компоненти на Delphi. Няма плюсове, има само минуси.


Това не е развитие. Разгледахте ли източниците на VCL? Силно препоръчвам, тогава ще разберете защо е там.


Zero, TButton нека се знае, това е един от седемте базови класа на системата Windows с различни параметри при създаването муможе да се превърне в Button, CheckBox и RadioButton.
Ако компонентът TButton бъде премахнат от Vcl, тогава първото нещо не е ясно какво да се прави с компонентите, които са изградени на базата на TButton и не е ясно как да се поддържат стари проекти в този случай. Като цяло всички компоненти във всяка среда за разработка на Windows са изградени на базата на седемте основни компонента на Windows.
Както вече знаете, Borland не е изобретил TButton. TBitBtn и TSpeedButton не са потомци на TButton, те са базирани на класа TGraphicControl и просто изглеждат като TButton.


Можете да получите ползи, без да очаквате сами. Всички си спомнят, че когато се появи Win XP, много програмисти веднага искаха да направят поддръжка за XP теми в своите програми. Всички бързо разбраха, че за това просто трябва да вземете манифести и всичко ще бъде наред. Делфистите също разбраха за това щастие, но тогава последната налична версия беше 6 и когато се разработваше, те все още не знаеха за никакви манифести. Е, там, където нашите не изчезнаха, хората компилираха res файл, който включваше текста на манифеста и го включиха в проекта. И сега има два сценария: 1) Програмата е написана с помощта на стандартния TButton, който от своя страна е създаден от системните инструменти и съответно поддържа всички нововъведения. Програмата изглежда така, както трябва с активирана Xp тема. 2) Програмата е написана с помощта на TBitBtn, който не е изграден на базата на стандартния системен компонент Button и е начертан от самия Borland, който не може да знае какво ще се появи там. Програмата изглежда доста странно от гледна точка на потребителя с активирана Xp тема.
Така беше и с хората, които използваха навсякъде в своите програми TBitBtn вместо TButtonдва варианта: изчакайте, докато Borland пусне D7 и не е фактът, че определено ще обработи всичко там нормално или пренаписване на програми от TBitBtn на TButton.
Отбелязвам, че привидно безобидният компонент TBitBtn, какъв добър заместител на TButton, но какъв капан съдържа.
Ето защо НИКОГА не използвам TBitBtn, освен ако не е абсолютно необходимо. И винаги мисля за опасностите от използването на нестандартни компоненти. И много често, преди да използвам компоненти на трети страни, гледам на какво се основават.
Научете Vcl и Win Api и ще можете да избегнете много клопки.