Форум: "KOL";
Текущий архив: 2008.03.16;
Скачать: [xml.tar.bz2];
ВнизVista Aero Найти похожие ветки
← →
ElectriC © (2007-07-20 20:25) [0]Почему стиль Vist"ы Aero добавляет к высоте и ширине формы + 8 пикселей(на VCL такое не наблюдается).
P.S. Очень раздражает(((
P.S. Что-то с KOL?!
← →
Дмитрий К © (2007-07-20 20:32) [1]У меня не добавляет.
← →
ElectriC © (2007-07-20 21:37) [2]По-началу всё нормально! Но стоит добавить пару Buttons, Edit и всё.
← →
Дмитрий К © (2007-07-20 21:49) [3]Это как-то визуально определяется?
А то я добавил пару Buttons, Edit и никаких +8 не вижу.
← →
ElectriC © (2007-07-20 23:36) [4]Когда CanResize := True, тогда и добавляется + 8 пикселей к ширине и высоте формы.
P.S. Это видно в "run time"!!!
← →
ElectriC © (2007-07-21 00:00) [5]Сорри за ошибку: Когда CanResize := False!!!
← →
Дмитрий К © (2007-07-21 00:25) [6]Хм. Есть такое. Причем чисто визуально - справа и снизу добавляется некоторое количество пикселей, а Width и Height дают те же значения, что и в дизайнере, но форма реально больше.
← →
Дмитрий К © (2007-07-21 01:28) [7]Судя по косвенным данным с MSDN это баг Висты связанный с WS_THICKFRAME
← →
ElectriC © (2007-07-21 03:08) [8]Ну вот. Есть варианты, как исправить?
P.S. Или никак?
← →
ElectriC © (2007-07-21 03:10) [9]
> это баг Висты
Скорее всего Aero, т.к. классический, стандартный стили работают нормально!
← →
Дмитрий К © (2007-07-21 11:45) [10]По-моему, это нормальное поведение. Поскольку граница окна меняется с "жирной" на тонкую. Проявляется при любых оформлениях и в w98 тоже.
← →
ElectriC © (2007-07-21 15:22) [11]В "run time" чтобы + 8 пикселей добавлялось - это не слишком нормально, хотя...
P.S. Но с остальными стилями нормально.
← →
ElectriC © (2007-07-21 15:24) [12]С VCL же такого не наблюдается.
← →
Дмитрий К © (2007-07-21 15:43) [13]
> С VCL же такого не наблюдается.
Если в рантайм менять, то наблюдается.
← →
Yury Sidorov (2007-07-23 03:36) [14]Вот патч, который это фиксит:
--- C:/TEMP/MIRROR.PAS-rev106.svn000.tmp.PAS Mon Jul 23 02:32:52 2007
+++ C:/TEMP/MIRROR.PAS-rev107.svn000.tmp.PAS Mon Jul 23 02:33:08 2007
@@ -12282,7 +12282,6 @@
end;
function TKOLForm.GenerateTransparentInits: String;
-var MainMenuHeight: Integer;
begin
asm
jmp @@e_signature
@@ -12324,30 +12323,7 @@
IntToStr( Bounds.Height ) + " )"
else
Result := Result + ".SetSize( " + IntToStr( Bounds.Width ) + ", " +
- IntToStr( Bounds.Height-GetSystemMetrics(SM_CYCAPTION) ) + " )"
- else
- if HasCaption then
- begin
- if HasMainMenu then
- begin
- MainMenuHeight := GetSystemMetrics( SM_CYMENU );
- Result := Result + "{MainMenuHeight=" + IntToStr( MainMenuHeight ) + "}";
- end
- else
- begin
- MainMenuHeight := 0;
- Result := Result + "{No MainMenu!}";
- end;
- if HasBorder then
- Result := Result + ".SetClientSize( " + IntToStr( (Owner as TForm).ClientWidth ) +
- ", " + IntToStr( (Owner as TForm).ClientHeight + MainMenuHeight ) + " )";
- end
- //+++++++ UaFM
- else
- if HasBorder then
- Result := Result + ".SetClientSize( " + IntToStr( (Owner as TForm).ClientWidth ) +
- ", " + IntToStr( (Owner as TForm).ClientHeight-GetSystemMetrics(SM_CYCAPTION) )
- + ")"
+ IntToStr( Bounds.Height-GetSystemMetrics(SM_CYCAPTION) ) + " )";
end;
//Log( "#3 TKOLForm.GenerateTransparentInits" );
@@ -13581,6 +13557,7 @@
"wsMinimized", "wsMaximized" );
var I: Integer;
S: string; {YS}
+ MainMenuHeight: Integer;
begin
asm
jmp @@e_signature
@@ -13671,10 +13648,31 @@
end;
//Log( "&7 TKOLForm.SetupFirst" );
+ if not CanResize then
+ S := S + " and not WS_THICKFRAME";
if S <> "" then
SL.Add( Prefix + AName + ".Style := " + AName + ".Style" + S + ";" );
+ if not DefaultSize then
+ begin
+ if HasCaption then
+ begin
+ if HasMainMenu then
+ MainMenuHeight := GetSystemMetrics( SM_CYMENU )
+ else
+ MainMenuHeight := 0;
+ if HasBorder then
+ SL.Add( Prefix + AName + ".SetClientSize( " + IntToStr( (Owner as TForm).ClientWidth ) +
+ ", " + IntToStr( (Owner as TForm).ClientHeight + MainMenuHeight ) + " );" );
+ end
+ //+++++++ UaFM
+ else
+ if HasBorder then
+ SL.Add( Prefix + AName + ".SetClientSize( " + IntToStr( (Owner as TForm).ClientWidth ) +
+ ", " + IntToStr( (Owner as TForm).ClientHeight-GetSystemMetrics(SM_CYCAPTION) )
+ + ");" );
+ end;
//Log( "&8 TKOLForm.SetupFirst" );
{YS}
← →
ElectriC © (2007-07-23 13:53) [15]
> Yury Sidorov
Спасибо.
P.S. [Пошёл проверять...]
← →
ElectriC © (2007-07-24 04:40) [16]Чёт не въезжаю, как обновить модуль mirror.pas с помощью Updater.
Можете объяснить, как обновить модуль.
← →
Дмитрий К © (2007-07-24 12:49) [17]
> Можете объяснить, как обновить модуль.
Вручную удалить строки с минусами, добавить с плюсами. Не забыть сохранить исходный.
У меня работает.
← →
ElectriC © (2007-07-24 16:09) [18]Так SL, Prefix, AName переменных нет в функции. Куда их довавлять?
P.S. в var или function TKOLForm.GenerateTransparentInits (SL : TStringList;
Prefix, AName : String): String; ?
← →
ElectriC © (2007-07-24 16:10) [19]
> довавлять
добавлять
← →
Yury Sidorov (2007-07-24 16:44) [20]Код добавляется удаляется из TKOLForm.GenerateTransparentInits, а добавляется в TKOLForm.SetupFirst.
Все что нужно удалить/добавить описано в патч файле. От себя добавлять ничего не нужно.
← →
ElectriC © (2007-07-24 17:08) [21]Всё разобрался.
← →
Andrey_rus © (2007-07-31 16:41) [22]А в какой нибудь версии KOL закрепили этот патч?
← →
Дмитрий К © (2007-07-31 16:47) [23]
> А в какой нибудь версии KOL закрепили этот патч?
2.75
> [-] Изменения в MCK для исправления бага темы Vista Aero
> с добавлением 8 пикселей справа и снизу окна со стилем границы
> thick (если он устанавливается во время выполнения, уже
> после создания окна). Для KOL, такая граница используется
> в формах с CanResize=false. Примечание: Исправляются только
> формы, с CanResize=false изначально, а не те, для которых
> этот флаг устанавливается в run-time. Автор: Юрий Сидоров.
>
← →
Andrey_rus © (2007-07-31 17:35) [24]disign-time
CanResize:= true;
run-time
CanResize:= false;
И проблемы нет даже в 2.63
← →
Vladimir Kladov (2007-08-03 09:35) [25]У вас форма не содержит контролов, которые потребовали бы создания дескриптора (а следовательно дескриптора окна формы и дочерних к нему) до присваивания CanClose := false.
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2008.03.16;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.011 c