![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 21.11.2017
Сообщений: 4
|
![]()
При использовании стандартных Delphi'йских скинов развернутая на весь экран форма вылезает на 3 пикселя вверх и 3 пикселя влево (Win10, XE6). Проверено на отдельном демо. Не то, чтобы я совесем перфекционист, но сделал форме маленькие бордюры (Border) в скинах и LeftBorder исчез (вылез за пределы экрана). Как результат - дочернее окно (fsMDIChild) тоже вылезает и рамка с левой стороны не видна. Может кто уже решал такую проблему?
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,869
|
![]()
не люблю я эти украшения и рюшечки на зановесочках. просто стандартная форма серого цвета...
-------- но, если бы такая задача встала, то просто сделал бы в обработчике нажатия кнопки Form1.Width:=Screen.Width-3; Form1.Height:=Screen.Height-3; раз уж этот скин так сильно расширяет форму....
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 21.11.2017
Сообщений: 4
|
![]() Код:
Нужно через Screen.WorkAreaHeight или типа того, но вычисляется неверно. MainForm.MakeFullyVisible; выравнивает по левому и верхнему краям. Остается поморочиться в шириной и высотой |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,869
|
![]()
ну, если уж совсем припрёт, то работа с графикой....
1. делать скриншот - снимок с экрана 2. выискивать на нём полоску цвета панели задач. и отсекать, всё, что снизу - запоминать координату - узнаем высоту свободной области для ширины формы. 3. то же самое делать для ширины, если вдруг панель задач окажется справа. 4. ну, по желанию, можно сделать то же самое для верхней и левой области. 5. в итоге у тебя на руках окажется 4 координаты - угловые 4 точки, с которых можно потом размещать форму и придавать ей нужную ширину и высоту... -------- понятно, что алгоритм поиска будет основан на вложенных циклах, но с применением операторов break он будет довольно-таки шустрым.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
PaintBox и Bitmap. При перемещении формы за пределы экрана картинка стирается | Женя32 | Мультимедиа в Delphi | 2 | 28.07.2019 04:48 |
Автоматически вылезает и не двигается форма | SlashMan | Общие вопросы Delphi | 9 | 14.01.2010 18:11 |
Узнать цвет пикселя на экране, без снимка экрана. | Alex Cones | Общие вопросы Delphi | 3 | 03.08.2009 12:02 |
Получение произвольного пикселя с экрана | andreyasu | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 07.06.2009 21:35 |
Пределы экрана | Манжосов Денис :) | Общие вопросы Delphi | 6 | 01.05.2008 10:58 |