Форма в Трее (не путать с иконкой в трее)

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

Форма в Трее (не путать с иконкой в трее)

Сообщение netdemon » 04.09.2007 (Вт) 16:07

Пишу я тут одну прогу и хочу чтобы форма находилась в трее рядом с часами. Как голову ни ломал, ничего не выходит. После мрих экспериментов исчезли часы. :roll:

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.09.2007 (Вт) 21:25

tag_warning

Хотя за этот вопрос надо ставить сразу и второй.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

NIC
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 175
Зарегистрирован: 26.04.2005 (Вт) 4:50

Сообщение NIC » 06.09.2007 (Чт) 7:52

Может это поможет...
Вложения
progressbar_in_systemtray.zip
(5.72 Кб) Скачиваний: 94

netdemon
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 179
Зарегистрирован: 04.09.2007 (Вт) 15:51

Сообщение netdemon » 08.09.2007 (Сб) 17:43

Я пробовал вот так, но не получилось.
Код: Выделить всё

TR = FindWindow("Shell_TrayWnd", "")
ST = FindWindowEx(TR, 0, "traynotifywnd", vbNullString)
cl = FindWindowEx(ST, 0, "trayclockwclass", vbNullString)
SetWindowLong frmTray.hwnd, GWL_EXSTYLE, GetWindowLong(cl, GWL_EXSTYLE)
'GetWindowRect cl, a

SetParent cl, GetWindowLong(frmTray.hwnd, GWL_ID)

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 14.09.2007 (Пт) 14:12

У меня такая же проблема. Надо чтоб программа была в трее. Но это не все. Надо чтоб при щелчке мышкой на эту иконку (которая в трее, рядом с часами) вылезало меню. Меню довольно простое: открыть окно этой программы и поместить ее обратно в трей. Дело в том, что эта программа всегда должна работать, но чтоб ее небыло видно.
Очень желательно простенький пример, чтоб я мог разобраться.
Заранее спасибо.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 14.09.2007 (Пт) 14:48

Saturn.65, что ли тут не был? Или там недостаточно нужной информации?
Весь мир матрица, а мы в нем потоки байтов!

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 14.09.2007 (Пт) 15:02

Viper писал(а): тут

Там я был. Вроде и иконка появляется и меню. Закрываешь форму, иконка остается. Прекрасно, то, что надо. Подводишь мышку, а иконка исчезает. :cry: А мне надо, чтоб форму было не видно нигде, а толька иконка в трее.
В принципе проект можно доделать, только вот если прописать в форме, чтоб она исчезала, а появлялась при клике по меню из трея.
А это идея. Если я не ошибаюсь. А можно ли такую команду прописать для красного крестика, который закрывает форму?

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 14.09.2007 (Пт) 15:36

Saturn.65 писал(а):А можно ли такую команду прописать для красного крестика, который закрывает форму?

Там можно прописать любую команду, наводящие слова - обработка событий Form_Unload и Form_QueryUnload

Поправил опечатку
Последний раз редактировалось Viper 14.09.2007 (Пт) 16:32, всего редактировалось 1 раз.
Весь мир матрица, а мы в нем потоки байтов!

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

Сообщение Amed » 14.09.2007 (Пт) 16:01

Точнее, QueryUnload.

Код: Выделить всё
Sub QueryUnload()
    ' действия c треем
    ...
    ...
    Cancel=1
End Sub

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 14.09.2007 (Пт) 16:16

Спасибо всем!
Кстати, может кому надо, нашел контрол, для помещения программы в трей.
Вложения
taskicon.rar
taskicon
(6.75 Кб) Скачиваний: 91


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

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

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

    TopList