purebasic.info

PureBasic forum
Текущее время: Пт янв 19, 2018 2:38 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
СообщениеДобавлено: Ср окт 04, 2017 8:49 pm 
Не в сети
ассистент

Зарегистрирован: Пн мар 30, 2015 5:48 pm
Сообщений: 22
Благодарил (а): 16 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Всем привет!
Хочу сделать так, чтобы при запуске приложения главное окно разворачивалось во весь экран монитора.
Как быть с параметрами гаджетов (координаты, длина и ширина), их как-то нужно привязывать к разрешению (размерам монитора)??
Если будет активна кнопка "свернуть в окно/развернуть", то тоже как-то нужно привязываться к разрешению монитора?
Спасибо!


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт окт 05, 2017 5:32 am 
Не в сети
док

Зарегистрирован: Пн сен 27, 2010 10:30 am
Сообщений: 143
Откуда: Уренгой
Благодарил (а): 0 раз.
Поблагодарили: 10 раз.
Пункты репутации: 5
Xmax=GetSystemMetrics_(#SM_CXSCREEN)
Ymax=GetSystemMetrics_(#SM_CYSCREEN)

OpenWindow(0,0,0,Xmax,Ymax,"FullScreen")


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт окт 05, 2017 8:31 am 
Не в сети
профессор

Зарегистрирован: Вт май 13, 2014 4:12 am
Сообщений: 540
Благодарил (а): 53 раз.
Поблагодарили: 15 раз.
Пункты репутации: 5
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Procedure WindowResize(WindowID, Message, wParam, lParam)
Protected m, w, h, eh
If Message=#WM_SIZE
w=WindowWidth(#W); размеры окна, от них и пляшем
h=WindowHeight(#W)
 
; тут все гаджеты ресайзим
; изменяем только нужные значения, остальные игнорим
ResizeGadget(#PB_Any, #PB_Ignore, #PB_Ignore, #PB_Ignore, #PB_Ignore)
 
EndIf
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
 
 
; после создания окна
SmartWindowRefresh(#W, #True); уменьшение мерцания окна при Resize
; тут рисуем морду программы
SetWindowCallback(@WindowResize()); изменение размеров, координат окна и всех гаджетов
 



а полный / не полный экран каждый делает по своему


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт окт 05, 2017 8:16 pm 
Не в сети
ассистент

Зарегистрирован: Пн мар 30, 2015 5:48 pm
Сообщений: 22
Благодарил (а): 16 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Зачем использовать функцию SetWindowCallback(@WindowResize())? Нельзя просто вызывать процедуру WindowResize() в главном цикле?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Сб окт 07, 2017 7:39 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пт янв 27, 2012 7:12 pm
Сообщений: 880
Откуда: Кустанай
Благодарил (а): 27 раз.
Поблагодарили: 13 раз.
Пункты репутации: 7
я просто рассчитывал координаты и ширину с высотой в процентном соотношении, а когда происходило событие изменения размеров окна, то вызывалась процедура с изменение размеров гаджетов.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Вс окт 08, 2017 6:20 am 
Не в сети
профессор

Зарегистрирован: Вт май 13, 2014 4:12 am
Сообщений: 540
Благодарил (а): 53 раз.
Поблагодарили: 15 раз.
Пункты репутации: 5
в примерах есть примеры как это делается


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB