Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Для приложения плохо работает Snap Assist в Windows 10 / 10 сообщений из 10, страница 1 из 1
16.09.2017, 02:46
    #39522137
crossa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для приложения плохо работает Snap Assist в Windows 10
В Windows 10 есть удобная функция Snap Assist :
https://www.digitaltrends.com/computing/how-to-split-your-screen-in-windows-10/
Ее настройки находятся в панели управления операционной системы, раздел "Система", подраздел "Многозадачность".

К сожалению, в моих программах эта функция работает не полностью. Не срабатывает опция "При изменении размера прикрепленного окна одновременно изменять размер смежного прикрепленного окна". Вот пример этой же проблемы в другой программе:
https://github.com/RolandPheasant/TailBlazer/issues/168

Проблема еще в том, что программы создавались несколько лет: в их окнах много элементов, написано много кода. Программы скомпилированы в Delphi 2007 и 2009.

Создал в Delphi 2009 программу с пустой формой, откомпилировал - для нее функция Snap Assist работает нормально. То есть, можно утверждать, что проблема не в версии Delphi.

Бьюсь над разгадкой несколько дней; не знаю, где еще копать. Если кто-то уже сталкивался с такой проблемой, подскажите, буду очень признателен.
...
Рейтинг: 0 / 0
16.09.2017, 13:41
    #39522194
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для приложения плохо работает Snap Assist в Windows 10
crossaв их окнах много элементов, написано много кода.Удаляйте код, пока не найдете проблемное место. Дальше думайте
...
Рейтинг: 0 / 0
16.09.2017, 16:14
    #39522211
crossa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для приложения плохо работает Snap Assist в Windows 10
Решением проблемы стало добавление строки в файлы *.dpr:
Код: pascal
1.
Application.MainFormOnTaskbar := True;


Только после этого приложения работают нормально с функцией Snap Assist в Windows 10.
...
Рейтинг: 0 / 0
16.09.2017, 23:15
    #39522274
crossa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для приложения плохо работает Snap Assist в Windows 10
После того, как стал присваивать Application.MainFormOnTaskbar значение True, возникла неприятная особенность: когда программа минимизирована, при ее восстановлении окно перерисовывается заметным образом, "моргает". При Application.MainFormOnTaskbar равным False такого нет. Операционная система Win7/10, версия Delphi 2007/2009.

Подскажите, как можно избавиться от лишних перерисовок главного окна при развертывании после минимизации. А то получается, что поменял шило на мыло: Snap Assist заработал, но с рисованием главного окна начались проблемы.
...
Рейтинг: 0 / 0
17.09.2017, 16:16
    #39522384
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для приложения плохо работает Snap Assist в Windows 10
crossa,

это обычное состояние, когда лечение болезни подменяется лечением симптомов.
...
Рейтинг: 0 / 0
17.09.2017, 21:42
    #39522510
crossa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для приложения плохо работает Snap Assist в Windows 10
makhaon,

Простите, не понял смысл Вашего высказывания.

Главное окно моей программы содержит стандартные элементы. Если Application.MainFormOnTaskbar = True, то при развертывании окна из минимизированного состояния вместо TListbox и TButton сначала видны прямоугольники черного цвета, а сами эти компоненты отрисовываются спустя заметный глазу интервал времени. Это не кажется мне нормальным. Если Application.MainFormOnTaskbar = False, никаких проблем с восстановлением окна из минимизированного состояния нет.

Кто-нибудь еще сталкивался с такой проблемой?
...
Рейтинг: 0 / 0
19.09.2017, 12:22
    #39523219
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для приложения плохо работает Snap Assist в Windows 10
crossa,

надо искать конкретную причину неработоспособности Snap Assist. Вероятно - не до приложения не доходят какие-то события, которые доходят при включенном MainFormOnTaskbar. И искать варианты словить эти события с выключенным.
...
Рейтинг: 0 / 0
19.09.2017, 12:23
    #39523220
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для приложения плохо работает Snap Assist в Windows 10
Господа, сделайте функцию редактирования в форуме ) Ну крайне неудобно )
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
23.05.2021, 19:45
    #40072311
crossa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для приложения плохо работает Snap Assist в Windows 10
Снова стала актуальной эта проблема, спустя несколько лет; но вдруг кто-нибудь также столкнулся с этой проблемой и нашел решение.

Вопрос. Кому-нибудь удалось добиться от программы на Delphi полной поддержки функции Snap Assist в Windows 10 при таком значении Application.MainFormOnTaskbar?
Код: pascal
1.
Application.MainFormOnTaskbar := False;


В программе на Delphi перестает работать одна из функций Snap Assist: "Если два окна отображаются рядом друг с другом, вы можете изменить их размер одновременно, выбрав и перетащив разделительную линию." Функция будет работать только для тех программ, у которых Application.MainFormOnTaskbar равняется True.

Если кто-то знает решение, поделитесь, пожалуйста.
...
Рейтинг: 0 / 0
24.05.2021, 14:58
    #40072466
delphinotes
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для приложения плохо работает Snap Assist в Windows 10
crossa,

Application.MainFormOnTaskbar влияет на много мелочей при взаимодействии с ОС, всё же лучше его устанавливать в True.

А проблему с лишним мерцанием при разворачивании удалось решить, путём задавливания сообщения WM_WINDOWPOSCHANGED при разворачивании:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
procedure WMWindowPosChanged(var Msg: TWMWindowPosChanged); message WM_WINDOWPOSCHANGED;
..
procedure TBaseForm.WMWindowPosChanged(var Msg: TWMWindowPosChanged);
begin
  if IsIconic(Handle) then
    // VCL bug: calling UpdateBounds from the Restore event causes additional window flickering
    Exit;
  inherited;
end;



https://github.com/delphinotes/BaseForms
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Для приложения плохо работает Snap Assist в Windows 10 / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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