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

Вниз

По поводу черного цвета вместо системного   Найти похожие ветки 

 
BeZ   (2006-01-21 00:41) [0]

вот заметил такую вещь:
если для контрола выбрать системный цвет, то после компиляции в приложении контрол имеет не системный цвет, а черный... в какой то теме (кажется) было уже такое

если в опциях проекта выставить PAS_VERSION, то все работает, т.е. если для контрола выбираем системный цвет, то он таким и будет, но не черным

если в опциях проекта поставить ASM_VERSION или убрать PAS_VERSION (останется только KOL_MCK), то системный цвет превращается в черный

причем, есть стоит опция PAS_VERSION, то размер ехе файла будет на ~10 Кб больше чем с ASM_VERSION

версия KOL\MCK 2.31


 
homm ©   (2006-01-21 08:48) [1]


> если для контрола выбрать системный цвет, то после компиляции
> в приложении контрол имеет не системный цвет, а черный...
Проект, где этот глюк появляется на мыло Владимиру. Неплохо бы еще версию дельфи указать. Может Themes  в приложении используется или прозрачность (вместе их со стандартными контроломи использвать нельзя).


> причем, есть стоит опция PAS_VERSION, то размер ехе файла
> будет на ~10 Кб больше чем с ASM_VERSION
Дак затем и нужна ASM_VERSION, что Дельфийский компилятор не может рационально транслировать текст программы (а иногда и потенциально нет такой возможности) в машиный код.


 
BeZ   (2006-01-21 12:14) [2]

To Homm

Вообщем сделал два тестовых пакета:
 TestKOL - ASM_VERSION;
 TestKOL_2 - PAS_VERSION;

поглядеть можно http://p2ktools.nm.ru/Black.rar                                                      
на форму бросил EditBox и GRushButton
для EditBox.Color выставил clBtnFace
для GRushButton выставил
 GRushStyles.DefPaintStyles.ColorFrom = clBtnFace
 GRushStyles.DefPaintStyles.ColorTo = clBtnFace

вообщем EditBox ведет себя нормально
а вот твоя GRushButton - нет:
если ASM_VERSION, то кнопка черная в обычном состоянии
если PAS_VERSION, то кнопка системного цвета clBtnFace

Может тогда это в твой адрес замечание?
Погляди, если не сложно, а то я активно юзаю твои GRush контролы


 
homm ©   (2006-01-21 13:29) [3]

Попробуй этот элементарный пример под Delphi7 (я так понял что у тебя именно она, т.к. в 5 и 6 все впорядке). http://www.homm86.narod.ru/files/nor4.rar
Просто с определенной увереностью могу предположить что если GRushStyles.DefPaintStyles.ColorFrom <> GRushStyles.DefPaintStyles.ColorTo то все рисуется как надо, вот и получается что виноваты вот эти две строки:
           Brush.Color := State.ColorFrom;
           FillRect(BorderRect);


А вообще
> если для контрола выбрать системный цвет, то после компиляции
> в приложении контрол имеет не системный цвет, а черный..
надо бы уточнять в таких случаях, что за контрол.


 
BeZ   (2006-01-22 23:59) [4]

> Попробуй этот элементарный пример под Delphi7 ...(
угу, Delphi7 с первым апдейтом
попробовал, скомпилил, загрузилось приложение с кнопкой цвета clBtnFace и цыетом формы clLime. При нажатии на кнопку цвет формы изменился на clBtnFace

надо бы уточнять в таких случаях, что за контрол.
ну в [2] я уточнил что за контролы :)


 
BeZ   (2006-01-23 00:01) [5]

если GRushStyles.DefPaintStyles.ColorFrom <> GRushStyles.DefPaintStyles.ColorTo то все рисуется как надо
а вот мне кажется что очень здорово, когда эти два свойства имеют один цвет... кнопка становиться плоской и не выделяется от других контроловЮ а когда наведешь на нее, то она становиться красивой, хотя кому как :)


 
Thaddy   (2006-01-23 11:34) [6]

If you get the black color (happens with more code, not only kol, not even only delphi!) this small trick always works:
Instead of assigning a color like:

aControl.color:=clBtnFace;


Assign the color through the API GetSysColor, like:

aControl.Color:=GetSysColor(clBtnFace);

This fixes some problems with the indexed system colors in some resolutions, because it translates it from the index to the actual RGB value, including transparency. Always works!


 
Thaddy   (2006-01-23 11:43) [7]

Coorection, ofcourse you should use the API (from win32.hlp and in windows.pas) constants, not the Delphi constants:

aControl.Color:=GetSysColor(COLOR_BTNFACE);


 
homm ©   (2006-01-25 07:47) [8]


> угу, Delphi7 с первым апдейтом
> попробовал, скомпилил, загрузилось приложение с кнопкой
> цвета clBtnFace и цыетом формы clLime. При нажатии на кнопку
> цвет формы изменился на clBtnFace
Идем дальше. Скачай и прогони еще раз. Не забудь про ASM_VERSION.


 
homm ©   (2006-02-08 10:50) [9]

Что-то BeZ не видно. Может кто-то другой скачает проект http://www.homm86.narod.ru/files/nor4.rar и посмотрит в Delphi7 под ASM_VERSION?



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

Форум: "KOL";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.061 c
15-1162825312
daser
2006-11-06 18:01
2006.11.26
Каковы минимальные требования для компа, чтоб работать


15-1162668128
Зм1й
2006-11-04 22:22
2006.11.26
Просканировать комп


2-1163166125
Fostr
2006-11-10 16:42
2006.11.26
StringGrid.Refresh


15-1162658830
ProgRAMmer Dimonych
2006-11-04 19:47
2006.11.26
Создатели веб-сайтов - хуже спамеров?


15-1163062444
AVELINA
2006-11-09 11:54
2006.11.26
помогите инфой про wwExpandButton, plz...





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