AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TNA MouseOver

Ein Thema von devnull · begonnen am 17. Nov 2003 · letzter Beitrag vom 17. Nov 2003
Antwort Antwort
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#1

TNA MouseOver

  Alt 17. Nov 2003, 22:58
Hi,

ich hab aus einem anderen Thread "einfach" den Source zur Minimierung in die Tray-Leiste kopiert.
Tja, das Minimieren geht, aber sobald ich mit der Maus über mein Symbol fahre, verschwindet dieses auf 'wundersame' Weise !

Kann mir da einer helfen ???


devnull
-- Never change a running system --
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: TNA MouseOver

  Alt 17. Nov 2003, 23:03
Das passiert normalerweise, wenn das Icon registriert, aber nie wieder freigegeben wird. Durch das Drüberfahren mit der Maus wird Windows dazu gebracht, nachzukucken, ob das Fenster, das das Icon registriert hat, noch existiert. Ist das nicht der Fall, wird das Icon entfernt.
Existiert das Fenster zu dem Zeitpunkt noch? Wenn ja, dann zeig mal Code, vielleicht sieht man so, worans liegt.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#3

Re: TNA MouseOver

  Alt 17. Nov 2003, 23:08
Ich hab vor dem Aufruf einfach die Form 'unsichtbar' gemacht !

Delphi-Quellcode:
          Form1.Visible := false;
          Form1.FormStyle := fsNormal;
          Form1.IconData.cbSize := SizeOf(Form1.IconData);
          Form1.IconData.Wnd := Handle;
          Form1.IconData.uID := 100;
          Form1.IconData.uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
          Form1.IconData.uCallBackMessage := WM_USER + 20;
          Form1.IconData.hIcon := Application.Icon.Handle;
          Form1.IconData.szTip := 'Anwendung';
          Shell_NotifyIcon(NIM_ADD, @Form1.IconData);
Ich hoffe das reicht.


devnull
-- Never change a running system --
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

Re: TNA MouseOver

  Alt 17. Nov 2003, 23:15
Wie gesagt, hab's schon lange nicht mehr genutzt.

Aber in meiner alten Demo wird das so gemacht:
Delphi-Quellcode:
Procedure TUhrFormular.erstelleIcon(I: TIcon; ID: Integer; Hint: String);
  Var D: TNotifyIconData;
  Begin
    D.cbSize := SizeOf(D);
    D.Wnd := Handle;
    D.uID := ID;
    D.uCallbackMessage := MSG_IconCallBack;
    D.HIcon := I.Handle;
    StrCopy(D.szTip, PChar(Hint));
    D.uFlags := NIF_Message or NIF_Icon or NIF_Tip;
    Shell_NotifyIcon(NIM_Add, @D);
  End;


IconAus := TIcon.Create; IconEin.LoadFromFile('System_TaskleisteDoppelstart_IconAus.ico');
erstelleIcon(IconAus, 0, 'Alarm einschalten');
Angehängte Dateien
Dateityp: exe tna_ds.exe (63,7 KB, 26x aufgerufen)
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#5

Re: TNA MouseOver

  Alt 17. Nov 2003, 23:21
danke himitsu, habs dank deinem beispiel auch endlich geschafft, ein icon in die taskleiste zu bringen, das nich gleich wieder verschwindet


devnull
-- Never change a running system --
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz