[Delphi] Zmienic ikone w Tray'u

[Delphi] Zmienic ikone w Tray'u
0

Hey

Po uruchomieniu mam sobie ikone w Tray'u (wykozystuje tutaj komponent CoolTrayIcon), jak zrobic cos takiego aby po jakims warunku ikona zmienila sie na inna ?

np If i:=0 then zmien ikone

ZI
  • Rejestracja:około 23 lata
  • Ostatnio:ponad 21 lat
0

cooltrayicon1.icon.loadformfile('ikona.ico'); i chyba juz

Hex
  • Rejestracja:ponad 22 lata
  • Ostatnio:około 12 lat
  • Postów:181
0

cooltrayicon1.icon.loadformfile('ikona.ico');

tez mi sie to przydalo ;]

0

Niewiem moze cos zle zrobilem ale do przycisku dodalem ten ponizszy kod i cos nie dziala, nie pokazuje sie ikona w Tray'u.

cooltrayicon1.icon.loadfromfile('d:\2.ico')

Dlaczego ?

Moze jest jakis inny sposob zaladowania ikony do Tray'a ? [???]

Ktos
Moderator
  • Rejestracja:prawie 23 lata
  • Ostatnio:4 minuty
0

a czy IconVisible jest true? może wpisałeś złą ścieżkę dostępu?

0

No to ja juz nic niewiem ! [???]

Icon Visible jest na true, sciezka jest dobra a i tak nie dziala

Nie mam pojecia co jest nie tak

W0
  • Rejestracja:ponad 22 lata
  • Ostatnio:około 14 lat
  • Postów:384
0

Może trzeba odświerzyć ?

0

Odswierzyc hmmmm tylko w jaki sposob ???

Ja mam Win2000 moze to pod 2000 nie dziala ? [???]

Lukasz Kula
  • Rejestracja:ponad 22 lata
  • Ostatnio:prawie 22 lata
0

Może musi być tak?
d\:2.ico
[???]

albo ikonka jest jakaś nieprawidłowa?
dla pewności można ją przekonwerterować jeszcze raz na .ico
[np. programem Irfan View.]

P.S.Też mam Windows 2000 i podobne sztuczki u mnie chodzą...
(ale używam RxTrayIcon-przy okazji polecam.Ten komponent czasem może okazać się lepszy w takiej sytuacji...)

DR
  • Rejestracja:ponad 22 lata
  • Ostatnio:ponad 6 lat
  • Postów:683
0

nielepiej do zasobów dać np ICO1 ICO2 ICO3 ICO4 ... ICO10 i w pętli pobierać handle funckcją loadicon? for i:=1 to 10 do cooltrayicon1.icon:=loadicon(hinstance,pchar('ICO'+inttostr(i))); niewiem czy loadicon ma pchar na końcu..

OnoMaTO
  • Rejestracja:prawie 23 lata
  • Ostatnio:około 21 lat
  • Postów:74
0

If i:=0 then zmien ikone</quote>

po pierwsze taka pętla nie będzie działać...bo powinno być if i=0 then dalej;, a po drugie widze że popełniasz dużo błędów, skoro używasz CoolTrayIcon to tam jest opcja że możesz dodać ikony z ImageList, więc co Cię powstrzymuje, ładujesz ikony do ImageList i później jak będziesz chciał wykorzystać któraś z nich to: Cooltrayicon1.IconIndex:=1; i teraz będzie działać!!!


A na dramacie skorzysta od tabu specjalistka, mocno zaanga
TheChoseN
  • Rejestracja:prawie 23 lata
  • Ostatnio:prawie 16 lat
  • Postów:46
0

nielepiej do zasobów dać np ICO1 ICO2 ICO3 ICO4 ... ICO10 i w pętli pobierać handle funckcją loadicon? for i:=1 to 10 do cooltrayicon1.icon:=loadicon(hinstance,pchar('ICO'+inttostr(i))); niewiem czy loadicon ma pchar na końcu..

a nie mozna prosciej?
Do ImageList dodajesz ikony a nastepnie:
ImageList1.GetIcon(0{tu numer ikony}, CoolTrayIcon1.Icon);

Ja tak robie i to działa...


[ Delphi... i wszystko jasne ]
LE
  • Rejestracja:ponad 16 lat
  • Ostatnio:ponad 3 lata
  • Postów:232
0

TheChoseN nie jest to prosciej poniewaz dodatkowo nieporzebnie obciąza aplikacje (oczywiesice w minimalnym stopniu ale zawsze trzeba robić jak najlepiej :) )

co do tematu wystarczy ZAPEWNE kod:

Kopiuj
iconVisible := false; // czy tak tam jest, jak jest enabled, czy show
cooltrayicon1.icon.loadfromfile('d:\2.ico')
iconvisible := true

i bankowo bydzie dzialac :)

olesio
  • Rejestracja:około 17 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Szczecin
  • Postów:4191
0

Jakoś nigdy nie musiałem używać CollTrayIcon, bo do tego celu wystarczał mi stary komponent TrayIcon,
który działał jeszcze pod Delphi 3, a może nawet wcześniej. Ale jak podejrzewam - we wszystkich takich
komponentach Ikonka będzie typu TIcon, więc można ją załadować na przykład w taki sposób. Plik *.tc:

Kopiuj
zzz_ikona1 ICON "czerwona.ico"

Fragment programu napisanego jeszcze pod Delphi 3, który pinguje podany adres IP lub hosta i w razie
gdy ten nie odpowiada wyświetla ikonkę czerwoną, jeżeli działa - zieloną, a gdy IP jest nieprawidłowe - żółta.

Kopiuj
procedure TMainForm.WczytajCzerwonaIkone;
var
  Ikonka: TIcon;
  ResName: PChar;
begin
  KtoraIkonka := 1;
  ResName := 'zzz_ikona1';
  Ikonka := TIcon.Create;
  Ikonka.Handle := LoadIcon(HINSTANCE, ResName);
  TrayIcon.ToolTip := 'Adres do pingowania nie odpowiada!';
  TrayIcon.Icon := Ikonka;
  Ikonka.Free;
end;

Nazwa zasoby dlatego jest w takim stylu, bo zauważyłem, że jeżeli do zasobów w Delphi dodamy ikonę o nazwie
zasobuy na przykład Ikonka1, to jest ona alfabetycznie przed standardową ikoną o nazwie zasoby MainIcon, no i
wtedy taka ikonka wyświetla się w widoku Ekspolratora czy jakiegoś managera plików jako ta domyślna właśnie ;/

// heeej! ten temat jest sprzed 6 lat! - Ktos


Pozdrawiam.
0

A nie lepiej tak?:

Kopiuj
CoolTrayIcon1.IconList := ImageList1;

Gdzie w ImageList1 jest Twoa ikonka

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)