Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как быть с разрешением экрана в VFP7 / 8 сообщений из 8, страница 1 из 1
17.10.2004, 20:51
    #32741847
Spavel_74
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быть с разрешением экрана в VFP7
Пишу проект в одном разрешении экрана,компилирую. Запускаю с меньшим разрешением экрана и вижу что формы в экран не влазят. Как с этим боротся. Хочется что бы формы подстраивались под разрешение.
...
Рейтинг: 0 / 0
17.10.2004, 21:30
    #32741853
*Ноль*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быть с разрешением экрана в VFP7
Код: plaintext
1.
2.
3.
4.
5.
6.
#define SM_CXSCREEN              0 
#define SM_CYSCREEN              1 

DECLARE Integer GetSystemMetrics IN WIN32API integer

nWidth = GetSystemMetrics(SM_CXSCREEN)
nHight = GetSystemMetrics(SM_CYSCREEN)

Допустим oForm , твой объект формы, перед Show() ему:

Код: plaintext
1.
2.
3.
4.
5.
6.
with oForm
.Top =  1 
.Left = 1 
.Width =  nWidth 
.Height = nHeight
.Show( 1 )
endwith
Так пойдет ?
Можно еще через WMI, но там по ресурсам накладно.
...
Рейтинг: 0 / 0
17.10.2004, 21:38
    #32741855
Spavel_74
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быть с разрешением экрана в VFP7
А как быть с объектами на форме или так поступать с каждым объектом на форме
...
Рейтинг: 0 / 0
17.10.2004, 21:41
    #32741857
*Ноль*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быть с разрешением экрана в VFP7
Тут все просто, только мне надо узнать, у тебя форма как объект в VCX или просто форма в дизайнере , как SCX ?
...
Рейтинг: 0 / 0
17.10.2004, 21:46
    #32741860
Spavel_74
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быть с разрешением экрана в VFP7
Обыкновенная форма (SCX)
...
Рейтинг: 0 / 0
17.10.2004, 21:59
    #32741863
*Ноль*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быть с разрешением экрана в VFP7
Начну с простого.
Просто пишешь в метод Init формы такой код:

* Это метод Init
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
#define SM_CXSCREEN              0 
#define SM_CYSCREEN              1 

DECLARE Integer GetSystemMetrics IN WIN32API integer
Local nWidth,nHight

nWidth = GetSystemMetrics(SM_CXSCREEN)
nHight = GetSystemMetrics(SM_CYSCREEN

with thisform
.Top =  1 
.Left = 1 
.Width =  nWidth 
.Height = nHeight
endwith
А как ты ее активизируешь?
Советую делать так(это в модуле который запускает твою форму, или в методе другого объекта, не столь важно):

Если у тебя форма как SCX:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Public loObject
loObject =  .NULL.
DO FORM your_form NAME loObject   Noshow
if vartype(loObject) !="O" or Isnull(loObject)
    return .f.
endif
loObject.Show()
* loObject.Show() -  модально
А в ините твоей формы уже лежит код который я привел выше.
Все делжно получиться.
...
Рейтинг: 0 / 0
17.10.2004, 22:04
    #32741864
*Ноль*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быть с разрешением экрана в VFP7
Код: plaintext
loObject.Show( 1 ) -  модально
...
Рейтинг: 0 / 0
17.10.2004, 22:19
    #32741868
*Ноль*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быть с разрешением экрана в VFP7
А если что-нибудь хочешь сделать с объектами на форме , то тебе нужно в методе Resize() формы это сделать, то есть сдвинуть по вычесленным тобой коррдинатам. Но такого не нужно, если разрабатываешь форму под заранее
минимальное разрешение клиента, например 800x600.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как быть с разрешением экрана в VFP7 / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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