|
|
|
Форма, размеры
|
|||
|---|---|---|---|
|
#18+
Собственно форма старт пазишионс - центр border style- fixed single maximazed формы запрещено и тд. размеры 600х800 когда стартует то при расширении 600x800 становиться поверх панели задач.. как это исправить ? Или может есть где алгоритмы маштабирования ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 15:47:47 |
|
||
|
Форма, размеры
|
|||
|---|---|---|---|
|
#18+
Попробуй размеры 800*599 и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 17:02:31 |
|
||
|
Форма, размеры
|
|||
|---|---|---|---|
|
#18+
Объясняю проблемму. Форме запрещено максимайз. Сама создана для размеров 600х800 экрана всплытие в центре. Алгоритмов маштабирования нет(если у кого есть прошу поделится) Сделано для того чтобы при разных разрешениях экрана (больших) была в центре. Но когда меняю расширение на 600х800 она (форма)либо отступает сверху что некрасиво(если уменьшаешь её высоту), либо затирает собой панель задач виндовс , что тоже не надо. Ни кто ни чё не подскажет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 17:10:42 |
|
||
|
Форма, размеры
|
|||
|---|---|---|---|
|
#18+
VwСама создана для размеров 600х800 экрана всплытие в центре. Чего? твипов или пикселей, или прочей гадости. (т.е. ширина меньше высоты.) VwАлгоритмов маштабирования нет Скролы что ли, или что делать при изменении? при макси(развернуть) - Form1.WindowState=vbMaximized при мини(свернуть) - Form1.WindowState=vbMinimized Просто - Form1.WindowState=vbNormal При изменении формы происходит событие Form_Resize Или хочешь, чтобы при разных размеров контролы изменяли размеры также? т.е. уменьшаешь высоту формы в 2 раза и все контролы уменьшились в 2 раза по ширине? Такой пример есть, надо правда поискать. VwСделано для того чтобы при разных разрешениях экрана (больших) была в центре. Но когда меняю расширение на 600х800 она (форма)либо отступает сверху А что нибудь вроде того Form1.Width=600 Form1.top=((Screen.Width-Form1.Width)/2) Аналогично с высотой Vwлибо затирает собой панель задач виндовс , что тоже не надо. Либо Максимизд, либо высота должна быть не более 600*799 пикселей Вообще 1 пиксель=Screen.TwipPerPixelX твипов, короче равен 15(у меня) Напоследок. Расширения : 640*480 800*600 1024*768 Дальше не помню ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 19:23:44 |
|
||
|
Форма, размеры
|
|||
|---|---|---|---|
|
#18+
800*600 - это сама форма, но ведь есть еще заголовок формы. плюс как ты заметил есть еще таскбар. Считай сколько занимают таскбар+заголовок и вычитай из 600. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2005, 11:51:12 |
|
||
|
Форма, размеры
|
|||
|---|---|---|---|
|
#18+
при разрешении 800х600(пиксели) форма (в твипах) принимает размеры (800*15)х(600*15) с шапкой и прочей хренью. для того, чтобы разместить на форме скажем LAbel её размеры должны быть примерно такими .width=form.width-(от 0 до 300, разное, и зависит от Скинов Windows; в XP -250) .height=form.height-(от 300 до 600 без менюшки и от 600 до 1200 с менюшкой) легче всего в конструкторе растянуть и точка. вообще делать form.windowstyle=vbMaximized (развернуть, и обрабатывай Resize ФОРМЫ, тем самым подгоняя размеры элементов. скажем элемент 1 = 20% от формы. и .т.д.) Для общего случая в Resize см. следующее For Each Control In Me If Control.Tag <> "not" Then With Control .Width = Int(.Width * kx) .Height = Int(.Height * ky) .Left = Int(.Left * kx) .Top = Int(.Top * ky) If TypeOf(Control) <> "PictureBox" Then .FontSize = Int(.FontSize * kFont) End With End If Next поясняю. kx-на сколько растянуть форму (надо записать старое значение, и kx=новое/старое) аналогично с ky если элемент типа PictureBox, то его шрифт не изменяется если надо, чтобы элемент не изменялся вообще, запиши в его таг "not" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2005, 16:09:22 |
|
||
|
Форма, размеры
|
|||
|---|---|---|---|
|
#18+
Получите для VBA EXEL.Форма масштабируется без проблем. Решение взял из сайта. К сожалению , автора поблагодарить не удалось, и сейчас все комплименты ему. Вставьте в тест формы в VBA вот такое.Здесь установлен масштаб 1. У автора был 0,55. и у него был забит Caption.Пробовал на разных мониторах с разным разрешением. Работает четко. YuraSh Private Sub UserForm_Initialize() Dim h As Double Dim w As Double Dim ah As Double Dim aw As Double With Me '.Caption = TI h = .Height w = .Width ah = Application.UsableHeight aw = Application.UsableWidth '.Width = aw * 0.55 .Width = aw * 1 '.Height = (h * (aw / w)) * 0.55 .Height = (h * (aw / w)) * 1 'Zoom = aw / w * 100# * 0.55 Zoom = aw / w * 100# * 1 .Top = 0# .Left = (aw - .Width) + 20# End With End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2006, 12:03:43 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33050877&tid=2166296]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
193ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 487ms |

| 0 / 0 |
