Окно поверх всех.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
SurvivalXXI
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 15.09.2005 (Чт) 22:09

Окно поверх всех.

Сообщение SurvivalXXI » 15.09.2005 (Чт) 22:27

Народ помогите как сделать окно поверх всех, без перемещения формы и тому подобното. пробовал через SetWindowPos, но там обязательно нужно задать размеры и положение окна, кажется.
Ещё желательно, чтобы поменьше ресурсов ело, а то прога в фоновом режиме будет работать, и хорошо бы, что бы даже поверх окон со статусом поверх всех(например диспетчер задач) была. :wink:

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 15.09.2005 (Чт) 23:06

SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE + SWP_NOMOVE
SWP_NOSIZE - игнорирует заданные размеры (оставляет прежние
SWP_NOMOVE - игнорирует заданное положение (оставляет прежнее)

А вообще-то яндекс по фразе "окно поверх всех" тебе столько выдаст, что ...
Никогда не откладывай на завтра то, что можно ... отложить на послезавтра!

SurvivalXXI
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 15.09.2005 (Чт) 22:09

Сообщение SurvivalXXI » 16.09.2005 (Пт) 21:41

Спасибо.

SurvivalXXI
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 15.09.2005 (Чт) 22:09

Сообщение SurvivalXXI » 16.09.2005 (Пт) 23:40

Появилась одна проблема. Эта функция ставит окно поверх Активного,
а мне нужно поверх всех. :(

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 16.09.2005 (Пт) 23:51

А может то активное окно тоже вызывает эту функцию?
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

SurvivalXXI
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 15.09.2005 (Чт) 22:09

Сообщение SurvivalXXI » 18.09.2005 (Вс) 21:51

Нет, точно, сдесь что то другое

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 18.09.2005 (Вс) 21:54

Код: Выделить всё
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: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    '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


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, SemrushBot, Yandex-бот и гости: 7

    TopList  
cron