Модальность

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

Модальность

Сообщение learnet » 26.04.2005 (Вт) 20:59

Возможно ли окну приделать системную модальность
Код: Выделить всё
vbSystemModal

Если это так зовется

Arcanoid
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 162
Зарегистрирован: 01.01.2005 (Сб) 15:44

Сообщение Arcanoid » 26.04.2005 (Вт) 21:19

While True
Form.SetFocus
Wend

:D :D

learnet
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 18.04.2005 (Пн) 8:12

Сообщение learnet » 26.04.2005 (Вт) 21:31

:? и что с этим делать, непонимаю!

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 26.04.2005 (Вт) 21:46

Arcanoid

Сам-то понял что сказал? Представь себе загрузку процессора! :shock:
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 28.04.2005 (Чт) 16:40

По-моему у формы есть ивент LostFocus
На это не смотрите! Это не подпись!!!!!!

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 28.04.2005 (Чт) 16:44

SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
Лучший способ понять что-то самому — объяснить это другому.

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 28.04.2005 (Чт) 16:47

Alexander N. Samarin писал(а):По-моему у формы есть ивент LostFocus


Неа. Не то.
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 28.04.2005 (Чт) 16:49

Antonariy писал(а):SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE


Это что за бред?
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 28.04.2005 (Чт) 16:55

Так что же нужно? Поверх всех окон, что ли???
На это не смотрите! Это не подпись!!!!!!

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 28.04.2005 (Чт) 16:57

2 kirrun: Учи матчасть
Лучший способ понять что-то самому — объяснить это другому.

learnet
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 18.04.2005 (Пн) 8:12

Сообщение learnet » 28.04.2005 (Чт) 18:33

Нет идей, оч.жаль

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 28.04.2005 (Чт) 18:33

Antonariy писал(а):2 kirrun: Учи матчасть


А ты проверь работает ли?
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 28.04.2005 (Чт) 18:44

kirrun
Работает. Вот полный пример:
Код: Выделить всё

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
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 28.04.2005 (Чт) 18:45

Должно работать. Неужто не работает :?:

P.S.:SystemModal можно реализовать только по принципу, сказанному Arcanoid, только поместить SetFocus надо в таймер, а не то программа просто не будет реагировать на события.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 28.04.2005 (Чт) 18:53

Неа. Не работает...
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 28.04.2005 (Чт) 18:59

kirrun
К сожалению мой магический шарик, не телепат...
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

learnet
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 18.04.2005 (Пн) 8:12

Сообщение learnet » 28.04.2005 (Чт) 19:10

Вон там слева написано новичек!! Эт правда
Не понимаю.
с API совсем никак

Теперь цель!!!
есть два окна 1 и 2
С 1 открывается 2
Нужно чтоб 1 окно видеть можно было, но пока со 2 не разберешся доступа к нему небыло

learnet
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 18.04.2005 (Пн) 8:12

Сообщение learnet » 28.04.2005 (Чт) 19:13

Хотя окну ведь можно Enabled = false сделать наверно будет работать
Простите за глупый вопрос

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 28.04.2005 (Чт) 19:22

learnet
Код: Выделить всё
Form2.Show vbModal
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

learnet
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 18.04.2005 (Пн) 8:12

Сообщение learnet » 28.04.2005 (Чт) 19:27

:oops:
А как сделать чтоб у пользователя небыло доступа ко всем окнам кроме данного, возможно?

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 28.04.2005 (Чт) 19:30

learnet
Я понимаю, что ты новичек, но сходи по ссылке в моей подписи, и почитай. А пока мой ответ, возможно.
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

learnet
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 18.04.2005 (Пн) 8:12

Сообщение learnet » 28.04.2005 (Чт) 19:58

Ок, претензия ясна
очень полезное чтиво
впредь попытаюсь придерживаться.

P.S Я не программист, я приборист
P.P.S Зачем вообще отвечать на вопрос если нет времени???

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 28.04.2005 (Чт) 22:17

learnet
Чтоб впредь таких вопросов не было ;)

Что бы заблокировать все окна в системе, тебе нужно опуститься до уровня системы. Один из возможных способов это внедрить свою библиотеку написанную на С/С++, что то вроде глобального хука.

Но возможно, есть менее болезненые способы.
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 29.04.2005 (Пт) 14:30

Внедрить свою библиотеку :lol: Это как? Существует более безболезненный способ, это как раз то, что писал Arcanoid, с моими поправками. И на который даже никто внимания не обратил :?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 29.04.2005 (Пт) 14:58

ANDLL
xolod здесь писал(а):1) Хук, он же Ловушка, он же Hook. Для установки есть API SetWindowsHookEx, для того чтобы поставить ловушку на уровне системы, нужно ее оформить в виде динамически подгружаемой библиотеки (DLL).
2) Написать DLL стандартными средствами VB нельзя, посему надо либо немного извратиться. Либо оформить ее на C++, например.
3) Когда поставишь ловушку на уровне системы, то сможешь ловить все сообщения посылаемые системой всем приложениям.

Еще вопросы?
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 34

    TopList