Delphi zasobnik systemowy

0

witam!!

Jak mogę dodać ikonę programu do zasobnika systemowego i dodać do niego akcje po naciśnięciu go jedno i dwu krotnie??

Z góry dziękuję za pomoc.

0

No wiedziałem, że coś takiego istnieje, tylko nie umiałem tego znaleźć!! :D
Dziękuję

0

No tak, w końcu wpisanie delphi system tray zwraca artykuły zupełnie nie na temat, w których tego w ogóle nie ma...

0
Elhatron napisał(a):

No wiedziałem, że coś takiego istnieje, tylko nie umiałem tego znaleźć!! :D
Dziękuję

Pewnie przy postowaniu pomagali ci rodzice? ...

Patryk27 napisał(a):

No tak, w końcu wpisanie delphi system tray zwraca artykuły zupełnie nie na temat, w których tego w ogóle nie ma...

Może on po prostu jego rodzice adresu wyszukiwarki nie znają?

0

No ja ich przynajmniej mam i mogę na nich zawsze i w każdej sytuacji liczyć - nawet takiej :) Serdecznie cię pozdrawiam :)

Również posiadam rodziców i również mogę na nich polegać ale w takich przypadkach akurat pomocy ani rodziców ani na forum nie potrzebuję.

Podejrzewam, że nie wiedział, że to się tray nazywa. Taką przynajmniej mam nadzieję

http://translate.google.pl/#pl/en/zasobnik%20systemowy

0

Już dobra - niech wam będzie. Znalazłem co innego i to nawet bez rodziców. Właściwie to zadałem to pytanie tutaj tylko dlatego, że to będzie jakaś krótka formułka, ale jednak się myliłem i jest tego troszeczkę więcej ale i tak dziękuję nawet za tą zrąbkę lekką bo to też samo z siebie coś dało ;)

1
Elhatron napisał(a)

Już dobra - niech wam będzie. Znalazłem co innego i to nawet bez rodziców.

No perełka :D


Wracając do tematu - jeżeli nie chcesz zbyt wiele pisać to polecam środowisko <url=www.lazarus.freepascal.org>Lazarus</url> - w zakładce Additional masz kontrolkę klasy TTrayIcon - kładziesz na formularz i ustawiasz interesujące Cię właściwości; Przy niewielkim nakładzie pracy można osiągnąć całkiem ciekawy efekt:

MyTrayIcon.png

gdzie ikonkę inwalidy wybrałem sam; Wystarczyło poświęcić minutę i gotowe; Do tego jest szereg zdarzeń, które pozwalają przystosować aplikację do interakcji z zasobnikiem;


Już mnie jakiś matoł zaminusował... Za co? Za to, że polecam Lazarus'a jako środowisko na aktualnym poziomie czy za to, że neguję odkrywanie koła od nowa?! Po to są gotowe kontrolki żeby z nich korzystać (czy TEdit też ktoś pisze od nowa, czy wstawia z palety...?!), a 10-letni kompilator to już nie jest najlepsze rozwiązanie; Dżizas, buduj tu człowieku reputację.....

0

Przez to, że poszukałem udało mi się pożądany efekt osiągnąć. Klikam sobie prawym w zasobniku i mi wyskakuje popup, ale nie znika aż czegoś na nim nie kliknę :D

0

Jak się komuś nie chce pisać obsługi tray'a samemu to w starszych wersjach Delphi można doinstalować komponent CoolTrayIcon http://www.torry.net/pages.php?id=245 lub jakiś inny ale tego używałem i byłem zadowolony więc polecam, natomiast nowsze Delphi posiadają komponent TTrayIcon.

0
Elhatron napisał(a)

Klikam sobie prawym w zasobniku i mi wyskakuje popup, ale nie znika aż czegoś na nim nie kliknę :D

Nie wiem czy Cię to zdziwi, ale to jest normalne zachowanie PopUp'owych menu... :P

Nie zrozumiałem co napisałeś... U mnie tak się czasem dzieje, nie zlokalizowałem jeszcze problemu, ale myślę, że to coś z systemem, bo normalnie PopUp'y znikają, jednak czasem zostają aż właśnie czegoś nie kliknę, a deaktywacja kliknięciem obok menu nic nie daje; Być może sam popełniłeś gdzieś błąd, ale dopóki kodu nie pokażesz to nie można jasno stwierdzić gdzie siedzi bug; Lepszym rozwiązaniem będzie skorzystanie z gotowego komponentu - podałem niżej plik ze źródłem;

Ten komponent z lazarusa przetestowałem i działa jak należy, ma kilka ciekawych właściwości i zdarzeń, tak więc polecam;

kAzek napisał(a)

Jak się komuś nie chce pisać obsługi tray'a samemu to w starszych wersjach Delphi można doinstalować komponent CoolTrayIcon [...]

Bawiłem się nim przez chwilkę jakieś dwa lata temu i też byłem z niego zadowolony;

Załączam także źródła kontrolki TCoolTrayIcon, w której znajdziesz nie tylko moduł z kodem klasy, ale także pliki przykładowej aplikacji do skompilowania (pod Delphi 7) oraz opis danej wersji kontrolki (tu: wersja 2.2.2);


Jeśli interesuje Cię najnowsza wersja tego komponentu (4.4.0) to skorzystaj z linku jaki podał @kAzek;

0
Elhatron napisał(a):

Przez to, że poszukałem udało mi się pożądany efekt osiągnąć. Klikam sobie prawym w zasobniku i mi wyskakuje popup, ale nie znika aż czegoś na nim nie kliknę :D

Nie wiem jak robisz (alebo nie napisałeś albo ja sie gdzieś zgubiłem) ale przed wywołaniem popupa trzeba użyć SetForegroundWindow czyli powinno być coś takiego:

  WM_RBUTTONDOWN:
    begin
      SetForegroundWindow(Handle);
      GetCursorPos(p);
      PopupMenu1.Popup(p.X, p.Y);
    end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1