Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: animowana ikona w trayu
deywid



Typ: neutral
Postów: 66
Zarejestrowany: Jan 2004
animowana ikona w trayu

ktos mi podpowie jak to zrobic..?
tzn.wiem ze ikona w trayu jest identyczna jak formy z  ktorej przechodzimy do traya.A na formie jak zrobie animowaną to w trayu wcale ona nie jest ,w dodatku wyskakuja bledy :/

[Post edytowany dnia 26-09-2004 14:45 przez deywid]

26-09-2004 14:45
Pokaż profil deywid  Wyślij email do deywid        5625009
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

A zmiana ikony w czasie działania programu nic nie daje?


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

26-09-2004 14:50
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
deywid



Typ: neutral
Postów: 66
Zarejestrowany: Jan 2004

no przeciez pisze ze jak zrobie anonimowaną,ta ktora jest przy formie to nie dziala...
zrobilem nawet animowane picturebox i chcialem podstawic jako ikone do traya,ale robi wowczas "niewidoczna ikone"
na ktore mozna kliknac ale nic nie widac

26-09-2004 15:24
Pokaż profil deywid  Wyślij email do deywid        5625009
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Możesz dać tutaj fragment tego kodu, który używasz?


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

26-09-2004 17:28
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
deywid



Typ: neutral
Postów: 66
Zarejestrowany: Jan 2004

Timer2.Interval = 2000

Private Sub Timer2_Timer()
Static i As Integer
i = i + 1
If i = 1 Then TrayIcon.hIcon = Form1.Picture1.Picture
If i = 2 Then TrayIcon.hIcon = Form1.Picture2.Picture
If i = 2 Then i = 0
End Sub
=================
to niestety nie dziala
probowalem w podobny sposob tylko ze z ikona formy
Icon=Form1.Picture1.Picture
icon=Form1.Picture2.Picture
tez w tajmerze
ale widac zmiane ikony tylko w pasku formy a nie w trayu kolo zegara
jak dam TrayIcon.hIcon =Me.icon to powinien pobierac ta ikone a nie pobiera
pomocy!!!

[Post edytowany dnia 26-09-2004 19:30 przez deywid]

26-09-2004 19:29
Pokaż profil deywid  Wyślij email do deywid        5625009
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Co to jest TrayIcon?

Aha! I spróbuj zamiast .Picture dać .Picture.Hangle , bo mam wrażenie, że niezależnie od tego co to jest - wymaga uchwytu do bitmapy, a nie obiektu.

[Post edytowany dnia 26-09-2004 20:00 przez marcin_an]


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

26-09-2004 19:57
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
deywid



Typ: neutral
Postów: 66
Zarejestrowany: Jan 2004

With TrayIcon
.cbSize = Len(TrayIcon)
.hwnd = picTrayObject.hwnd
.uId = 1&
.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
.ucallbackMessage = WM_MOUSEMOVE
.hIcon = Me.Icon 'Ikona formularza
.szTip = "Stat mail"
End With
==============
to jest kawalek kodu
jakos przeciez trzeba bylo Traya zrobic
na VB4all sa przeciez rozne przyklady

heh...ale to ja tutaj pytalem
a trayicon-ikona wyswietlana w trayu

[Post edytowany dnia 26-09-2004 20:01 przez deywid]

26-09-2004 20:01
Pokaż profil deywid  Wyślij email do deywid        5625009
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Nie zrozumieliśmy się...
Pytam CO TO JEST ten TrayIcon, więc napisz CO TO JEST, a nie dawaj mi fragment kodu z przypisywaniem wartości do właściwości .


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

26-09-2004 21:17
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
m-a-x



Typ: neutral
Postów: 366
Zarejestrowany: Jan 2003

Wydaje mi sie że problem leży w tym iż ikonka w trayu nie jest odświerzana po zmienieniu obrazka w picturebox'ie czy ikonki na formie (tzn zależnie jakie źródło tej ikonki ustawimy na pozcątku - podczas tworzenia)

Nie wiem czy tworzysz tą ikonke za pomocą jakiejś kontrolki czy api. Ja kożystam zawsze (o ile moge) z własnego kodu - nie dodaje żadnych komponentów do programu - wiec wykożystuje api. Z fragmentu kodu który zamieściłeś wnioskuje że TrayIcon jest typu NOTIFYICONDATA:

Private Type NOTIFYICONDATA
    cbSize As Long              'rozmiar
    hWnd As Long                'uchwyt
    uId As Long                'numer identyfikacyjny
    uFlags As Long              'flagi
    ucallbackMessage As Long    'zwracany komunikat
    hIcon As Long              'ikonka
    szTip As String * 64        'tekst podpowiedzi = 64 znaki
End Type


po przypisaniu do typu TrayIcon tych właściwości które podałeś i wywołaniu api:

Shell_NotifyIcon NIM_ADD, TrayIcon

Tworzy się ikonka w trayu. Natomiast gdy chcesz zmienić ikonke a tym samym gdy zmieniła się ikonka formy musisz wywołać tą samą funkcję ale z innym argumentem czyli:


TrayIcon.hIcon = Me.Icon
Shell_NotifyIcon NIM_MODIFY, TrayIcon


przy czym:

Private Const NIM_ADD = &H0        'dodawanie ikonki
Private Const NIM_MODIFY = &H1      'modyfikowanie


Powinno działas choć tego teraz nie testowałem


_____________________________________________

Problemem zazwyczaj nie jest brak osób znających odpowiedź a zadanie właściwego pytania!

27-09-2004 01:13
Pokaż profil m-a-x  Wyślij email do m-a-x   
deywid



Typ: neutral
Postów: 66
Zarejestrowany: Jan 2004

nie wiem,probowalem roznych rzeczy z tego co pisales m-a-x ale nie da rady... nie dziala juz nie mam sily...

28-09-2004 15:49
Pokaż profil deywid  Wyślij email do deywid        5625009
m-a-x



Typ: neutral
Postów: 366
Zarejestrowany: Jan 2003

czyli probowałeś tak?:

Private Sub Timer2_Timer()
Static i As Integer
i = i + 1
If i = 1 Then
  TrayIcon.hIcon = Form1.Picture1.Picture
  Shell_NotifyIcon NIM_MODIFY, TrayIcon
elseIf i = 2 Then
  TrayIcon.hIcon = Form1.Picture2.Picture
  Shell_NotifyIcon NIM_MODIFY, TrayIcon
end if
If i = 2 Then i = 0
End Sub


I kożystasz z api do tworzenia ikonki tak?


_____________________________________________

Problemem zazwyczaj nie jest brak osób znających odpowiedź a zadanie właściwego pytania!

29-09-2004 00:34
Pokaż profil m-a-x  Wyślij email do m-a-x   
deywid



Typ: neutral
Postów: 66
Zarejestrowany: Jan 2004

boosz.. rzeczywiscie
trzeba było tak odrazu zrobić.
wielkie dzęki m-a-x
pozdrawiam

29-09-2004 07:35
Pokaż profil deywid  Wyślij email do deywid        5625009
Wszystkich odpowiedzi: 11 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1