Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
P-Rat
0 / 0 / 0
Регистрация: 27.11.2006
Сообщений: 12
1

Как сделать, чтобы немодальная форма всегда была поверх других (даже если она не активна)?

27.11.2006, 04:46. Просмотров 1576. Ответов 4
Метки нет (Все метки)

Субж...

Недавно перешел с Дельфей на VB (вынужден был по работе)... Этот вопрос - мое первое разочарование в VB... Пожалуйста не дайте мне разочароваться окончательно...
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2006, 04:46
Ответы с готовыми решениями:

Как сделать, чтобы некоторая вспомогательная форма была всегда над главной?
Как сделать, чтобы некоторая вспомогательная форма была всегда над главной? Т. е. это должно...

Как сделать форму, чтоб всегда была поверх Word ?
Делаю Addin для Word 2000. Должна открываться главная формочка. Как сделать так, чтоб она была...

Сделать так, что бы форма реагировала на нажатие клавиш даже если она не активна
Как заставить форму реагировать на нажатие клавиш, при том что она не активна (свернута). Ну...

Тонкости верстки. Сделать так чтобы один блок всегда повторял высоту другого, даже если она явно не задана
У меня есть 3 блока. Один родительский, а другие два в нем. Нужно сделать так, чтобы высота...

Как сделать вьюшку, чтобы она была поверх любых приложений?
Например, как это сделано в ГеймХацкере. Нигде не могу нарыть. Говорят про AlertDialog, но это...

4
layder_llf
0 / 0 / 0
Регистрация: 24.11.2006
Сообщений: 1
28.11.2006, 03:34 2
Стандартными средствами - никак.
Через API. На FORM_LOAD

Visual Basic
1
2
3
   SetWindowPos Me.hwnd, -1, Me.Left / Screen.TwipsPerPixelX, _
    Me.Top / Screen.TwipsPerPixelY, Me.Width / Screen.TwipsPerPixelX, _
    Me.Height / Screen.TwipsPerPixelY, 1
Как ее декларировать - сам посмотри.
0
am86
0 / 0 / 1
Регистрация: 05.11.2006
Сообщений: 133
28.11.2006, 16:28 3
Декларируем в модуле
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
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
Вставляем в форме
Visual Basic
1
2
3
4
5
6
7
Option Explicit
 
Private Sub Form_Load()
 
Call SetWindowPos(Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)
 
End Sub
Заходи на сайт ''Азбука Visual Basic'' - http://www.cm.f2s.com - это как раз для тебя.

Удачи....)
0
P-Rat
0 / 0 / 0
Регистрация: 27.11.2006
Сообщений: 12
28.11.2006, 19:55  [ТС] 4
Спасибо!
0
asd
04.12.2006, 02:52 5
http://vbcity.com/vbcode/ru/code.asp?id=67
04.12.2006, 02:52
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2006, 02:52

Как сделать, чтобы MainWindow было всегда поверх других окон?
Как сделать, чтобы MainWindow было всегда поверх других окон? Т.е. если например, после запуска...

Как сделать так, чтобы форма всегда была под фокусом
Как сделать так, чтобы форма всегда была под фокусом.

Как сделать так чтобы моя форма была поверх полноэкранных приложений (например, игр)
Пытаюсь написать программу (C# WPF) наподобие PlayClaw 5, чтобы поверх игры была информация о...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.