СообЧа > База Знаний > Программирование > Visual Basic > Формы и элементы управления

Вопрос

Как в VB6.0 сделать форму AlwaysOnTop?

Ответ

  Для создания такого окна используется функция API SetWindowPos из библиотеки user32.dll. Декларируем в модуле следующую функцию и константы:

Option Explicit
Public Const HWND_TOPMOST = -1
Public Const HWND_NOTOPMOST = -2
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOSIZE = &H1
Public Const SWP_NOACTIVATE = &H10
Public Const SWP_SHOWWINDOW = &H40
Public Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

  В форму вписывается следующий код

Option Explicit
Private Sub Form_Load()
Call SetWindowPos(Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)
End Sub

Иван



Copyright © 2000-2004 Сообщество Чайников
Контактная информация