Что такое рамка окна в компьютере
Если при загрузке на рабочий стол Windows вы видите прозрачное или полупрозрачное окно, плавающее на рабочем столе, этот пост поможет вам устранить проблему. Эту проблему заметили некоторые пользователи Windows 11, но пользователи Windows 10 тоже могли ее видеть.
Полупрозрачная рамка на экране в Windows 11 обычно появляется, когда вы щелкаете значок на панели задач. Все, что вы видите, это исчезающая рамка с контуром и без других опций. Давайте узнаем, как решить эту проблему и восстановить нормальное состояние.
- Перезапустите графический драйвер
- Перезапустите проводник Windows
- Переустановите адаптер дисплея
- Отключить представление задач
Даже после выполнения вышеупомянутых решений проблема продолжает сохраняться, поэтому отправьте отзыв в Microsoft через приложение центра обратной связи.
1]Перезапустите графический драйвер
Нажмите Win+Ctrl+Shift+B, чтобы перезапустить графический драйвер, и посмотрите, поможет ли это.
2]Перезапустите проводник Windows.
Когда откроется окно диспетчера задач, переключитесь на Процессы вкладку и найдите заголовок проводника Windows.
Когда увидите, щелкните правой кнопкой мыши и выберите Начать сначала вариант.
Проверьте, решена ли проблема.
3]Переустановите адаптер дисплея
Вам нужно обновить драйвер дисплея и посмотреть, поможет ли это:
- Откройте диспетчер устройств
- Разверните адаптеры дисплея
- Найдите драйвер дисплея/графики.
- Щелкните правой кнопкой мыши и выберите «Удалить».
- Перезагрузите компьютер.
После перезагрузки драйвер будет автоматически установлен.
Проверьте, решена ли проблема.
Если проблема возникла после недавнего обновления драйвера, возможно, вы захотите откатить его.
4]Отключить представление задач
- Откройте настройки Windows 11.
- выберите Персонализация с левой панели.
- Затем переключитесь вправо и разверните Панель задач заголовок справа.
- В следующем появившемся окне отключите параметр для Просмотр задач.
Перезагрузите систему и проверьте, устранена ли проблема.
Приложение C. Функция HitTestNCA
Это руководство по проектированию было создано для Windows 7 и не было обновлено для более новых версий Windows. Большая часть рекомендаций по-прежнему применяется в принципе, но презентация и примеры не отражают наше текущее руководство по проектированию.
В этой статье рассматривается размещение окон по умолчанию при первоначальном отображении на экране, их порядок размещения относительно других окон (Z), их начальный размер и влияние их отображения на фокус ввода.
Для выполнения следующих рекомендаций:
- Окно верхнего уровня не имеет окна владельца и отображается на панели задач. Примеры: окна приложений. В Windows Vista и более поздних версиях диалоговые окна без окон владельцев и листов свойств также считаются верхним уровнем.
- В окне владельца нет окна владельца и не отображается на панели задач. Примеры: модальные диалоговые окна, немодальные диалоговые окна.
- Окно, инициированное пользователем, отображается в качестве прямого результата действия пользователя. В противном случае программа инициируется, если она инициируется программой или системой, инициированной корпорацией Майкрософт Windows. Например, диалоговое окно "Параметры" инициируется пользователем, но инициируется напоминание о собрании.
- Контекстное окно — это окно, инициируемое пользователем, которое имеет сильную связь с объектом, из которого он был запущен. Например, окна, отображаемые контекстными меню или значками области уведомлений, являются контекстными, но окна, отображаемые в строках меню, не являются.
- Активный монитор — это монитор, в котором выполняется активная программа.
- Монитор по умолчанию — это монитор с меню , панелью задач и областью уведомлений.
Введение
В Windows Vista и более поздних версиях внешний вид не клиентских областей окон приложений (строка заголовка, значок, рамка окна и кнопки заголовка) управляется DWM. С помощью API DWM можно изменить способ отрисовки кадра окна DWM.
Одной из функций API DWM является возможность расширения кадра приложения в клиентской области. Это позволяет интегрировать элемент пользовательского интерфейса клиента ( например, панель инструментов) в кадр, предоставляя элементы управления пользовательского интерфейса более заметным местом в пользовательском интерфейсе приложения. Например, Windows Internet Explorer 7 в Windows Vista интегрирует панель навигации в рамку окна, расширив верхнюю часть кадра, как показано на следующем снимке экрана.
Возможность расширения фрейма окна также позволяет создавать пользовательские кадры при сохранении внешнего вида окна. Например, Microsoft Office Word 2007 рисует кнопку Office и панель быстрого доступа в пользовательском фрейме, предоставляя стандартные кнопки свернуть, развернуть и закрыть субтитры, как показано на следующем снимке экрана.
Скрытые кадры
Иногда лучшая рамка окна вообще не является рамкой. Часто это касается основного окна иммерсивных полноэкранных приложений, которые не используются в сочетании с другими программами, такими как проигрыватели мультимедиа, игры и приложения киоска.
Средства просмотра содержимого часто используют возможность отображения содержимого в полноэкранном режиме. Примеры включают Windows Internet Explorer, Фотоальбом Windows Live, Windows Movie Maker HD, Microsoft PowerPoint и Microsoft Word.
В этом примере Медиаплеер Windows может отображать его содержимое в полноэкранном режиме.
Виртуальные рабочие столы Windows 10
Концепция виртуальных рабочих столов далеко не нова. Если говорить о Windows, то одним из вариантов их использования была утилита Desktops, которую когда-то (последняя версия вышла в 2012 году) разработал Марк Руссинович. В Windows 10 виртуальные рабочие столы встроены в систему и помогают разделять потоки задач, переключаться между ними.
Если раньше вы не работали с виртуальными столами, для понимания их логики представьте такую аналогию: вам доступно несколько мониторов, на каждом вы можете открыть нужные программы, разделив их по рабочим потокам, например: на одном мониторе – работа с почтой и календарем, на другом – работа с несколькими документами Word, а на третьем – работа с браузером и OneNote. В каждый момент вы смотрите только на один монитор (виртуальный рабочий стол) со своим набором приложений. А переключаясь между виртуальными столами, вы как будто переводите взгляд с одного монитора на другой.
Перетаскивание окна для переноса его на новый виртуальный рабочий стол
Создать новый виртуальный рабочий стол можно на экране «Представление задач»: нажмите Windows + Tab и перетащите нужные окна открытых приложений на поле с надписью «+ Создать рабочий стол», и они будут перемещены на другой виртуальный рабочий стол. Можно также создать новый, пустой виртуальный стол (Windows + Ctrl + D) и уже затем открыть на нем нужные программы.
«Переводить взгляд» (то есть переключаться между настроенными рабочими столами) можно, выбирая нужный стол на экране «Представление задач», но намного удобнее переключаться с помощью горячих клавиш: Windows + Ctrl + стрелки вправо/влево, а на современных тачпадах – 4 пальца влево или вправо.
В чем разница между панелью задач и средством просмотра задач?
Представление задач — это кнопка, расположенная на панели задач справа от кнопки меню «Пуск» Windows. Щелчок по этому значку открывает программы на экране, как набор каталожных карточек. Это также позволяет быстро просматривать программы, которые в данный момент открыты и работают.
СОВЕТ: WindowTop позволяет закрепить окно сверху, сделать его темным или прозрачным.
Приложение Б. Рисование заголовка заголовка
В следующем коде показано, как нарисовать заголовок заголовка на расширенном фрейме. Эта функция должна вызываться из вызовов BeginPaint и EndPaint .
Включение проверки попаданий для пользовательского кадра
Побочным эффектом удаления стандартного кадра является потеря изменения размера и перемещения по умолчанию. Чтобы приложение правильно эмулировало стандартное поведение окна, необходимо реализовать логику для обработки нажатия кнопки заголовка и изменения размера или перемещения кадров.
Пользовательские кадры
Большинство Windows приложений должны использовать стандартные рамки окна. Тем не менее, для иммерсивных полноэкранных автономных приложений, таких как игры и приложения киоска, может быть целесообразно использовать пользовательские кадры для любых окон, которые не отображаются в полноэкранном режиме. Цель использования пользовательских кадров заключается в том, чтобы дать общий опыт уникальное ощущение, а не только для фирменной символики.
Пользовательские кадры подходят для иммерсивных, полноэкранных автономных приложений, таких как игры.
«Временная шкала»
«Временная шкала» появилась в Windows 10 два года назад. Она помогает вернуться к задачам, над которыми вы работали ранее на вашем компьютере. При необходимости вы также сможете синхронизировать ее и с другими устройствами с вашей учетной записью*.
Для меня «Временная шкала» стала своеобразной машиной времени. Работа над многими проектами длится несколько дней. И если, допустим, в прошлую пятницу я работал с определенными сайтами и документами, вернувшись к этому проекту в среду, я смогу легко восстановить картину. Я просто отмотаю шкалу до нужной даты – той самой пятницы, увижу и смогу открыть те самые сайты и документы, в которые я тогда был погружен.
Поиск на Временной шкале
Поиск на «Временной шкале» тоже не раз меня выручал. В отличие от обычного поиска по файлам, я смогу искать не среди всех документов на устройстве (а их может быть очень много), а именно среди тех, с которыми я работал в последние дни. Возможно, вам знакомо сочетание Ctrl + F, запускающее поиск в Проводнике и во многих приложениях. Эта комбинация сработает и на экране «Представление задач»: то есть можно нажать сначала Windows + Tab, а затем – Ctrl + F и ввести искомое слово для поиска по «Временной шкале».
Принципы проектирования
Фреймы окон
Используйте стандартные рамки окна.
-
Исключение: Чтобы обеспечить иммерсивный полноэкранный полноэкранный интерфейс автономных приложений:
- Поддержка минимального Windows эффективного разрешения 800 x 600 пикселей. Для критически важных пользовательских интерфейсов (UIs), которые должны работать в безопасном режиме, поддерживайте эффективное разрешение 640 x 480 пикселей. Обязательно учитывайте пространство, используемое панелью задач, зарезервировав 48 вертикальных относительных пикселей для окон, отображаемых с помощью панели задач.
- Оптимизируйте изменяемые макеты окон для эффективного разрешения 1024x768 пикселей. Автоматическое изменение размера этих окон для более низкого разрешения экрана таким образом, который по-прежнему работает.
- Обязательно протестируйте окна в 96 точек на дюйм (100 процентов) на 800 x 600 пикселей, 120 точек на дюйм (125 процентов) на 1024 x 768 пикселей и 144 точек на дюйм (150 процентов) на 1200 x900 пикселей. Проверьте наличие проблем с макетом, таких как обрезка элементов управления, текст и окна, а также растяжение значков и растровых изображений.
- Для программ с сценариями использования сенсорного и мобильного устройства оптимизируйте для 120 точек на дюйм. Экраны с высоким разрешением на дюйм в настоящее время распространены на сенсорных и мобильных пк.
- Изменяемые окна больше не должны отображать глиф изменения размера в правом нижнем углу, так как:
- Все стороны и края окна могут изменяться, а не только в правом нижнем углу.
- Для глифа требуется отобразить строку состояния, но многие окна с изменяемыми размерами не предоставляют строки состояния.
- Изменяемые границы окна и указатели изменения размера более эффективны при взаимодействии с изменением размера окна, чем глиф изменения размера.
В чем разница между панелью задач и средством просмотра задач?
Представление задач — это кнопка, расположенная на панели задач справа от кнопки меню «Пуск» Windows. Щелчок по этому значку открывает программы на экране, как набор каталожных карточек. Это также позволяет быстро просматривать программы, которые в данный момент открыты и работают.
СОВЕТ: WindowTop позволяет закрепить окно сверху, сделать его темным или прозрачным.
Что такое видеоадаптер Microsoft?
Как следует из названия, Microsoft Wireless Display Adapter позволяет подключить экран (со звуком) с компьютера или ПК к телевизору. Адаптер подключается к телевизору или проектору с помощью HDMI и питается от USB.
Марат Хайрулин, эксперт Microsoft в России, продолжает исследовать нюансы работы с несколькими задачами и рассказывает о совмещении окон и разделении экрана, о вашей личной машине времени для сайтов и документов, и о реальной пользе виртуальных столов.
В прошлой заметке мы писали о том, как современная наука относится к многозадачности и делились небольшими приемами, которые помогут сосредоточиться на одной задаче. А теперь хочтим напомнить (а кого-то может быть и познакомить) с полезными возможностями, которые помогут, если решение вашей задачи требует работы сразу с несколькими приложениями.
Полноэкранный режим
Для программ с необязательным полноэкранным режимом, чтобы включить полноэкранный режим:
Команда модального полноэкранного режима в строке меню или панели инструментов. Когда пользователь щелкает команду, отобразите команду в выбранном состоянии.
В этом примере показана полноэкранная команда вместе со стандартным сочетанием клавиш.
Используйте F11 для полноэкранного сочетания клавиш.
Если часто используется панель инструментов и полноэкранный режим, также есть кнопка графической панели инструментов с подсказкой полноэкранного экрана.
Примеры кнопок панели инструментов на полноэкранном экране.
Чтобы вернуться из полноэкранного режима, выполните приведенные ниже действия.
- Команда модального полноэкранного режима в строке меню или панели инструментов. Когда пользователь щелкает команду, отобразите команду в состоянии очистки.
- Используйте F11 для полноэкранного сочетания клавиш. Если этот параметр еще не назначен, esc также можно использовать для этой цели.
Полезные решения для работы с несколькими приложениями
Теперь еще об одной повседневной необходимости – работе с несколькими приложениями одновременно.
Разделение экрана
Первой возможности, о которой хочу напомнить, уже много лет, и в первоначальном виде (под названием Aero Snap) она появилась еще в Windows 7. В Windows 10 ее возможности расширили и назвали Snap Assist. Речь про разделение экрана для закрепления двух (а в Windows 10 – до четырех) приложений.
Snap Assist предлагает выбрать второе окно для закрепления справаЧтобы это сделать, нужно взять приложение за самую верхнюю полоску, поднести его к правой или левой границе экрана до появления на экране его «тени» и отпустить (тем самым, закрепив первое приложение), а затем в появившихся рядом миниатюрах других приложений выбрать второе для закрепления рядом. Сценарий несложный, работает и для мыши, и для пальца. Еще проще это можно сделать с помощью сочетания клавиш Windows + клавиши со стрелками вправо/влево. Этому сочетанию уже больше 10 лет, но у тех, кто применяет его впервые, и сейчас порой возникает ощущение «цифровой магии».
Любознательным пользователям также напомню, что в Windows 10 можно отправлять приложение в «четвертинку» экрана, перенеся его в угол (или используя дополнительно клавиши Windows + стрелки вверх/вниз). При закреплении двух приложений можно перемещать границу между ними, выделяя какому-то из приложений больше места. Чтобы выбрать приложения для закрепления на экране, можно кликнуть правой кнопкой мыши по их миниатюрам на экране «Представление задач».
Окно поверх
У меня было довольно мало ситуаций, когда требовалось закреплять окно одного приложения поверх другого (кажется, на телевизорах подобное называлось режимом «картинка в картинке»), но если у вас такая необходимость возникает, напомню в завершение заметки о двух небольших возможностях.
Мини-режим встроенного видеоплеера (приложение «Кино и ТВ», которое воспроизводит видео в Windows 10 по умолчанию). Запустите видео и нажмите на небольшую кнопку в правом нижнем углу (Воспроизвести в мини-режиме), окно с видеороликом будет размещено поверх всех окон.
Видео в режиме Окно поверхВ этом обзоре я поделился некоторыми возможностями при работе с одной или несколькими задачами, которыми пользуюсь сам. В следующих заметках продолжу разговор о приемах, которые помогут сделать нашу «цифровую жизнь» более продуктивной.
Это руководство по проектированию было создано для Windows 7 и не было обновлено для более новых версий Windows. Большая часть рекомендаций по-прежнему применяется в принципе, но презентация и примеры не отражают наше текущее руководство по проектированию.
Большинство программ должны использовать стандартные рамки окна. Иммерсивные приложения могут иметь полноэкранный режим, который скрывает рамку окна. Рассмотрите возможность использования стекла стратегически для более простого, легче, более сплоченного вида.
С помощью фрейма окна пользователи могут управлять окном и просматривать заголовок и значок, чтобы определить его содержимое.
Типичная рамка окна.
Примечание: Рекомендации по управлению окнами и фирменной символике представлены в отдельных статьях.
Рекомендации
Переключение по-старому и по-новому
Переключение между приложениями – наверное то, что большинство из нас делает «на автомате», и никого, конечно, не удивит сочетание клавиш Alt + Tab. Но если одновременно нажать также и Ctrl (то есть Ctrl + Alt + Tab), то эта комбинация зафиксирует меню со всеми открытыми окнами на экране и позволит выбрать нужное приложение одним кликом мыши или касанием пальца (выбрать окно можно также с помощью стрелок на клавиатуре, а открыть – с помощью Enter). Может быть полезно, когда у вас открыто много окон.
Чуть менее известное, но тоже классическое сочетание клавиш Windows + Tab дает больше возможностей, чем кажется на первый взгляд.
Нажимая эти клавиши в актуальных версиях Windows 10, мы попадаем в раздел «Представление задач». Здесь можно не только переключаться между приложениями, но и воспользоваться «Временной шкалой» и «Виртуальными рабочими столами». К слову, вместо горячих клавиш вы можете кликнуть по кнопке «Представление задач» (обычно она расположена рядом с кнопкой «Пуск») или провести пальцем от левого края к центру сенсорного экрана. Кстати, если у вас современный ноутбук – попробуйте жест для тачпада: проведите по нему тремя пальцами вверх.
Режим Представление задачРисование в окне расширенного кадра
Удаляя стандартный кадр, вы теряете автоматический рисунок значка приложения и заголовка. Чтобы добавить их обратно в приложение, их необходимо нарисовать самостоятельно. Для этого сначала просмотрите изменения, произошедшие в клиентской области.
При удалении стандартного кадра ваша клиентская область теперь состоит из всего окна, включая расширенный кадр. Сюда входит область, в которой нарисовываются кнопки заголовка. В следующем параллельном сравнении клиентская область для стандартного кадра и настраиваемого расширенного кадра выделена красным цветом. Клиентская область для стандартного окна фрейма (слева) — это черная область. В окне расширенного фрейма (справа) клиентская область — это все окно.
Так как вся область клиента является вашей клиентской областью, вы можете просто нарисовать нужные элементы в расширенном кадре. Чтобы добавить название в приложение, просто нарисуйте текст в соответствующем регионе. На следующем рисунке показан тематический текст, рисуемый на пользовательском фрейме субтитров. Заголовок рисуется с помощью функции DrawThemeTextEx . Чтобы просмотреть код, который рисует заголовок, см. приложение Б. Рисование заголовка заголовка.
При рисовании в пользовательском фрейме будьте осторожны при размещении элементов управления пользовательского интерфейса. Так как все окно является клиентским регионом, необходимо настроить размещение элемента управления пользовательского интерфейса для каждой ширины кадра, если они не должны отображаться в расширенном кадре или в ней.
Рекомендации
Принципы проектирования
Управление окнами является одной из самых фундаментальных действий пользователей. До Windows Vista окна часто получают небольшие размеры по умолчанию и помещаются в середину экрана. Этот подход хорошо подходит для старых мониторов с низким разрешением, но не для современного видеоустройства.
Windows предназначена для поддержки современного видеоустройства, которое часто выполняется с разрешениями значительно выше минимально поддерживаемого разрешения экрана и может иметь несколько мониторов. Это:
- Позволяет пользователям полностью воспользоваться своим расширенным оборудованием.
- Требует меньше усилий от пользователей для перемещения мыши на большее расстояние.
- Делает размещение окна более предсказуемым и, следовательно, упрощает поиск.
Минимальное поддерживаемая разрешение экрана
Минимальное эффективное разрешение экрана, поддерживаемого Windows, составляет 800 x 600 пикселей. Это означает, что окна фиксированного размера должны полностью отображаться в минимальном разрешении (при резервируемом пространстве для панели задач), но размеры окон можно оптимизировать для эффективного разрешения 1024 x 768 пикселей, если они работают с минимальным разрешением.
Хотя в настоящее время наиболее распространенные физические разрешения экрана для Windows пк — 1024 x 768 пикселей или больше, то для 800 x 600 пикселей можно Windows:
- Хорошо работает со всеми современными аппаратными устройствами, включая небольшие компьютеры с записными книжками.
- Поддержка параметров с высоким разрешением (точек на дюйм).
- Поддержка более крупных шрифтов для специальных возможностей.
- Поддержка оборудования, используемого на глобальной основе.
Выбор минимального разрешения для поддержки требует удара по правильному балансу. Ориентация на более высокое разрешение приведет к неоптимальному взаимодействию со значительным процентом современного оборудования, в то время как назначение более низкого разрешения не позволит конструкторам воспользоваться всеми преимуществами доступного пространства экрана.
Если вы считаете, что целевые пользователи используют значительно более высокие разрешения, чем минимальный Windows, вы можете разработать программу, чтобы воспользоваться всеми преимуществами дополнительного пространства экрана с помощью масштабируемых окон с возможностью изменения размера.
Стеклянные оконные рамки
Стеклянные оконные рамы являются поразительным новым аспектом microsoft Windows эстетики, стремясь быть как привлекательными, так и легкими. Эти полупрозрачные кадры дают окнам открытый, менее навязчивый внешний вид, помогая пользователям сосредоточиться на содержимом и функциональных возможностях, а не на интерфейсе, окружающем его.
Стеклянные оконные рамки.
Стекло можно использовать стратегически в небольших регионах в окне, который касается рамки окна. Такие области, как представляется, являются частью рамки окна, хотя технически они являются частью клиентской области окна.
В этом примере стекло используется в клиентской области, чтобы сделать его похожим на часть кадра.
Удаление стандартного кадра
После расширения фрейма приложения и его отображения можно удалить стандартный кадр. Удаление стандартного кадра позволяет управлять шириной каждой стороны кадра, а не просто расширять стандартный кадр.
На следующем рисунке показан стандартный кадр (слева) и недавно расширенный фрейм без стандартного кадра (справа).
Элементы управления заголовком
Используйте элементы управления заголовка строки следующим образом:
- Близко. Все основные и вторичные окна со стандартной рамкой окна должны иметь кнопку "Закрыть" в заголовке строки. Нажатие кнопки "Закрыть" влияет на отмену или закрытие окна.
В этом примере диалоговое окно не имеет кнопку "Закрыть" в строке заголовка.
- Минимизация. Все основные окна и длительные немодерные вторичные окна (например, диалоги хода выполнения) должны иметь кнопку "Свернуть". При нажатии кнопки "Свернуть" окно уменьшается до кнопки панели задач. Следовательно, окна, которые могут быть свернуты, требуют значка строки заголовка.
- Развернуть или восстановить вниз. Все окна с изменяемыми размерами должны иметь кнопку "Развернуть или восстановить вниз". При нажатии кнопки "Развернуть" окно отображается в самом большом размере, которое для большинства окон является полноэкранным; в то время как при нажатии кнопки "Восстановить" окно отображается в предыдущем размере. Однако некоторые окна не получают преимуществ от использования полноэкранного экрана, поэтому эти окна должны максимально увеличить их максимальный полезный размер.
Приложение А. Пример процедуры окна
В следующем примере кода показана процедура окна и вспомогательные рабочие функции, используемые для создания пользовательского приложения фрейма.
Стекло
Стандартные оконные рамки используют стекло автоматически в Windows, но вы также можете использовать стекло в регионах, которые касаются рамки окна.
- Рассмотрите возможность использования стекла стратегически в небольших регионах, касающихся рамки окна без текста. Это может дать программе более простой, легкий, более сплоченный вид, делая регион, как представляется, частью кадра.
- В этом примере стекло фокусирует внимание пользователя на содержимом, а не на элементах управления.
- Не используйте стекло в ситуациях, когда обычный фон окна будет более привлекательным или проще использовать.
Правильно:
В этом примере стекло используется для создания упрощенного внешнего вида окна ALT+TAB. Стекло работает для этого окна, так как оно состоит из графики и одной строгой текстовой метки.
Неправильно:
В этом неверном примере использование стекла отвлекает внимание. Обычный фон окна будет лучшим выбором.
В этом разделе показано, как использовать API диспетчера окон рабочего стола (DWM) для создания пользовательских кадров окон для приложения.
Размер окна
- Выберите размер окна по умолчанию, соответствующий его содержимому. Не бойтесь использовать более крупные начальные размеры окон, если вы можете эффективно использовать пространство.
- Используйте изменяемые окна всякий раз, чтобы избежать полос прокрутки и усеченных данных. Windows с динамическим содержимым и списками пользуются наибольшим преимуществом в окнах с изменяемыми размерами.
- Для текстовых документов рекомендуется использовать максимальную длину строки в 65 символов , чтобы упростить чтение текста. (Символы включают буквы, знаки препинания и пробелы.)
- Окна фиксированного размера:
- Должен быть полностью видимым и размером, чтобы поместиться в рабочую область.
- Можно оптимизировать для более высоких разрешений, но при необходимости уменьшить размер во время отображения до фактического разрешения экрана.
- Для постепенно большего размера окна должен отображаться постепенно больше информации. Убедитесь, что по крайней мере одна часть окна или элемент управления содержит изменяемое содержимое.
- Следует избегать максимальных или близких к максимальному размеру размеров по умолчанию. Вместо этого выберите размер по умолчанию, который обычно является наиболее полезным без полноэкранного отображения. Предположим, что пользователи будут разворачивать окно вместо изменения размера, чтобы сделать его полноэкранным.
- Следует задать минимальный размер окна, если размер содержимого больше не подходит для использования. Для элементов управления с изменяемыми размерами задайте минимальные размеры элементов с изменяемыми размерами, например минимальные функциональные ширины столбцов в представлениях списка.
- Если это делает содержимое пригодным для использования с меньшим размером, следует изменить презентацию.
В этом примере Медиаплеер Windows изменяет его формат, когда окно становится слишком маленьким для стандартного формата.
Расположение окна
Для следующих рекомендаций "центрирование" означает смещение вертикального размещения немного в сторону верхней части монитора, а не размещения точно в середине. Поместите 45 процентов пространства между верхней частью монитора или владельца и верхней частью окна и 55 процентов между нижней частью монитора или владельца и нижней частью окна. Сделайте это, потому что глаз, естественно, предвзято к верхней части экрана.
"Центрирование" означает смещение вертикального размещения немного в сторону верхней части монитора.
Если окно является контекстным, всегда отображает его рядом с объектом, с которым он был запущен. Поместите его вне пути, чтобы исходный объект не был охвачен окном.
- Если оно отображается с помощью мыши, по возможности поместите его смещение вниз и справа.
Отображение контекстных окон рядом с объектом, с которым он был запущен.
Windows, запущенные из значков области уведомлений, отображаются рядом с областью уведомлений.
Если он отображается с помощью пера, когда это возможно, чтобы оно не было покрыто рукой пользователя. Для пользователей с правой рукой отображается слева; в противном случае отображается справа.
При использовании пера также отображаются контекстные окна, чтобы они не охватывались рукой пользователя.
Разработчики: События мыши и события пера можно различать с помощью API GetMessageExtraInfo . Вы можете определить передачу пользователя с помощью API SystemParametersInfo с SPI_GETMENUDROPALIGNMENT.
Поместите диалоги хода выполнения в правый нижний угол активного монитора.
Поместите диалоги хода выполнения в правый нижний угол.
Если окно не связано с текущим контекстом или действием пользователя, поместите его подальше от текущего расположения указателя. Это предотвращает случайное взаимодействие.
Если окно является приложением верхнего уровня или документом, всегда каскадно его происхождение от левого верхнего угла монитора. При создании активной программой используйте активный монитор; в противном случае используйте монитор по умолчанию.
Каскадное приложение верхнего уровня или окна документов с левого верхнего угла монитора.
Если окно является служебной программой верхнего уровня, всегда отображает ее по центру в мониторе. При создании активной программой используйте активный монитор; в противном случае используйте монитор по умолчанию.
Центр окон служебной программы верхнего уровня.
Если окно является принадлежащим окну, сначала отобразите его по центру в верхней части окна владельца. Для последующего отображения рекомендуется отобразить его в последнем расположении (относительно окна владельца), если это, скорее всего, будет удобнее.
Изначально центральные окна принадлежат верхней части окна владельца.
Для диалоговых окон без режима всегда отображается в верхней части окна владельца, чтобы упростить поиск. Однако если пользователь активирует окно владельца, это может скрыть немодерное диалоговое окно.
Отображайте бессерверные диалоги в верхней части окна владельца, чтобы упростить их поиск.
При необходимости настройте начальное расположение, чтобы все окно отображалось в целевом мониторе. Если размер окна превышает размер целевого монитора, уменьшите его в соответствии с размерами.
Расширение кадра клиента
Функциональные возможности расширения кадра в клиентской области предоставляются функцией DwmExtendFrameIntoClientArea . Чтобы расширить кадр, передайте дескриптор целевого окна вместе со значениями набора полей в DwmExtendFrameIntoClientArea. Значения полей определяют, насколько далеко можно расширить рамку на четырех сторонах окна.
Следующий код демонстрирует использование DwmExtendFrameIntoClientArea для расширения кадра.
На следующем рисунке показан стандартный фрейм окна (слева) и один и тот же фрейм окна с расширенным (справа). Кадр расширяется с помощью предыдущего примера кода и Microsoft Visual Studio фона WNDCLASSWNDCLASSEX/ (COLOR_WINDOW +1).
Визуальное различие между этими двумя окнами очень тонко. Единственное различие между ними заключается в том, что справа отсутствует тонкая черная граница клиентской области в окне слева. Причина отсутствия границы заключается в том, что она включена в расширенный кадр, но остальная часть клиентской области не является. Чтобы расширенные кадры были видимыми, области, лежащие в основе каждой из сторон расширенного кадра, должны иметь пиксельные данные с альфа-значением 0. Черная граница вокруг клиентской области содержит пиксельные данные, в которых для всех значений цвета (красный, зеленый, синий и альфа-цвет) задано значение 0. Остальная часть фона не имеет альфа-значения, равного 0, поэтому остальная часть расширенного кадра не отображается.
Самый простой способ убедиться, что расширенные кадры видны, — закрасить весь клиентский регион черным цветом. Для этого инициализируйте элемент hbrBackground структуры WNDCLASS или WNDCLASSEX в дескриптор BLACK_BRUSH акций. На следующем рисунке показан тот же стандартный кадр (слева) и расширенный кадр (справа), показанный ранее. Однако на этот раз для hbrBackground задается дескриптор BLACK_BRUSH, полученный из функции GetStockObject .
Читайте также:
Рассмотрите возможность скрытия рамки окна основного окна.
Рассмотрите возможность использования пользовательских кадров для дополнительного окна.
Если пользовательская рамка подходит, выберите упрощенную структуру и не привлеките к себе слишком много внимания.
Неправильно:
В этом примере настраиваемый кадр обращает на себя слишком много внимания.
Не добавляйте элементы управления в рамку окна. Вместо этого поместите элементы управления в окно.
Неправильно:
Правильно:
В правильном примере элемент управления находится в клиентской области, а не в фрейме окна.