Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.26;
Скачать: CL | DM;

Вниз

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

 
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 вся ветка

Текущий архив: 2006.11.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.048 c
2-1162888716
V.I.P
2006-11-07 11:38
2006.11.26
выборка по дате


4-1152858810
Mamed
2006-07-14 10:33
2006.11.26
rapi. delete file


1-1160674493
Sanya_BBB
2006-10-12 21:34
2006.11.26
Как в через w.activedocument сделать адьбомную страницу?


2-1162987359
Димыч
2006-11-08 15:02
2006.11.26
Поверх всех окон


2-1162898517
alucard
2006-11-07 14:21
2006.11.26
Подскадине где компонент SocketConnection?