Распределенное обучение с TensorFlow и Python
AI_Generated 05.05.2025
В машинном обучении размер имеет значение. С ростом сложности моделей и объема данных одиночный процессор или даже мощная видеокарта уже не справляются с задачей обучения за разумное время. Когда. . .
CRUD API на C# и GraphQL
stackOverflow 05.05.2025
В бэкенд-разработке постоянно возникают новые технологии, призванные решить актуальные проблемы и упростить жизнь программистам. Одной из таких технологий стал GraphQL — язык запросов для API,. . .
Распознавание голоса и речи на C#
UnmanagedCoder 05.05.2025
Интеграция голосового управления в приложения на C# стала намного доступнее благодаря развитию специализированных библиотек и API. При этом многие разработчики до сих пор считают голосовое управление. . .
Реализация своих итераторов в C++
NullReferenced 05.05.2025
Итераторы в C++ — это абстракция, которая связывает весь экосистему Стандартной Библиотеки Шаблонов (STL) в единое целое, позволяя алгоритмам работать с разнородными структурами данных без знания их. . .
Разработка собственного фреймворка для тестирования в C#
UnmanagedCoder 04.05.2025
C# довольно богат готовыми решениями – NUnit, xUnit, MSTest уже давно стали своеобразными динозаврами индустрии. Однако, как и любой динозавр, они не всегда могут протиснуться в узкие коридоры. . .
Распределенная трассировка в Java с помощью OpenTelemetry
Javaican 04.05.2025
Микросервисная архитектура стала краеугольным камнем современной разработки, но вместе с ней пришла и головная боль, знакомая многим — отслеживание прохождения запросов через лабиринт взаимосвязанных. . .
Шаблоны обнаружения сервисов в Kubernetes
Mr. Docker 04.05.2025
Современные Kubernetes-инфраструктуры сталкиваются с серьёзными вызовами. Развертывание в нескольких регионах и облаках одновременно, необходимость обеспечения низкой задержки для глобально. . .
Создаем SPA на C# и Blazor
stackOverflow 04.05.2025
Мир веб-разработки за последние десять лет претерпел коллосальные изменения. Переход от традиционных многостраничных сайтов к одностраничным приложениям (Single Page Applications, SPA) — это. . .
Реализация шаблонов проектирования GoF на C++
NullReferenced 04.05.2025
«Банда четырёх» (Gang of Four или GoF) — Эрих Гамма, Ричард Хелм, Ральф Джонсон и Джон Влиссидес — в 1994 году сформировали канон шаблонов, который выдержал проверку временем. И хотя C++ претерпел. . .
C# и сети: Сокеты, gRPC и SignalR
UnmanagedCoder 04.05.2025
Сетевые технологии не стоят на месте, а вместе с ними эволюционируют и инструменты разработки. В . NET появилось множество решений — от низкоуровневых сокетов, позволяющих управлять каждым байтом. . .
Основные свойства форм
Последнее обновление: 31.10.2015
С помощью специального окна Properties (Свойства) справа Visual Studio предоставляет нам удобный интерфейс для управления свойствами элемента:
Большинство этих свойств оказывает влияние на визуальное отображение формы. Пробежимся по основным свойствам:
-
Name: устанавливает имя формы — точнее имя класса, который наследуется от класса
Form
-
BackColor: указывает на фоновый цвет формы. Щелкнув на это свойство, мы сможем выбрать тот цвет, который нам подходит
из списка предложенных цветов или цветовой палитры -
BackgroundImage: указывает на фоновое изображение формы
-
BackgroundImageLayout: определяет, как изображение, заданное в свойстве BackgroundImage, будет располагаться на форме.
-
ControlBox: указывает, отображается ли меню формы. В данном случае под меню понимается меню самого верхнего уровня, где
находятся иконка приложения, заголовок формы, а также кнопки минимизации формы и крестик. Если данное свойство имеет значение false, то мы не увидим
ни иконку, ни крестика, с помощью которого обычно закрывается форма -
Cursor: определяет тип курсора, который используется на форме
-
Enabled: если данное свойство имеет значение false, то она не сможет получать ввод от пользователя, то есть мы не сможем
нажать на кнопки, ввести текст в текстовые поля и т.д. -
Font: задает шрифт для всей формы и всех помещенных на нее элементов управления. Однако, задав у элементов формы свой шрифт,
мы можем тем самым переопределить его -
ForeColor: цвет шрифта на форме
-
FormBorderStyle: указывает, как будет отображаться граница формы и строка заголовка. Устанавливая данное свойство в None
можно создавать внешний вид приложения произвольной формы -
HelpButton: указывает, отображается ли кнопка справки формы
-
Icon: задает иконку формы
-
Location: определяет положение по отношению к верхнему левому углу экрана, если для свойства
StartPosition
установлено значениеManual
-
MaximizeBox: указывает, будет ли доступна кнопка максимизации окна в заголовке формы
-
MinimizeBox: указывает, будет ли доступна кнопка минимизации окна
-
MaximumSize: задает максимальный размер формы
-
MinimumSize: задает минимальный размер формы
-
Opacity: задает прозрачность формы
-
Size: определяет начальный размер формы
-
StartPosition: указывает на начальную позицию, с которой форма появляется на экране
-
Text: определяет заголовок формы
-
TopMost: если данное свойство имеет значение
true
, то форма всегда будет находиться поверх других окон -
Visible: видима ли форма, если мы хотим скрыть форму от пользователя, то можем задать данному свойству значение
false
-
WindowState: указывает, в каком состоянии форма будет находиться при запуске: в нормальном, максимизированном или минимизированном
Программная настройка свойств
С помощью значений свойств в окне Свойства мы можем изменить по своему усмотрению внешний вид формы, но все то же самое мы можем сделать
динамически в коде. Перейдем к коду, для этого нажмем правой кнопкой мыши на форме и выберем в появившемся контекстном меню View Code (Просмотр кода). Перед нами открывается файл кода
Form1.cs. Изменим его следующим образом:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace HelloApp { public partial class Form1 : Form { public Form1() { InitializeComponent(); Text = "Hello World!"; this.BackColor = Color.Aquamarine; this.Width = 250; this.Height = 250; } } }
В данном случае мы настроили несколько свойств отображения формы: заголовок, фоновый цвет, ширину и высоту.
При использовании конструктора формы надо учитывать, что весь остальной код должен идти после вызова метода InitializeComponent()
, поэтому все установки свойств
здесь расположены после этого метода.
Установка размеров формы
Для установки размеров формы можно использовать такие свойства как Width/Height или Size. Width/Height принимают числовые значения, как в вышеприведенном
примере. При установке размеров через свойство Size, нам надо присвоить свойству объект типа Size:
this.Size = new Size(200,150);
Объект Size в свою очередь принимает в конструкторе числовые значения для установки ширины и высоты.
Начальное расположение формы
Начальное расположение формы устанавливается с помощью свойства StartPosition
, которое может принимать одно из следующих значений:
-
Manual: Положение формы определяется свойством Location
-
CenterScreen: Положение формы в центре экрана
-
WindowsDefaultLocation: Позиция формы на экране задается системой Windows, а размер определяется свойством Size
-
WindowsDefaultBounds: Начальная позиция и размер формы на экране задается системой Windows
-
CenterParent: Положение формы устанавливается в центре родительского окна
Все эти значения содержатся в перечислении FormStartPosition
, поэтому, чтобы, например, установить форму в центре экрана, нам надо прописать
так:
this.StartPosition = FormStartPosition.CenterScreen;
Фон и цвета формы
Чтобы установить цвет как фона формы, так и шрифта, нам надо использовать цветовое значение, хранящееся в структуре Color:
this.BackColor = Color.Aquamarine; this.ForeColor = Color.Red;
Кроме того, мы можем в качестве фона задать изображение в свойстве BackgroundImage
, выбрав его в окне свойств или в коде, указав путь к изображению:
this.BackgroundImage = Image.FromFile("C:\\Users\\Eugene\\Pictures\\3332.jpg");
Чтобы должным образом настроить нужное нам отображение фоновой картинки, надо использовать свойство BackgroundImageLayout
,
которое может принимать одно из следующих значений:
-
None: Изображение помещается в верхнем левом углу формы и сохраняет свои первоначальные значения
-
Tile: Изображение располагается на форме в виде мозаики
-
Center: Изображение располагается по центру формы
-
Stretch: Изображение растягивается до размеров формы без сохранения пропорций
-
Zoom: Изображение растягивается до размеров формы с сохранением пропорций
Например, расположим форму по центру экрана:
this.StartPosition = FormStartPosition.CenterScreen;
|
|
|
Правила раздела Visual C++ / MFC / WTL (далее Раздела)
Как запретить изменять размер окна
- Подписаться на тему
- Сообщить другу
- Скачать/распечатать тему
|
|
Member Рейтинг (т): 4 |
Доброго времени суток! В VS2010 столкнулся с проблемой, которая раньше вообще не была проблемой. Суть: необходимо запретить пользователю изменять размер окна. Пробовал двумя способами: 1)
SetWindowPos(&CWnd::wndBottom, 0, 0, 0, 0, SWP_NOSIZE); не работает, даже если нолики заменить реальными координатами. 2) это в событиях (Events) закомментировать строки изменения, типа:
CDialogEx::OnSizing(fwSide, pRect); и
CDialogEx::OnSize(nType, cx, cy); Как мне это сделать, как запретить изменение размера окна? Это я туплю или VS2010 издевается? )) |
B.V. |
|
Ты тупишь. OnGetMinMaxInfo |
Silver Soft |
|
Member Рейтинг (т): 4 |
OnGetMinMaxInfo только возвращает информацию о положении и размере окна, а не изменяет ее. То есть не подходит ) |
UncleBob |
|
Цитата Silver Soft @ только возвращает информацию Цитата MSDN Windows fills in an array of points specifying default values for the various positions and dimensions. The application may change these values in OnGetMinMaxInfo если че |
Silver Soft |
|
Member Рейтинг (т): 4 |
Однако криво читал MSDN)) Всем огромное спасибо! ) Добавлено
lpMMI->ptMaxTrackSize.x = 250; lpMMI->ptMaxTrackSize.y = 400; CDialogEx::OnGetMinMaxInfo(lpMMI); все работает, указываю теперь минимальный размер:
lpMMI->ptMinTrackSize.x = 250; lpMMI->ptMinTrackSize.y = 400; lpMMI->ptMaxTrackSize.x = 250; lpMMI->ptMaxTrackSize.y = 400; CDialogEx::OnGetMinMaxInfo(lpMMI); почему при этом размер окна в y-координате существенно увеличивается? цифры же одинаковые… |
UncleBob |
|
может до этого размер окна по вертикали меньше 400? |
Silver Soft |
|
Member Рейтинг (т): 4 |
да, там 300, но если я в макс указываю 291, то слишком маленькое получается.. |
UncleBob |
|
Ну ты указываешь минимальный размер 400, логично, что если текущий размер меньше указанного тобой минимального, то окно должно увеличиться? |
Silver Soft |
|
Member Рейтинг (т): 4 |
Логично.. тогда я не понимаю, почему координата x не глючит? я с помощью GetClientRect узнал высоту окна, ее устанавливаю в min и max, но окошко укрощается, что даже кнопки все невидно, то есть высоту выдает неправильную, а ширину правильную… Мысль пошла в сторону, что заголовок не учитывается, но укрощается окошко на много больше, чем высота заголовка…. |
B.V. |
|
Ты не учитываешь не только высоту заголовка, а вообще всю неклиентскую область, в которую входит и меню. Размеры окна, вместе с неклиентской частью возвращает GetWindowRect |
Silver Soft |
|
Member Рейтинг (т): 4 |
B.V., действительно )) Сразу все встало на свои места! теперь все работает отлично )) Огромное спасибо B.V. и Uncle_Bob!!! |
kero_xmemor |
|
Цитата SetWindowPos(&CWnd::wndBottom, 0, 0, 0, 0, SWP_NOSIZE) малость не додумали: WM_WINDOWPOSCHANGING —> lParam —> WINDOWPOS.flags|SWP_NOSIZE |
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:
- Предыдущая тема
- Visual C++ / MFC / WTL
- Следующая тема
[ Script execution time: 0,0430 ] [ 16 queries used ] [ Generated: 5.05.25, 21:52 GMT ]
В Windows 10 с настройками по умолчанию, когда вы перетаскиваете окно приложения или проводника к одному из углов или сторон экрана, оно автоматически изменяет размеры и прикрепляется. В оставшейся свободной части экрана вам будет показаны варианты запущенных приложений, которые также можно закрепить на экране.
Функция Прикрепления окна очень удобна, на ПК с большим экраном или при использовании внешнего монитора. Но если вы работаете на небольшом экране ноутбука, функция может оказаться не очень полезной. Фактически, Прикрепление окона может раздражать вас, когда вы используете устройство с маленьким экраном.
К счастью, Windows 10 может быть настроена так, чтобы не изменять автоматически размер и расположение окон при перемещении их по сторонам или углам экрана.
В этом руководстве мы увидим, как отключить одну или несколько функций многозадачности в Windows 10.
Отключить автоматическое изменение размера окна в Windows 10.
Шаг 1. Откройте приложение «Параметры» и перейдите в раздел «Система» → «Многозадачность».
Шаг 2. В подразделе «Прикрепление» вы увидите следующие параметры:
- Автоматически упорядочивать окна путем их перетаскивая их к боковым сторонам или углы экрана.
- При прикреплении окна автоматически изменять его размер, чтобы заполнить пространство.
- При прикреплении окна показывать, что можно прикрепить рядом с ним.
- При изменении размера прикреплённого окна, одновременно изменять размер смежного прикрепленного окна.
Если вы хотите, чтобы Windows 10 отключила Автоматическое изменение размера окна путем их перетаскивая их к углам или боковым сторонам экрана. Передвиньте первый ползунок в положение «Откл.». Когда эта опция отключена, другие параметры также автоматически будут выключены.
Как вы уже знаете, когда вы прикрепили окно к одной из сторон экрана, Windows 10 автоматически отображает несколько окон, которые вы можете прикрепить рядом с ним. Если вы не хотите видеть это предложение, отключите третий вариант.
When you launch an application on Windows 11/10, you can restore it and change its size by dragging its edges or corners with the help of your mouse. According to some users, they cannot resize opened windows, the restore and resize windows feature is not working, or they cannot minimize and restore the opened windows. For others, vertical resizing works well, but they cannot resize horizontally.
Do note that this issue is unrelated to the non-resizable windows, as the non-resizable windows have a fixed size. You can however resize unresizable windows using tools like ResizeEnable.
If you cannot resize the opened windows on your Windows 11/10 computer, use the fixes provided in this article. Before you proceed, we suggest you restart your computer and see if it works. Restarting the Windows device worked for some users. You can proceed further if the issue persists after restarting your computer.
- Is the Restore button missing from the Title bar?
- Use keyboard shortcuts
- Check your Display resolution and Scale settings
- Turn off the Tablet Mode
- Check Explorer addons in any
- Run SFC and DISM scans
- Restore your system
- Perform Reset PC an In-place Upgrade operation
Let’s start.
1] Is the Restore button missing from the Title bar?
To restore an opened window, you have to use the Restore button provided in the middle of the Minimize and the Close buttons on the top right side of the Title bar. If the Restore button is missing from the Title bar, some of your system image files might have been corrupted. In this case, you have to repair your corrupted system image files by using System File Checker and DISM tool.
The problem may also occur if the program is not installed correctly. Hence, uninstall and reinstall the affected program.
2] Use keyboard shortcuts
You can also use the keyboard shortcuts to restore the opened windows. Try the following keyboard shortcuts and see which one of these works:
- Alt + Spacebar
- Win + Down Arrow
The Alt + Spacebar brings a small popup window on the top left corner of the opened app. After pressing the Alt + Spacebar keys, you can select the Restore option. This will restore the opened window.
If the above two shortcuts work, check if you can resize the window by using your mouse or not.
3] Check your Display resolution and Scale settings
If the problem persists, check your Display and Scale settings on your Windows device. Follow the steps provided below:
- Open Windows 11/10 Settings.
- Go to “System > Display.”
- Under the Scale & layout section, the Scale and Display resolution should be set to Recommended. If not, set both settings to Recommended.
4] Turn off the Tablet Mode
One of the causes of this issue is the Tablet Mode. Windows 10 devices have Tablet Mode. But in Windows 11, Microsoft removed this feature and made it available only on Windows 11 touchscreen devices. Hence, if you are a Windows 10 user or if you have a touchscreen device with Windows 11, it is possible that you have enabled the tablet Mode accidentally. Check this and disable it (if applicable).
You can disable Tablet Mode via Settings or by modifying Windows Registry. If you use the Registry method, make sure that you modify the correct key in Registry as incorrect changes in Registry can make your system unstable. It is always better to create a System Restore Point before making any changes to the Registry.
5] Check Explorer addons
Installed Add-ons are usually the culprit! Check if you have installed any helpers or add-ons to your Explorer. Uninstall or disable them. Often, even 3rd-party shell extensions can cause Explorer to crash on particular actions. Several programs add items to the right-click context menu. To see them in detail, you may download the freeware utility ShellExView.
It will let you view & disable suspect 3rd party shell extensions. Using the trial & error method, you may disable/enable the extensions to try and identify if any of them are causing a problem. ShellExView can also be used for solving context-menu problems in Explorer, like, say, if the right-click is slow.
6] Run SFC and DISM scans
While the System File Checker can fix and replace damaged Windows OS files, the DISM Tool can fix a corrupted system image. You may launch them with a single click thanks to our portable freeware FixWin.
7] Restore your system
If your system worked fine previously and the problem started occurring after you made some changes or installed a software on your system, System Restore can help you fix this issue. Restore your system and select the date before which the problem started occurring on your system.
8] Perform Reset PC an In-place Upgrade operation
If the problem occurs in all apps or programs you open on your system, and if nothing helps, carrying out a Reset This PC operation or an In-place upgrade will resolve the issue.
The In-place Upgrade will repair your system by reinstalling the Windows operating system without uninstalling the currently installed Windows OS. That’s why there is no risk of data loss. However, you can create a backup before proceeding.
Read: System Restore is not working on Windows.
How do I make an application fit my screen?
You can make an application fit your screen by maximizing it. To maximize an application, you have to click on the Maximize button on the toolbar. Alternatively, you can also maximize a window by double-clicking on its Title bar.
How do I change the size of my apps in Windows 11/10?
To change the size of your apps in Windows 11/10, first, restore it. After that, place your cursor on its edges. Your cursor should be changed to a double-sided arrow. Now, press and hold the left click on your mouse and drag the edge to change the size of the app.
Read next: How to resize Explorer & Program windows to an exact size?