AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi 2 Menüs bei Rechtsklick auf TrayIcon
Thema durchsuchen
Ansicht
Themen-Optionen

2 Menüs bei Rechtsklick auf TrayIcon

Ein Thema von Mazel · begonnen am 10. Mär 2007 · letzter Beitrag vom 10. Mär 2007
Antwort Antwort
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#1

2 Menüs bei Rechtsklick auf TrayIcon

  Alt 10. Mär 2007, 09:26
Guten Morgen,

ich habe bei mir mit meinem TrayIcon ein, nicht gerade großes aber dennoch nicht schönes, Problem. Ich lege mein Programm in der TNA mit einem Icon ab, mein Programm hat ein Popup-Menu welches bei einem Rechtsklick erscheint. Nun ist es aber so, dass, obwohl ich ein Rechtsklick auf die Mitte des Icons setzte, nicht nur mein Popup-Menu erscheint, sondern auch das was sonst dort erscheinen soll, wenn man kein Rechtsklick auf das Icon setzt, sondern daneben.

Im Anhang habe ich ein Bild (A) zur Veranschaulichung.

Man könnte denken, dass mein Menu im Vordergrund ist, ist es aber nicht. Fahre ich mit der Maus drüber, so "verschmelzen" beide miteinander. Bild (B).

Ich nutzte zwar eine Komponente (CoolTrayIcon), aber ich habe es auch mit dem Code aus der Code-Lib versucht, jedoch mit dem selben Ergebnis.

Dieser Effekt kommt nicht immer aber wenn er kommt ist ein 2. Effekt zu sehen und zwar verschwindet das Menu nicht mehr, wenn man wo anders klickt, mann muss erst auf "Desktop anzeigen" klicken.


Hat jemand eine Lösung oder den selben Effekt gehabt und nun wegbekommen?

Gruß
Mazel
Miniaturansicht angehängter Grafiken
2_menus_b_198.jpg   2_menus_a_198.jpg  
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#2

Re: 2 Menüs bei Rechtsklick auf TrayIcon

  Alt 10. Mär 2007, 09:57
Poste mal ein bischen Code um zu sehen wie du dein Trayicon ablegst, vieleicht liegt da der Fehler. Ohne Code läßt sich das schwer sagen.
Matthias
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: 2 Menüs bei Rechtsklick auf TrayIcon

  Alt 10. Mär 2007, 09:57
Nutze zum Anzeigen des Popupmnüs das Loslassen der Maustaste und nicht das Drücken.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#4

Re: 2 Menüs bei Rechtsklick auf TrayIcon

  Alt 10. Mär 2007, 12:23
Ok erstmal hier der schon abgeänderte Code:
Delphi-Quellcode:
{--[WndProc]-------------------------------------------------------------------}

procedure TMain.WndProc(var Msg: TMessage);
var
 Point: TPoint;

begin
 If Msg.Msg = WM_USER + 20 then
  begin
   case Msg.LParam of
    WM_RBUTTONUP: // vorher WM_RBUTTONDOWN
     begin
      SetForegroundWindow(Handle);
      GetCursorPos(Point);
      Popup.PopUp(Point.X, Point.Y);
     end;
   end;
  end;
 inherited;
end;
@Luckie: Es scheint zu funktionieren, nach mehrfachen Tests ist der Effekt nicht wieder aufgetreten.

Wie bist du auf die Idee gekommen das Popup beim Loslassen anzuzeigen? Welcher Grund steckt dahinter?

Mfg
Mazel
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#5

Re: 2 Menüs bei Rechtsklick auf TrayIcon

  Alt 10. Mär 2007, 13:39
Grundlegend sollte die Click Aktion auf eine Maustaste erst erfolgen, wenn diese losgelassen wird. Der Benutzer kann sich beim verklicken oder sonstigen Aktionen immernoch überlegen, ob er die Aktion ausführen will. Beispiel: Ein Button (z.B. ShowMessage/MessageDlg): Drück den Button, fahr mit der Maus ausserhalb des Buttons und lasse los. Die Aktion wird nicht ausgelöst.
  Mit Zitat antworten Zitat
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#6

Re: 2 Menüs bei Rechtsklick auf TrayIcon

  Alt 10. Mär 2007, 15:21
Stimmt, das ist ein einleuchtendes Beispiel.

Danke.
Marcel Jänicke
www.mj-software.net
  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 20:52 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