Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как узнать выстоту рабочего поля формы? / 10 сообщений из 10, страница 1 из 1
22.10.2006, 14:11
    #34072416
Charles Weyland
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать выстоту рабочего поля формы?
Код: plaintext
1.
2.
3.
4.
    H=form1.height ' Возращает высоту рабочей формы ПЛЮС высота заголовка
                         ' окна (там где крестик) ПЛЮС ширина края окна (снизу
                         ' окна. Если пользователь поставил настройки - ширина границы окна
                         ' = 10, то это уже чувствительно.

Как узнать выстону (да и ширину) только рабочей области формы?
...
Рейтинг: 0 / 0
22.10.2006, 14:12
    #34072418
Charles Weyland
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать выстоту рабочего поля формы?
Орфографическая ошибка:
Как узнать высоту (да и ширину) только рабочей области формы?
...
Рейтинг: 0 / 0
22.10.2006, 14:44
    #34072447
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать выстоту рабочего поля формы?
Form1.ScaleHeight , Form1.ScaleWidth
поиграйся с этими значениями

и ещё не забывай о Form1.ScaleMode

если не подходит смотри API

Private Type RECT
left As Long
top As Long
right As Long
bottom As Long
End Type

Private Declare Function GetClientRect Lib "user32" _
(ByVal hwnd As Long, _
lpRect As RECT) As Long

GetClientRect Me.hwnd, rc


rc.left
rc.top
rc.right
rc.bottom
...
Рейтинг: 0 / 0
23.10.2006, 17:47
    #34074911
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать выстоту рабочего поля формы?
Да, по идее ScaleHeight и ScaleWidth возвращают размеры "нутра" формы:

" Return or set the number of units for the horizontal (ScaleWidth) and vertical (ScaleHeight) measurement of the interior of an object ..."

Будь внимателен в выборе ScaleMode.

Для более детальной работы, можно привлечь эту функцию:

Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long

Параметры и описание см. здесь:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/getsystemmetrics.asp

VladConn
...
Рейтинг: 0 / 0
26.10.2006, 10:17
    #34082415
vitaus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать выстоту рабочего поля формы?
Charles Weyland
Код: plaintext
1.
2.
3.
4.
    H=form1.height ' Возращает высоту рабочей формы ПЛЮС высота заголовка
                         ' окна (там где крестик) ПЛЮС ширина края окна (снизу
                         ' окна. Если пользователь поставил настройки - ширина границы окна
                         ' = 10, то это уже чувствительно.

Как узнать выстону (да и ширину) только рабочей области формы?
Вы ничего не путаете? Поставьте у любого элемента на форме Left и Top равными нулю, посмотрите, откуда отсчет начинается ... уж точно не от заголовка.
...
Рейтинг: 0 / 0
26.10.2006, 12:19
    #34083033
Nikz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать выстоту рабочего поля формы?
vitaus
Вы ничего не путаете? Поставьте у любого элемента на форме Left и Top равными нулю, посмотрите, откуда отсчет начинается ... уж точно не от заголовка.
а теперь вы попробуйте любому контролу указать свойство Top равное Высота формы - Высота Контрола (типа привязываем контрол к нижнему краю формы)
что то вроде
Код: plaintext
Command1.Height = Me.Heght - Command1.Height
так что вопрос то очень даже наболевший (по крайней мере для меня)
...
Рейтинг: 0 / 0
26.10.2006, 12:20
    #34083038
Nikz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать выстоту рабочего поля формы?
Nikz vitaus
Вы ничего не путаете? Поставьте у любого элемента на форме Left и Top равными нулю, посмотрите, откуда отсчет начинается ... уж точно не от заголовка.
а теперь вы попробуйте любому контролу указать свойство Top равное Высота формы - Высота Контрола (типа привязываем контрол к нижнему краю формы)
что то вроде
Код: plaintext
Command1.Height = Me.Heght - Command1.Height
так что вопрос то очень даже наболевший (по крайней мере для меня)косякс...
разумеется имелось в виду:
Код: plaintext
Command1.Top = Me.Heght - Command1.Heigh
...
Рейтинг: 0 / 0
27.10.2006, 14:43
    #34087221
Charles Weyland
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать выстоту рабочего поля формы?
Да, я удивлён, что кто-то ещё не знал, что высота формы и точка начала отсчёта координат - совершенно разные вещи!!
...
Рейтинг: 0 / 0
27.10.2006, 14:44
    #34087227
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать выстоту рабочего поля формы?
me.scaleheight никто не додумался???

аффтопитезь
...
Рейтинг: 0 / 0
27.10.2006, 16:26
    #34087671
Charles Weyland
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать выстоту рабочего поля формы?
Почему же? michael R и VladConn додумались!)
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как узнать выстоту рабочего поля формы? / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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