Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Иконка в трее под win2k Добавлено: 21.05.03 05:52  

Автор вопроса:  Padre  | Web-сайт: localhost | ICQ: 346632205 
Добавляю 256-цветную иконку в трей под ХР - всё роботает отлично, а под 2000 винды иконка становится 16-цветной. Можно ли это как-то исправить?

Ответить

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

Номер ответа: 1
Автор ответа:
 ZeroX



ICQ: 220401330 

Вопросов: 47
Ответов: 406
 Профиль | | #1 Добавлено: 21.05.03 11:16

На сколько я знаю нельзя По моему эта проблема самой виндовс. Если найдешь как решить эту проблему, большая просьба поделиться

Ответить

Номер ответа: 2
Автор ответа:
 Миха



ICQ: 394243 

Вопросов: 20
Ответов: 151
 Web-сайт: www.visualbasic.boom.ru
 Профиль | | #2
Добавлено: 21.05.03 11:39
Я под 200 добавлял недавно все нормально,как именно ты добавлял (код)если хошь свой код дам)

Ответить

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



ICQ: 220401330 

Вопросов: 47
Ответов: 406
 Профиль | | #3 Добавлено: 21.05.03 11:49
Сбрось код на мыло пожалуйста

Ответить

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



ICQ: 346632205 

Вопросов: 25
Ответов: 215
 Web-сайт: localhost
 Профиль | | #4
Добавлено: 21.05.03 19:07

2 Миха сбрось мне код на мыло плиз, или здесь выложи, модет ещё кому пригодится

Ответить

Номер ответа: 5
Автор ответа:
 Миха



ICQ: 394243 

Вопросов: 20
Ответов: 151
 Web-сайт: www.visualbasic.boom.ru
 Профиль | | #5
Добавлено: 22.05.03 14:21

           Я пользуюсь этим кодом:
Public Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean

'Константы для добавления, удаления и модификации вашей икноки

Public Const NIM_ADD = 0
Public Const NIM_MODIFY = 1
Public Const NIM_DELETE = 2

'Константы ответственные за события происходящие внутри границ иконки,
' расположенной в Traybar
Public Const WM_MOUSEMOVE = &H200
Public Const NIF_MESSAGE = 1
Public Const NIF_ICON = 2
Public Const NIF_TIP = 4

'Константы ответственные за события поведения мышки происходящие внутри границ иконки,
' расположенной в Traybar

'Для левой клавиши мышки
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_LBUTTONUP = &H202
Public Const WM_LBUTTONDBLCLK = &H203
'Для  правой клавиши мышки
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_RBUTTONUP = &H205
Public Const WM_RBUTTONDBLCLK = &H206
'Для  средней клавиши мышки
Public Const WM_MBUTTONDOWN = &H207
Public Const WM_MBUTTONUP = &H208
Public Const WM_MBUTTONDBLCLK = &H209

'Объявляем переменную определяемую пользователем
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

'На форме в разделе General объявляем переменную определенную как тип пользователя
Dim nid As NOTIFYICONDATA

 

Использование:

На форме, в процедуру события  Form_MouseMove вставляем следующий код

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Dim msg As Long
Dim sFilter As String

msg = X / Screen.TwipsPerPixelX
Select Case msg
       Case WM_LBUTTONDOWN
       'Здесь можете вставить тот код который вы хотите.
       Case WM_LBUTTONUP
       'Здесь можете вставить тот код который вы хотите.
       Case WM_LBUTTONDBLCLK

       'Здесь можете вставить тот код который вы хотите.
       Case WM_RBUTTONDOWN
       'Здесь можете вставить тот код который вы хотите.
      'Например  PopupMenu
       Case WM_RBUTTONUP
       'Здесь можете вставить тот код который вы хотите.
       Case WM_RBUTTONDBLCLK
       'Здесь можете вставить тот код который вы хотите.
End Select

Для добавления, модификации или удаления иконки  применяются следующий код

' Добавить иконку формы в Traybar
nid.cbSize = Len(nid)
nid.hWnd = Form1.hWnd
nid.uId = vbNull
nid.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
nid.uCallBackMessage = WM_MOUSEMOVE
nid.hIcon = Form1.Icon
nid.szTip = "Test" & vbNullChar

Shell_NotifyIcon NIM_ADD, nid

' Изменить иконку и tooltip
nid.hIcon = Form1.Icon
nid.szTip = "New Icon" & vbNullChar
Shell_NotifyIcon NIM_MODIFY, nid

' Удалить иконку из Traybar , обычно вставляется в процедуру события Terminate (на форме)

Shell_NotifyIcon NIM_DELETE, nid
  Напиши результат...

Ответить

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



Вопросов: 10
Ответов: 109
 Профиль | | #6 Добавлено: 22.05.03 15:03

Под Вынь 2000 должно быть всё нормально.

Попробуй в настройках экрана цветовую палитру поизменять.

Поставь True Color (32 бита)

Ответить

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



ICQ: 220401330 

Вопросов: 47
Ответов: 406
 Профиль | | #7 Добавлено: 22.05.03 18:44
 Я не знаю в чем секрет, но код, которым я добавляю иконку точь в точь такой же

Ответить

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



ICQ: 346632205 

Вопросов: 25
Ответов: 215
 Web-сайт: localhost
 Профиль | | #8
Добавлено: 27.05.03 01:33
Код у меня такой же, но когда я делаю анимированную иконку в трее, то иконка становится 16-цветной

Ответить

Номер ответа: 9
Автор ответа:
 Миха



ICQ: 394243 

Вопросов: 20
Ответов: 151
 Web-сайт: www.visualbasic.boom.ru
 Профиль | | #9
Добавлено: 27.05.03 17:33
Как ты думаешь почему???? винды вроде одинаковые

Ответить

Номер ответа: 10
Автор ответа:
 Padre



ICQ: 346632205 

Вопросов: 25
Ответов: 215
 Web-сайт: localhost
 Профиль | | #10
Добавлено: 28.05.03 02:11
А чёрт их знает - те винды, ведь в ХР всё идёт отлично, а тут хоть застрелись - не хочет и всё

Ответить

Номер ответа: 11
Автор ответа:
 AASoft



Вопросов: 86
Ответов: 920
 Профиль | | #11 Добавлено: 28.05.03 03:16

magu podskazat`(vrode)

 

v obschem tak: v vinde sdelany iknonki kogda,tam special`naya palitra esr` v WinXP, tak i nazyvaetsya:WinXP.

tak vot esi kartinka pod nej sdelana,to v vindah to XP ne pojdet horoshij vash resunok.

 

p.s. ento tol`ko teoriya..........

Ответить

Страница: 1 |

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



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