API-функция "окно поверх всех" - VB
Формулировка задачи:
Всем доброго времени суток !
Подскажите пожалуйста , в чем может быть проблема :
использую следующую API-функцию для отображения окна поверх всех :
Private Declare Function SetWindowPos Lib 'user32' (ByVal h%, ByVal hb%, ByVal X%, ByVal Y%, ByVal cx%, ByVal cy%, ByVal F%) As Integer
Const SWP_NOMOVE = 2
Const SWP_NOSIZE = 1
Const flags = SWP_NOMOVE Or SWP_NOSIZE
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
И соответственно вызовы :
Dim Res As Long
Res = SetWindowPos(Frm.hWnd, HWND_TOPMOST, 0, 0, 0, 0, flags)
Dim Res As Long
Res = SetWindowPos(Frm.hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, flags)
Под Win98 все работает прекрасно , но вот под Xp следующая проблема :
в ран-тайме выдает ошибку 6 - Overflow (переполнение) , но после компиляции программы , при запуске Exe-файла все нормально.
Подскажите , может быть кто сталкивался с такой проблемой ?
Решение задачи: «API-функция "окно поверх всех"»
textual
Листинг программы
Const HWND_TOPMOST = -1 Const HWND_NOTOPMOST = -2 Const SWP_NOSIZE = &H1 Const SWP_NOMOVE = &H2 Const SWP_NOACTIVATE = &H10 Const SWP_SHOWWINDOW = &H40 Private Declare Sub 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) Private Sub Form_Activate() 'KPD-Team 1998 'URL: [url]http://www.allapi.net/[/url] 'E-Mail: [email]KPDTeam@Allapi.net[/email] 'Set the window position to topmost SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д