Страница: 1 |
Страница: 1 |
Вопрос: VB2005 and hWND
Добавлено: 31.05.06 18:19
Автор вопроса: mr_Frank | Web-сайт:
подскажите пожаалуйтса как определить hwnd формы в VB2005!
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #1
Добавлено: 31.05.06 18:46
Есть три пути.
Первый - путь воина: сделать MsgBox для каждого свойства формы и посмотреть, которое возвращает HWND.
Второй - путь хитрого: написать .hwnd в VB6 и использовать upgrade wizard, который заменит .hwnd на нужное.
И третий, путь мудрого - читать документацию "Изменения в языке VB .NET по сравнению с VB6"...
Номер ответа: 2
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #2
Добавлено: 31.05.06 21:21
(шопотом, дабы не перебивать лектора)..
Есть еще один путь... даже не знаю как его назвать.. просто глянуть свойства формы в Object Browser!
И выяснится удивительная вещь, что форма имеет свойство:
Member of: System.Windows.Forms.Control
Summary:
Gets the window handle that the control is bound to.
Return Values:
An System.IntPtr that contains the window handle (HWND) of the control.
Номер ответа: 3
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #3
Добавлено: 01.06.06 00:04
только боюсь позднее выяснится, что Handle понадобился для вызова какой нибудь API, и что он просто пытается перенести какой нибудь код из VB6 (которым пользовался раньше) в .NET.. совершенно не подозревая о том, что есть стандартные пути решения его проблемы...
А можно поинтересоваться, для каких целей понадобился Handle окна? ибо вызов API в .NET порой довольно сильно отличается от VB6 и зачастую вызывает трудности...
Номер ответа: 4
Автор ответа:
mr_Frank
ICQ: 316417
Вопросов: 36
Ответов: 94
Web-сайт:
Профиль | | #4
Добавлено: 01.06.06 06:27
поинтересоватся можно всегда, я хочу сделать свое окно поверх других
Номер ответа: 5
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #5
Добавлено: 01.06.06 08:42
А, ну это тогда очень свежо и оригинально...
Присоединяйся. http://www.vbnet.ru/forum/show.aspx?id=110529
Номер ответа: 6
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #6
Добавлено: 01.06.06 16:33
О чем, собственно, и говорил... ))
Для этого совершенно не нужен Handle...
Номер ответа: 7
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #7
Добавлено: 01.06.06 16:47
А вообще.. буквально недавно Neco показывал пример.. причем очень грамотный пример того, как можно добиться настоящего состояния TopMost. Имеется ввиду.. окно будет поверч всех ТВОИХ окон, но не всех окон Windows.. Насколько я помню в том примере он переопределял ф-ю OnCreate..
Ищущий.. да обрящет!!!