|
|
|
Вопросик по Tray
|
|||
|---|---|---|---|
|
#18+
Подскажите кто знает как вообще делается так чтобы программа работала в трее. Какие есть компоненты для этого если есть у кого скинте буду признателен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2005, 12:39:02 |
|
||
|
Вопросик по Tray
|
|||
|---|---|---|---|
|
#18+
Нажми поиск -> tray ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2005, 13:27:03 |
|
||
|
Вопросик по Tray
|
|||
|---|---|---|---|
|
#18+
Лучше использовать апишную функцию Shell_NotifyIcon. Именно она добавляет/удаляет иконку в системный трей ... _______________________________ нет ничего невозможного ... :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2005, 13:54:26 |
|
||
|
Вопросик по Tray
|
|||
|---|---|---|---|
|
#18+
А вообще советую почитать ARI-guide, найдешь много интересного и про трей тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2005, 16:34:40 |
|
||
|
Вопросик по Tray
|
|||
|---|---|---|---|
|
#18+
В модуль 'трей Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean Private Const NIM_ADD = &H0 Private Const NIM_MODIFY = &H1 Private Const NIM_DELETE = &H2 Private Const WM_MOUSEMOVE = &H200 Private Const NIF_MESSAGE = &H1 Private Const NIF_ICON = &H2 Private Const NIF_TIP = &H4 Private Const WM_LBUTTONDBLCLK = &H203 Private Const WM_LBUTTONDOWN = &H201 Private Const WM_LBUTTONUP = &H202 Private Const WM_RBUTTONDBLCLK = &H206 Private Const WM_RBUTTONDOWN = &H204 Private Const WM_RBUTTONUP = &H205 Private Type NOTIFYICONDATA cbSize As Long hwnd As Long uId As Long uFlags As Long ucallbackMessage As Long hIcon As Long szTip As String * 64 End Type Dim theForm As NOTIFYICONDATA 'трей Private Declare Function ShellExecute& Lib "shell32.dll" _ Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal _ lpOperation As String, ByVal lpFile As String, ByVal _ lpParameters As String, ByVal lpDirectory As String, _ ByVal nShowCmd As Long) Private Declare Function GetDesktopWindow Lib "user32" _ () As Long Const SW_SHOWNORMAL = 1 форм лоад 'трей начало Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 2 ' запись размера структуры theForm.cbSize = Len(theForm) ' Установка хедера иконки theForm.hwnd = picNotifier.hwnd theForm.hIcon = Me.Icon theForm.uId = 1& 'Установка Флажков 'в данном случие показывать иконку, ' отображать TOOLTIP ' передовать события в форму theForm.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE 'Источник событий мышка theForm.ucallbackMessage = WM_MOUSEMOVE 'Строка тултипа theForm.szTip = "WinRouteMonitor" & Chr$(0) Shell_NotifyIcon NIM_ADD, theForm Me.Hide App.TaskVisible = False 'трей конец Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) ' We also need to remove it when the program ' is ended. ' Change theForm's cbSize to theForm's length. theForm.cbSize = Len(theForm) ' Change theForm's hWnd to picNotifier's hWnd. theForm.hwnd = picNotifier.hwnd ' Change theForm's uId to 1&. theForm.uId = 1& ' Remove it from the TaskBar. Shell_NotifyIcon NIM_DELETE, theForm End Sub Private Sub picNotifier_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) 'Обработка событий Static Rec As Boolean, Msg As Long Msg = X / Screen.TwipsPerPixelX If Rec = False Then ' Чтоб не повторять Запуск Rec = True Select Case Msg 'Если DoubleClick Case WM_LBUTTONDBLCLK: 'conMinimized = 0 Me.Show WindowState = 0 conMinimized = 0 'Me.Visible = True 'Если левая Кнопка нажата Case WM_LBUTTONDOWN: 'Если левая Кнопка Отжата Case WM_LBUTTONUP: 'Правая кнопка Click Case WM_RBUTTONDBLCLK: 'Если Правая Кнопка нажата Case WM_RBUTTONDOWN: 'Если Правая Кнопка Отжата Case WM_RBUTTONUP: PopupMenu mnuPopMenu End Select Rec = False End If End Sub Public Sub Modify() - смена иконки Dim ret As Long 'заполняем структурку 'Me.Icon = LoadPicture(App.Path & "\1.ico") Me.Icon = Me.Image1.DragIcon theForm.hIcon = Me.Icon theForm.szTip = "WinRouteMonitor" & Chr$(0) theForm.uFlags = NIF_TIP + NIF_ICON theForm.cbSize = Len(theForm) 'вызываем функцию API ret = Shell_NotifyIcon(NIM_MODIFY, theForm) End Sub И больше не задовай этот вопрос . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2005, 06:13:32 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33146330&tid=2167528]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
78ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 365ms |

| 0 / 0 |
