![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Версия 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.