Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: работа с формой Добавлено: 20.10.05 17:54  

Автор вопроса:  Barsik | Web-сайт: barsik.newmail.ru | ICQ: 343368641 
у мя два вопроса.

first
есть окно, иконка в трее.
по иконке в трее кликают и в зависимости от состояния формы делают дейтвия:
1) если форма спрятана(visible=false), то показываем ее;
2) если видна(visible=true), но не активна, то выводим ее на передний план(делаем активной);
3) ну а если видна(visible=true) да и еще активна, то прячем ее(visible=false).
все бы ничего да есть одна загвоздка с определение активности формы. когда выполняю код с формы, то все работает, но когда все это делаю с трея, нифига. а дело-то вот в чем. когда кликаю на иконку в трее, активным ведь становится трей :(.

second
есть окно, иконка в трее.
я хочу, чтоб при клике по кнопке минимизации на форме окно не сворачивалось в панель задач, а чтоб исчезало. т.е. типа сворачивалось в трей.

помогите решить траблы! оч. нужно ;)

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 «UL.eXe»



ICQ: 197.895.916.247 

Вопросов: 72
Ответов: 540
 Профиль | | #1 Добавлено: 20.10.05 19:41
есть окно, иконка в трее.
я хочу, чтоб при клике по кнопке минимизации на форме окно не сворачивалось в панель задач, а чтоб исчезало. т.е. типа сворачивалось в трей.


На Form_Resize пиши:
If Me.Windowstate = vbMinimized Then
 ' ну тут ты ее в трэй сворачиваешь
End If

Ответить

Номер ответа: 2
Автор ответа:
 «UL.eXe»



ICQ: 197.895.916.247 

Вопросов: 72
Ответов: 540
 Профиль | | #2 Добавлено: 20.10.05 19:46
есть окно, иконка в трее.
по иконке в трее кликают и в зависимости от состояния формы делают дейтвия:
1) если форма спрятана(visible=false), то показываем ее;
2) если видна(visible=true), но не активна, то выводим ее на передний план(делаем активной);
3) ну а если видна(visible=true) да и еще активна, то прячем ее(visible=false).
все бы ничего да есть одна загвоздка с определение активности формы. когда выполняю код с формы, то все работает, но когда все это делаю с трея, нифига. а дело-то вот в чем. когда кликаю на иконку в трее, активным ведь становится трей :(.


Да, вспомнил и это:
 Надо сначала не показывать форму (visible)
 Для начала загрузи ее (Load Me)
 Затем покажи (Visible)
 Наконец (Me.Show)
 И сделай активной с помощью vbNormalFocus

Теоретически должно заработать..

Ответить

Номер ответа: 3
Автор ответа:
 Barsik



Разработчик Offline Client

ICQ: 343368641 

Вопросов: 17
Ответов: 686
 Web-сайт: barsik.newmail.ru
 Профиль | | #3
Добавлено: 20.10.05 20:59
На Form_Resize пиши:
If Me.Windowstate = vbMinimized Then
 ' ну тут ты ее в трэй сворачиваешь
End If


ты сам пробовал? у меня не прокатило.

Да, вспомнил и это:
 Надо сначала не показывать форму (visible)
 Для начала загрузи ее (Load Me)
 Затем покажи (Visible)
 Наконец (Me.Show)
 И сделай активной с помощью vbNormalFocus

Теоретически должно заработать..

проблем с тем, чтоб сделать форму активной нет, проблемы с определением ее активности
пс. читай внимательней )

Ответить

Номер ответа: 4
Автор ответа:
 Discaprio



ICQ: 4443928 

Вопросов: 7
Ответов: 37
 Профиль | | #4 Добавлено: 20.10.05 21:18
Private Declare Function GetActiveWindow Lib "user32" () As Long

Private Sub Form_Load()
If GetActiveWindow = Form1.hWnd Then
'Если форма активна
Else
'Если форма не активна
End If
End Sub

Ответить

Номер ответа: 5
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #5
Добавлено: 21.10.05 02:20
Имхо, GetForegroundWindow надо

Ответить

Номер ответа: 6
Автор ответа:
 Barsik



Разработчик Offline Client

ICQ: 343368641 

Вопросов: 17
Ответов: 686
 Web-сайт: barsik.newmail.ru
 Профиль | | #6
Добавлено: 21.10.05 12:55
чуваки яж сказал, что при клике в трее, активным становится трей (


похоже придется сабклассить форму...

пс. читайте внимательно вопрос.

Ответить

Номер ответа: 7
Автор ответа:
 Barsik



Разработчик Offline Client

ICQ: 343368641 

Вопросов: 17
Ответов: 686
 Web-сайт: barsik.newmail.ru
 Профиль | | #7
Добавлено: 21.10.05 22:21
ну че чуваки никто не знает?

Ответить

Номер ответа: 8
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #8 Добавлено: 21.10.05 22:38
Слышь чувак этот вопрос много раз рассматривался. Еще в учебнике по VB5. Гугл тебе поможет, на крайняк рамблер или яндекс. Ключевая фраза - туды к часикам, или - как свернуть программу в трей.

Ответить

Номер ответа: 9
Автор ответа:
 Barsik



Разработчик Offline Client

ICQ: 343368641 

Вопросов: 17
Ответов: 686
 Web-сайт: barsik.newmail.ru
 Профиль | | #9
Добавлено: 21.10.05 23:28
я же четко написал что мне нужно!
все бы ничего да есть одна загвоздка с определение активности формы. когда выполняю код с формы, то все работает, но когда все это делаю с трея, нифига. а дело-то вот в чем. когда кликаю на иконку в трее, активным ведь становится трей :(.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам