Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Версия 2.74 [Delphi, KOL/MCK, Windows]


Страницы:   1 2

Vladimir Kladov ©   (2007-07-26 10:26:00) 

Новости от 26 июля 2007 (KOL & MCK v2.74)
[+]
Большое количество изменений для корректной отрисовки графических контролов, BitBtn и вложенных групбоксов с темами XP, автор MTsvDN:
- используйте символ GRAPHCTL_XPSTYLES_BITBTN для отрисовки BitBtn в стиле XP;
- используйте символ GRAPHCTL_XPSTYLES для исправления шрифтов во вложенныхшруп-боксах (хотя в основном символ предназначен для графических контролов).
[*]
Используйте символ BUTTON_DBLCLICK для отдельной обработки двойного клика на кнопке.
[*]
Используйте символ TV_DRAG_RBUTTON для того, чтобы можно было перетаскивать элементы дереве (tree view) так же и правой кнопкой мыши.
[*]
Используйте символ HTMLHELP_NOTOP для того, чтобы окно приложения не становилось родительским для вызываемой справки (Html Help).
[-]
Использование символа ESC_CLOSE_DIALOGS раздельно от KEY_PREVIEW исправлено (asm версия).
[-]
Lnk.pas исправлен (функция FileTypeReg2Ex).
[+]
Добавлены дефиниции для Delphi 2007 в KOLDEF.inc, предложил Thaddy de Koning.


MTsv DN   (2007-07-27 14:52:00) [21]

Еще раз перезалил: http://www.kolnmck.ru/other/visual_xp_styles.rar

Исправлен маленький недочет. При GroupBox.Enabled := false; этого не было заметно. Теперь изменяется цвет шрифта.


MTsv DN   (2007-07-27 14:34:00) [22]

Версия от 27 июля 2007 года: http://www.kolnmck.ru/other/visual_xp_styles.rar

> при включённой опции GRAPHCTL_XPSTYLES сплиттера не видно
Исправлено. Хотя при включенной теме сплиттера по определению не видно (у меня в крайнем случае. Смотрел в Проводнике.).

> И ещё какие-то глюки лезут - не разобрался.
Скорей всего где-то с прозрачностью. Пока тоже не вникал.

> иначе после перезапуска образуются какие-то рамки вокруг панелей
Поскольку свойство HasBorder я у панели в DesignTime'е не нашел, то логично (как мне кажется) предположил, что esNone - это HasBorder := false, остальное := True. Хотя возможно и esTransparent надо было как и esNone обрабатывать. Но это изменение парой строчек кода...


Vladimir Kladov   (2007-07-26 22:15:00) [23]

Да, и новый ToGRush я выложил - с опциональным включением (на старте можно присвоить NoGRush = true, и все вызовы пройдут насквозь обратно с созданием обычных контролов).


Vladimir Kladov   (2007-07-26 22:12:00) [24]

Забыл. Следующее обновление будет скоро, так что ещё попадёт.

Скачал я новый visual_XP_Styles, но что-то не полегчало: при включённой опции GRAPHCTL_XPSTYLES сплиттера не видно (может так и надо, не знаю, но вряд ли). И ещё какие-то глюки лезут - не разобрался. Мне оно вроде как бы и не надо, я групбоксы не вкладываю друг в друга, битбатоны не использую, и графических контролов в проекте нет, но так, к сведению.

Включить манифест пришлось именно по схеме 2 - извлечение из ресурса и выкладывание в папку установки. При обратном отключении файл манифеста удаляется, иначе после перезапуска образуются какие-то рамки вокруг панелей (всё-таки влияет манифест на простые панели, и портится вид grush).


ElectriC   (2007-07-26 19:37:00) [25]

А где-же -> http://delphimaster.ru/cgi-bin/forum.pl?id=1184948750&n=10


Vladimir Kladov   (2007-07-26 19:05:00) [26]

Я пока попробовал подключить тему через MHXP, не трогая GRush. Всё нормально, GRush остался самим собой (интерфейс у меня "богатые" контролы не задействует, всё на кнопках да панелях). Единственное, что "испортился" Scrollbar в сторону XP - ну так он неплохо "вписался", по крайней мере для стандартной темы. Осталось поправить ToGRush, чтобы от значения переменной он инициализировал GRush контролы, или запускал обычные. Так что задачка почти уже и решена. Единственное, что пользователь должен будет перезапустить приложение, чтобы изменения отобразились.


MTsv DN   (2007-07-26 17:59:00) [27]

Хотя стандартные контролы будут изменяться все равно.
Вариант 2, из разряда "мозгового штурма":
1. Манифест сохраняете в RC_DATA, а не RT_MANIFEST.
2. До отображения окна производите выбор GRush или Visual XP Styles и по результатам выбора извлекаете манифест в папку с программой и именем "ваше_приложение.exe.manifest".

Без понятия получится или нет ;)


