Seite 1 von 1

SysTray Menü

Verfasst: 26.02.2005 21:00
von JanFredi
Ist es möglich mit SysTray befehlen.

Auch beim klick mit der rechten Maustaste ein Menü zu erhalten?

(Tricksen ist erlaubt.)

Verfasst: 26.02.2005 22:27
von MVXA
Such mal in der Hilfe unter dem Punkt 'Menu' nach dem Befehl 'DisplayPopupMenu()'. Damit lassen sich Popup menüs machen. Maus position auf dem Screen dürftest du wohl noch ermitteln können ;).

Verfasst: 26.02.2005 22:41
von Leo

Code: Alles auswählen

GetCursorPos_(@MousePos.POINT)
Debug MousePos\X
Debug MousePos\Y

Code: Alles auswählen

*MousePos.POINT = AllocateMemory(SizeOf(POINT))
GetCursorPos_(*MousePos)
Debug PeekL(*MousePos)
Debug PeekL(*MousePos+4)

Code: Alles auswählen

*MousePos.POINT = AllocateMemory(SizeOf(POINT))
GetCursorPos_(*MousePos)
Debug *MousePos\X
Debug *MousePos\Y

Code: Alles auswählen

*MousePos.POINT = HeapAlloc_(GetProcessHeap_(),0,SizeOf(POINT))
GetCursorPos_(*MousePos)
Debug *MousePos\X
Debug *MousePos\Y
Falls er nich weiß, wie man die MausPosition ermittelt...........

Re: SysTray Menü

Verfasst: 27.02.2005 01:58
von Kiffi
JanFredi hat geschrieben:Ist es möglich mit SysTray befehlen.
Auch beim klick mit der rechten Maustaste ein Menü zu erhalten?
(Tricksen ist erlaubt.)
der Trick besteht darin, einfach mal in die PB-Hilfe zu schauen!

Nachfolgend ein Code, der aus den Codes von Systray-Kapitel und
CreatePopupMenu-Kapitel zusammengestellt worden ist.

Code: Alles auswählen

If OpenWindow(0, 100, 150, 300, 100, #PB_Window_SystemMenu | #PB_Window_Invisible, "PureBasic - SysTray Example")
  
  AddSysTrayIcon(1, WindowID(), LoadImage(0, "icon.ico"))
  
  If CreatePopupMenu(0)   
    MenuItem(1, "Open")   
    MenuItem(2, "Save")
    MenuItem(3, "Save as")
    MenuItem(4, "Quit")
  EndIf
  
  Repeat
    Event = WaitWindowEvent()
    Select Event
      Case #PB_Event_SysTray
        Select EventType() 
          Case #PB_EventType_RightClick
            DisplayPopupMenu(0,WindowID())  
        EndSelect
      Case #PB_Event_Menu
        Select EventMenuID()
          Case 4 ; Quit 
            Quit =1
        EndSelect
    EndSelect
  Until Quit = 1
EndIf 
Grüße ... Kiffi

Verfasst: 27.02.2005 02:03
von MVXA
Jetz hast du ihm den Spaß am selber programmieren genommen... :|

Verfasst: 27.02.2005 02:08
von Kiffi
MVXA hat geschrieben:Jetz hast du ihm den Spaß am selber programmieren
genommen... :|
nein, ich habe nur darauf hingewiesen, dass PB die von ihm gewünschten
Funktionalitäten bereits eingebaut hat. Dein Hinweis mit der Mausposition
hätte JanFredi auf eine falsche Fährte gelockt.

Grüße ... Kiffi

Verfasst: 27.02.2005 02:12
von ts-soft
> der Trick besteht darin, einfach mal in die PB-Hilfe zu schauen!
Ich dachte solche Tipps werden nur noch im Anfänger-Forum gegeben :lol:

Verfasst: 27.02.2005 02:18
von Kiffi
> Ich dachte solche Tipps werden nur noch im Anfänger-Forum gegeben
> :lol:

in diesem Fall war ich mal gnädig ;)

Grüße ... Kiffi

Verfasst: 27.02.2005 08:30
von JanFredi
Mann muss erst mal darauf kommen ein Popup Menü zu erstellen.
Danke an alle Tüftler.

:bounce: :bounce: :bounce: :bounce: :bounce: :bounce:

Verfasst: 19.06.2005 09:14
von JanFredi
Super jetzt geht alles so wis gehen soll.