Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Настройка разрешения экрана ... 
:(
    Опции темы
Farhod
  Дата 6.5.2002, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 25.3.2002

Репутация: нет
Всего: нет



Как настроить размеры формы и всех её элементов на изменение разрешения экрана.
Я разработал программу при разрешении 1024*768. Теперь если изменить разрешение на 800*600 то форма не помещается в экран. Как решить эту проблему ?
PM MAIL   Вверх
Sheff
Дата 24.5.2002, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 503
Регистрация: 25.3.2002
Где: Зеленоград

Репутация: нет
Всего: 3



Задавай размеры эл.управления относительно выс, шир экрана, эти значения храняться в свойствах объекта screen: width, height.


--------------------
--------------------------
Шеф всегда прав :)
PM MAIL WWW ICQ   Вверх
cardinal
  Дата 25.5.2002, 01:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Я тоже столкнулся с этой проблемой. Я правильно понял что надо поменять размеры "всего что находиться на форме"? Я просто решил это так: проверил (с screen.width и т.д.) какое разрешение экрана и исходя из этого загружаю либо form1 либо form2 (при этом form1 под одно разрешение сделана, а form2 под другое). При этом я не думаю, что это идеальное решение потому, что в обоих формах сидит один и тот же код, но его в принципе в модуль засунуть можно...
Что думайте господа?


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Farhod
Дата 28.5.2002, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 25.3.2002

Репутация: нет
Всего: нет



Спасибо
Я вот нащёл ещё один путь
Есть такой ".ocx" называется FormAideControl .Так вот если поставить его на форму он хранит все размеры всех э/у-я в форме.И при изменении размера формы он изменяет все размеры.
PM MAIL   Вверх
Sheff
Дата 28.5.2002, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 503
Регистрация: 25.3.2002
Где: Зеленоград

Репутация: нет
Всего: 3



Цитата(Farhod @ 28.5.2002, 08:35)
Спасибо
Я вот нащёл ещё один путь
Есть такой ".ocx" называется FormAideControl .Так вот если поставить его на форму он хранит все размеры всех э/у-я в форме.И при изменении размера формы он изменяет все размеры.

А ты не мог бы мне его смылить


--------------------
--------------------------
Шеф всегда прав :)
PM MAIL WWW ICQ   Вверх
Cardinal
  Дата 29.5.2002, 06:33 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Farhod @ 06.5.2002, 11:57)
Как настроить размеры формы и всех её элементов на изменение разрешения экрана.
Я разработал программу при разрешении 1024*768. Теперь если изменить разрешение на 800*600 то форма не помещается в экран. Как решить эту проблему ?

Привяжи все обьекты к форме, задай алгоритм динамического изменения обьектов формы и с помощью события формы  Form_Resize меняй, как хош.
Могу привести пример, я тут делал график под свою прогу, он конечно примитивный, но он как раз динамически меняет свой масштаб при изменении размера формы. Вот код:
Public n As Long
Dim M(30)

Private Sub Form_Load()
n = 25
xx2 = n * 25 + 45
form1.Width = 405 + (15 * (xx2 + 30))
form1.Height = 405 + (15 * ((n * 20) + 50))
form1.Scale (0, 0)-(n * 25 + 75, n * 20 + 60)
End Sub

Private Sub Form_Resize()
Cls
n = 25
M(1) = 0.123
M(2) = 0.4576
M(3) = 0.89
M(4) = 2.4568
M(5) = 3.3767
M(6) = 4.5678
M(7) = 5.478
M(8) = 6.478
M(9) = 7.589
M(10) = 8.3567
M(11) = 8.463
M(12) = 8.456
M(13) = 8.463
M(14) = 8.463
M(15) = 8.463
M(16) = 7.2476
M(17) = 6.6578
M(18) = 5.2456
M(19) = 4.678
M(20) = 4.123
M(21) = 3.798
M(22) = 2.4567
M(23) = 1.3467
M(24) = 0.789
M(25) = 0.423
AutoRedraw = True
ScaleMode = 3
xx1 = (n * 20 + 30) - (n * 20)
Xt = xx1 + 25 'первая точка(координата по х)
xx2 = n * 25 + 45
xy1 = xx1 - 5
xy2 = xx1 + 5
Yx1 = (n * 20 + 40) - 5
yx2 = (n * 20 + 40) + 5
yy1 = n * 20 + 40 '                      yy1 = 520
yt = yy1

'form1.Width = 405 + (15 * (xx2 + 30))' если разштриховать, форма изменит не свои размеры хоть тяни, хоть не тяни

'form1.Height = 405 + (15 * ((n * 20) + 50))'если разштриховать, форма изменит не свои размеры хоть тяни, хоть не тяни

form1.Scale (0, 0)-(n * 25 + 75, n * 20 + 60)
Line (xx1, 20)-(xx1, yy1), QBColor(10) 'ось Y
Line (xx1, yy1)-(xx2, yy1), QBColor(10) 'ось X
For i = 0 To n
Line (xx1, Yx1)-(xx1, yx2), 10
PSet (xx1 - 7, yx2), &H8000000F
xx1 = xx1 + 25
Print i
If i <> 0 Then
yy1 = yy1 - 20
Line (xy1, yy1)-(xy2, yy1), 10
PSet (xy1 - 25, yy1 - 7), &H8000000F ' Печать текста на оси
rMi = rMi + 0.5
Print rMi
End If
Next i
Xt1 = Xt
Yt1 = yt - (Int(M(1) * 10)) * 4
PSet (Xt1, Yt1), QBColor(12)
Print M(1)
For i = 2 To n Step 1
Xt = Xt + 25
Xt2 = Xt
'Yt = Yt - 20
Yt2 = yt - (Int(M(i) * 10)) * 4
Line (Xt1, Yt1)-(Xt2, Yt2), QBColor(12)
Xt1 = Xt2
Yt1 = Yt2
Print M(i)
Next i
End Sub

Пробуй, если что непонятно - спрашивай !!!!!
  Вверх
Farhod
Дата 1.6.2002, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 25.3.2002

Репутация: нет
Всего: нет



Круто! Спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0434 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.