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

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

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


Vladimir Kladov ©   (2007-08-04 20:11:00) 

Новости от 4 августа 2007 (KOL & MCK v2.76)

[+]   Добавлена   опция   для   тулбара:   tboCustomErase.  И  событие
OnTBCustomDraw.   Если   событие   не   назначено,   а   новая   опция
tboCustomErase  установлена,  свойства  Color и Brush используются для
заполнения  фона  (но  необходимо  установить  по  крайней  мере nil в
качестве  обработчика  события, в MCK это делается автоматически). При
установке  обработчика  события,  возможно  сделать  больше (например,
обеспечить градиентную заливку).

[-]  ExtractFileName  asm-версия исправлена (используется строка ':\/'
как список разделителей).

[+]  С  новым  символом STOP_WNDPROCTRANSPARENT_AFTER_APPLETTERMINATED
присоединённый  обработчик WndProcTransparent прекращает работу, когда
AppletTerminated=true      или      окно      становится     невидимым
(ToBeVisible=false).

[-]   WndProcGradient   испарвлен  для  случая,  когда  не  установлен
NEW_GRADIENT, для некоторых стилей заливки.

[*]  CanResize  -  поведение  по  умолчанию  изменено: теперь стиль не
меняется на WS_THICKFRAME при установке CanResize=false. Вместо этого,
в ответ на WM_NCHITTEST когда мышь на бордюре, возвращается HTNOWHERE,
что  даёт такой же визуальный эффект (курсо мыши не меняется на такой,
который  используется  для  изменения  размеров).  Для  возвращения  к
предыдущему поведению, можно использовать символ CANRESIZE_THICKFRAME.

[-]  MCK  В  MCK, исправлена генерация текста модуля с формой ({$IFDEF
KOLCLASSES} {$I T...) в одном месте (была пропущена буква "T").


Yury Sidorov   (2007-08-06 18:20:00) [1]

Да. В любой версии Windows такой баг может вылезти...


Vladimir Kladov   (2007-08-06 18:20:00) [2]

Как - проявится? Ни разу не видел добавления 8 пикселей в XP. Кроме того, толстая рамка и так выставлена по умолчанию.


ANTPro   (2007-08-06 14:43:00) [3]

В XP тоже можно выставить толстую рамку и баг, также появится.


Yury Sidorov   (2007-08-06 11:38:00) [4]

CanResize  -  поведение  по  умолчанию  изменено: теперь стиль не
меняется на WS_THICKFRAME при установке CanResize=false.

Это я про это. Тут неточность. Насколько я понял в новой версии стиль WS_THICKFRAME как раз остаетсяпри установке CanResize=false.

Теперь про Висту и про проблему, которая в ней была.
Баг не в Висте, а в том что там очень толстая рамка (порядка 8 пикселей) при стиле WS_THICKFRAME. Форма изначально создается со стилем WS_THICKFRAME, т.е. с рамкой. Если изначально задать точный размер формы, а после создания всех дочерних контролов, установить CanResize=false. То толстая рамка заменяется н тонкую и образуется пустое пространство справа и внизу формы.

Новая версия исправляет эту проблему тем, что толстая рамка присутствует всегда. Это в принципе даже в духе Висты. В стандартных модальных диалогоах толстая рамка присутствует тоже...


Vladimir Kladov   (2007-08-06 10:55:00) [5]

Я это читал. Проблема в баге в Vista Aero, которая проявляется при установке WS_THICKFRAME (я правильно понял? при установке?) в run-time. У нас всё еще остаётся старый вариант, если символ CANRESIZE_THICKFRAME, или можно этот стиль своим кодом прибавить: Form.Style := Form.STYLE or WS_THICKFRAME (но при этом лучше проверять, что версия Windows не Vista: if WinVer < wvVista then ...). Диалоговая форма при стиле bsDialog в MCK выглядит так же, как и раньше, только бордюр чуть-чуть шире. Но мышью и вообще никак не изменяется размер, так чтот в основном всё в порядке в новом варианте (или что не стандартно выглядит?). Из кнопок только x есть в заголовке, вроде похоже на правду.


Yury Sidorov   (2007-08-06 10:32:00) [6]

WS_THICKFRAME как должен быть при CanResize:=True, иначе окна в Viste будут выглядеть нестандартно.


Yury Sidorov   (2007-08-06 10:32:00) [7]

WS_THICKFRAME - Creates a window that has a sizing border. Same as the WS_SIZEBOX style.


Vladimir Kladov   (2007-08-05 19:25:00) [8]

Это в MCK вместо CanResize := false генерится по-старому Style := Style and not WS_THICKFRAME. Пока убирайте из ObjectInspector'а и ставьте в OnFormCreate:

Form.CanResize := false;Граница внешне такая же, и отключение в run-time работает. В очередном обновлении будет поправлен код в MCK.


Дмитрий К   (2007-08-05 18:48:00) [9]


> исправляет ли новый способ установки CanResize=false баг
> Vista Aero

Исправляет, только если в MCK CanResize установлено в false, и в run-time установить CanResize в True, то изменять размеры мышкой невозможно.


Vladimir Kladov   (2007-08-05 18:31:00) [10]

Ой. Буквочку просмотрел. Сейчас должно работать.


Дмитрий К   (2007-08-05 18:22:00) [11]


> Версия 2.77:

> The requested URL /upd/kolmck276to277.zip was not found on this server.


Vladimir Kladov   (2007-08-05 17:39:00) [12]

Версия 2.77:
Новости от 5 августа 2007 (KOL & MCK v2.77)

[*]
Добавлены изменения в visual_xp_styles and и для символа GRAPHCTL_XPSTYLES, автора MTsvDN.
Символ RICHEDIT_XPBORDER удалён и его функцию выполняет GRAPHCTL_XPSTYLES.

[*]
В процедуре DefaultBtnProc, добавлена небольшая проверка на видимость кнопки.


Vladimir Kladov   (2007-08-05 10:09:00) [13]

MTsvDN дал мне новую версию visual_xp_styles с изменениями в KOL, сегодня я постараюсь выложить обновление. Кстати, жду сообщений по поводу раскраски тулбаров и насчёт того, исправляет ли новый способ установки CanResize=false баг Vista Aero (которой у меня сейчас нет), в том числе - в run-time.


Наверх

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