MTsv DN   (2007-07-26 17:43:00) [28]

Занятно. Как вариант вижу только:
1. Вынесение CheckThemes, InitThemes из initialization и DeinitThemes из finalization. Чтобы пользователь сам включал/выключать тему.
2. В InitThemes/DeinitThemes, рекурсивно просматривать все контролы и сопоставлять по-новой owner-draw прорисовку или родную.


Vladimir Kladov   (2007-07-26 17:15:00) [29]

Если иправлений в функциональности нет, то до конца недели подождёт. А мне вот уже первый социальный "заказ" поступил: хочется юзеру, чтобы интерфейс был стандартный, в соответствии с темой текущей. То бишь, надо делать так, чтобы при запуске принять решение и далее либо GRush-контролы, либо обычные контролы были (но с темами). Интересно, можно ли на ходу отрубить/врубить темы, чтобы если GRush-only, то темы никак не активировались и не пытались менять внешний вид тех же панелей...


MTsv DN   (2007-07-26 16:37:00) [30]

http://www.kolnmck.ru/other/xpthemes_4.gif


MTsv DN   (2007-07-26 16:32:00) [31]

Привет...

Продолжаю шлифовать код... Изменения не особо существенные, т.ч. обновление не критично.

Изменения:
1. Увеличена скорость прорисовки, за счет проверки функции отрисовки пользователя ДО основного кода. (понимаю, что это само собой разумеющееся, однако, с утра и второпях, я так не думал, вернее не додумал)
2. По просьбе GMax'а изменен подсчет прямоугольников иконки и текста на битбаттоне. (на широких и высоких кнопках, действительно смотрелось ужасно)
3. Добавлена обработка сообщений с клавиатуры.
4. Объединены некоторые обработчики.

Всем заинтересованным скачать: http://www.kolnmck.ru/other/visual_xp_styles.rar


Vladimir Kladov   (2007-07-26 16:03:00) [32]

Положил как kolmck274to274b.zip (в списке обновлений есть). В новости добавлю позже.

Забить нельзя. Если вы не пользуетесь, это не значит, что другие по каким-то причинам продолжают сидеть на 95 или NT4. Любителей хватает. Кстати, тем XP в 2К нет. А я предпочитаю в ХП сидеть с отключёнными темами, и не я один такой.


D[u]fa   (2007-07-26 14:14:00) [33]

да если честно тож не особо понимаю... на версии винды до 2000-ХР мона забить было давно.... но это мое имхо


Andrey_rus   (2007-07-26 13:52:00) [34]


> а какой смысл делать это через условные директивы? может
> быть, лучше сделать это по умолчанию? зачем заморачиваться
> с директивами, или здесь есть какие-то подводные камни и
> скрытые проблемы?


Увеличение размера кода или данных. :)


Rusya   (2007-07-26 13:41:00) [35]


> [+]
> Большое количество изменений для корректной отрисовки графических
> контролов, BitBtn и вложенных групбоксов с темами XP, автор
> MTsvDN:
> - используйте символ GRAPHCTL_XPSTYLES_BITBTN для отрисовки
> BitBtn в стиле XP;
> - используйте символ GRAPHCTL_XPSTYLES для исправления шрифтов
> во вложенныхшруп-боксах (хотя в основном символ предназначен
> для графических контролов).

а какой смысл делать это через условные директивы? может быть, лучше сделать это по умолчанию? зачем заморачиваться с директивами, или здесь есть какие-то подводные камни и скрытые проблемы?


MTsv DN   (2007-07-26 13:12:00) [36]

Владимир, Вам письмо. Еще раз извиняюсь за неудобства.


MTsv DN   (2007-07-26 12:54:00) [37]

Ой поторопился я слегка... Всем заинтересованным скачать: http://www.kolnmck.ru/other/visual_xp_style.rar

Исправлено:
1. Если пользователем определены обработчики, то они блокировались.
2. Установка цвета текста контрола.
3. Прорисовка таб-панель, панель, лэйбл, сплиттер.
4. Мелкие исправления.

Заменить в KOL.PAS:
GetThemeSysColor: function(hTheme: DWORD; iColorId: Integer): COLORREF; stdcall;
на
GetThemeColor: function(hTheme: DWORD; iPartId, iStateId, iPropId: Integer;
   var pColor: COLORREF): HRESULT; stdcall;


P.S. Сейчас отправлю Владимиру апдейт.
P.S.S. Извиняюсь за неудобаства.


Vladimir Kladov   (2007-07-26 12:07:00) [38]

Пересобрал, перезалил. Сейчас он должен от какого-то из обязательных файлов создаваться.


=BuckLr=   (2007-07-26 11:52:00) [39]

Ну да, такого файла же нету вовсе


=BuckLr=   (2007-07-26 11:48:00) [40]

Ругается на то, что нельзя найти source file (read1st_rus.txt) и обновить-создать visual_xp_styles.inc
:(


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо