Страница: 1 |
|
Вопрос: Система координат в VB .NET
|
Добавлено: 18.11.08 18:02
|
|
Автор вопроса: Oleg
|
Сразу прошу прощения, если эта тема уже обсуждалась ранее.
Задача:
Менять размер объекта (пусть будет текстовое поле) при изменении размера формы (Объект должен занимать всю область формы).
Как я это релизовывал ранее в VB6:
Private Sub Form_Resize()
Form1.ScaleMode = vbPixels
Text1.Top = 0
Text1.Left = 0
Text1.Width = Form1.ScaleWidth
Text1.Height = Form1.ScaleHeight
End Sub
Следующий код для VB6 не годился:
Private Sub Form_Resize()
Text1.Top = 0
Text1.Left = 0
Text1.Width = Form1.Width / Screen.TwipsPerPixelX
Text1.Height = Form1.Height / Screen.TwipsPerPixelY
End Sub
потому что в Form1.Width и Form1.Height входит еще и толщина Border формы.
Теперь собственно вопрос: Как реализовать первый код в VB.NET (свойства ScaleWidth/ScaleHeight я не нахожу) и если это не возможно, то как реализовать второй вариант с поправкой на толщину рамки вокруг формы и высоту заголовка формы.
Сразу обращаю Ваше внимание на то, что вычислять высоту заголовка формы опытным путем и затем использовать ее как константу бессмысленно, так как стоит поменять тему (Windows XP) и высота заголовка меняется (в некоторых темах различия доходят до 10 пикселей) и перемещение объекта обрабатывается не корректно!
Заранее благодарен.
Ответить
|
Номер ответа: 3 Автор ответа: Oleg
Вопросов: 1 Ответов: 1
|
Профиль | | #3
|
Добавлено: 19.11.08 10:38
|
Спасибо, ни когда бы в голову не пришло (исходя из названий свойств) что они влияют на размер объекта, а перелопатить весь Object browser быстро и эффективно как-то не получается!
Воистину: Вы можете уговорить нас выучить другой язык, Вы можете посулить нам большие деньги, Вы можете заставить нас выучить другой язык, НО ДУМАТЬ МЫ БУДЕМ ВСЕ РАВНО НА BASICе.
Ответить
|
Страница: 1 |
Поиск по форуму