Страница: 1 |
Страница: 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 пикселей) и перемещение объекта обрабатывается не корректно!
Заранее благодарен.
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа: Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #1
Добавлено: 18.11.08 20:37
А в дотнете у контролов есть такие чудесные свойства, как .Dock и .Anchor
Номер ответа: 2
Автор ответа: Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #2
Добавлено: 18.11.08 22:31
+1
Номер ответа: 3
Автор ответа: Oleg
Вопросов: 1
Ответов: 1
Профиль | | #3
Добавлено: 19.11.08 10:38
Спасибо, ни когда бы в голову не пришло (исходя из названий свойств) что они влияют на размер объекта, а перелопатить весь Object browser быстро и эффективно как-то не получается!
Воистину: Вы можете уговорить нас выучить другой язык, Вы можете посулить нам большие деньги, Вы можете заставить нас выучить другой язык, НО ДУМАТЬ МЫ БУДЕМ ВСЕ РАВНО НА BASICе.
Номер ответа: 4
Автор ответа: Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #4
Добавлено: 19.11.08 21:45
Дурацкая цитата. Я давно уже думаю на C++.
Номер ответа: 5
Автор ответа: Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #5
Добавлено: 19.11.08 22:15
Ну я например думаю на Smalltalk и на ассемблере. Но пишу все равно на BASIC