powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Странное поведение формы на Win10.
7 сообщений из 7, страница 1 из 1
Странное поведение формы на Win10.
    #39727486
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На XP/Vista/W7 все нормально.

На W10 форма увеличивается по ширине и высоте, но при том говорит что размеры и координаты не изменились!

Че за фигня?!
...
Рейтинг: 0 / 0
Странное поведение формы на Win10.
    #39727487
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проект в аттаче.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
procedure TForm4.Button1Click(Sender: TObject);
begin
  BorderStyle:=bsNone;
  FormResize(nil);
end;

procedure TForm4.Button2Click(Sender: TObject);
begin
  BorderStyle:=bsSizeable;
  FormResize(nil);
end;

procedure TForm4.FormResize(Sender: TObject);
begin
  ListBox1.Items.Text:='Left='+Left.ToString+
                 #13#10'Top='+Top.ToString+
                 #13#10'Width='+Width.ToString+
                 #13#10'Height='+Height.ToString+
                 #13#10'ClientWidth='+ClientWidth.ToString+
                 #13#10'ClientHeight='+ClientHeight.ToString;
end;
...
Рейтинг: 0 / 0
Странное поведение формы на Win10.
    #39727488
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще странность.

Задвинутая в верхний левый угол десктопа форма выдает координаты:

Form.Left=-7
Form.Top=0

Кто в курсе что там поменяли в 10-ке?
...
Рейтинг: 0 / 0
Странное поведение формы на Win10.
    #39727491
Aniskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добавилась невидимая рамка. Реальные размеры окна без нее можно получить как-то так:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
function GetRealWindowRect(AWnd: HWND; out ARect: TRect): Boolean;
var
  Enabled: BOOL;
begin
  Result := False;
  if Succeeded(DwmIsCompositionEnabled(Enabled)) and Enabled then
    Result := Succeeded(DwmGetWindowAttribute(AWnd, DWMWA_EXTENDED_FRAME_BOUNDS, @ARect, SizeOf(ARect)));
  if not Result then
    Result := GetWindowRect(AWnd, ARect);
end;
...
Рейтинг: 0 / 0
Странное поведение формы на Win10.
    #39727492
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Походу надо делать хелпер для TForm.
...
Рейтинг: 0 / 0
Странное поведение формы на Win10.
    #39727493
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Странное поведение формы на Win10.
    #39727494
Aniskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreat http://qaru.site/questions/455353/getwindowrect-returns-a-size-including-invisible-borders

qaru.site - это какой-то машинный переводчик с en на ru. Правильная ссылка:
https://stackoverflow.com/questions/34139450/getwindowrect-returns-a-size-including-invisible-borders
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Странное поведение формы на Win10.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]