Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 Отрицательные значения Left и Top при wsMaximized  [new]
под ван
Guest
procedure TForm1.FormResize(Sender: TObject);
begin
  Caption := 'Form1.Left: ' + IntToStr(Form1.Left) + ', Form1.Top: ' + IntToStr(Form1.Top);
end;


Не могу вспомнить, когда меня этому учили: почему когда wsMaximized, то значения уходят в минус? И как эту невидимую толщину границы окна можно точно измерить при любом масштабе (100%, 145%, 200%?)

К сообщению приложен файл. Размер - 1Kb
2 дек 17, 19:45    [21001045]     Ответить | Цитировать Сообщить модератору
 Re: Минус  [new]
Ghost Writer
Member

Откуда: Россия
Сообщений: 718
под ван,

GetSystemMetrics

SM_CXFIXEDFRAME,
SM_CYFIXEDFRAME

или

SM_CXDLGFRAME,
SM_CYDLGFRAME
2 дек 17, 20:06    [21001096]     Ответить | Цитировать Сообщить модератору
 Re: Минус  [new]
white_nigger
Member

Откуда: Тула
Сообщений: 1617
под ван
Не могу вспомнить, когда меня этому учили: почему когда wsMaximized, то значения уходят в минус? И как эту невидимую толщину границы окна можно точно измерить при любом масштабе (100%, 145%, 200%?)
А нафига это надо? Для каких окон? Я для нашей риббонформ юзал метод на основе AdjustWindowRectEx для максимированного окна
2 дек 17, 20:49    [21001191]     Ответить | Цитировать Сообщить модератору
 Re: Отрицательные значения Left и Top при wsMaximized  [new]
под ван
Guest
white_nigger
под ван
Не могу вспомнить, когда меня этому учили: почему когда wsMaximized, то значения уходят в минус? И как эту невидимую толщину границы окна можно точно измерить при любом масштабе (100%, 145%, 200%?)
А нафига это надо? Для каких окон? Я для нашей риббонформ юзал метод на основе AdjustWindowRectEx для максимированного окна

Ой, не, вот мне про девовские риббоны лучше вообще не нужно напевать, без обид. Там такой ужас на любом масштабе, отличном от 100%, что у меня волосы даже на ногах шевелятся - я тебе, кстати, не раз уже подсовывал скрины этого "мыла", но ты упорно игноришь мои претензии, а на официальном форуме эта тема вообще никого не интересует :(


Всё прекрасно в скинах девок. Кроме их внешнего вида, когда масштаб >= 100%. Особенно системные кнопки бросаются в глаза. Поскорее был починили, но VCL у вас сейчас не в приоритете, так что вряд ли дождёмся.
2 дек 17, 21:43    [21001296]     Ответить | Цитировать Сообщить модератору
 Re: Отрицательные значения Left и Top при wsMaximized  [new]
под ван
Guest
Ghost Writer
под ван,

GetSystemMetrics

SM_CXFIXEDFRAME,
SM_CYFIXEDFRAME

или

SM_CXDLGFRAME,
SM_CYDLGFRAME

Спасибо, но это что-то не то, всё перечисленное возвращает мне какую-то константу, а значение явно динамическое, я уже ручками проверил на 125%, 150%, 175% и 200%:

К сообщению приложен файл. Размер - 12Kb
2 дек 17, 22:11    [21001344]     Ответить | Цитировать Сообщить модератору
 Re: Отрицательные значения Left и Top при wsMaximized  [new]
white_nigger
Member

Откуда: Тула
Сообщений: 1617
под ван
Ой, не, вот мне про девовские риббоны лучше вообще не нужно напевать, без обид.
Вообще-то я тебе вариант решения привел, а тебя куда-то не в ту сторону как обычно понесло.
2 дек 17, 23:00    [21001428]     Ответить | Цитировать Сообщить модератору
 Re: Отрицательные значения Left и Top при wsMaximized  [new]
Ghost Writer
Member

Откуда: Россия
Сообщений: 718
под ван,

если при 100% -8, то похоже на GetSystemMetrics(SM_CXFRAME)

под ван
при любом масштабе (100%, 145%, 200%?)
а как масштаб меняется ? я попробовал ScaleBy - GetSystemMetrics(SM_CXFRAME) = 8
2 дек 17, 23:50    [21001548]     Ответить | Цитировать Сообщить модератору
 Re: Отрицательные значения Left и Top при wsMaximized  [new]
Ghost Writer
Member

Откуда: Россия
Сообщений: 718
Ghost Writer
я попробовал ScaleBy - GetSystemMetrics(SM_CXFRAME) = 8
поправка - Form1.Left и Form1.Top = -8
2 дек 17, 23:52    [21001558]     Ответить | Цитировать Сообщить модератору
 Re: Отрицательные значения Left и Top при wsMaximized  [new]
GunSmoker
Member

Откуда:
Сообщений: 2929
https://blogs.msdn.microsoft.com/oldnewthing/20120326-00/?p=8003/
https://blogs.msdn.microsoft.com/oldnewthing/20150304-00/?p=44543/
3 дек 17, 08:47    [21001841]     Ответить | Цитировать Сообщить модератору
 Re: Отрицательные значения Left и Top при wsMaximized  [new]
под ван
Guest
Ghost Writer
если при 100% -8, то похоже на GetSystemMetrics(SM_CXFRAME)

Вот оно оно! Спасибо!
3 дек 17, 09:07    [21001849]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить