Форум: "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