| |
|
|
- page 1 - |
|
Nico Madysa | j'ai un kleines Problem avec TrayIcos et Kontextmenüs, welches je anhand des folgenden Quelltextes aufzeigen veux: KompilierenMarqueSéparation'Fenster und TrayIcon erzeugen
cls
var hIcon& = Create("hIcon","Profan")
TrayIcon("Add", %hWnd, 1, hIcon&, "TrayIcon 11")
var sw% = 0
'Hauptschleife
var e% = 0
whilenot e%
waitinput
if IsKey(27)
e% = 1
elseif (GetActiveWindow() = %hWnd) and (%MouseKey = 2)
'Rechtsklick ins Hauptfenster
'Abbruch des Menüs durch beliebigen Klick
Menu
elseif TrayIcon("Msg", 1) = $204
'Rechtsklick auf dem TrayIcon
'Abbruch des Menüs NUR durch Klick ins Hauptfenster
Menu
endif
wend
'Beenden
TrayIcon("Delete", %hWnd, 1)
DeleteObject hIcon&
end
proc Menu
CreateMenu
AppendMenu 100,"Fenster anzeigen/verbergen"
Separator
AppendMenu 999,"Beenden"
'Programm beenden
case TrackMenu() = 999 : e% = 1'Beenden
'Hauptfenster toggeln
case %MenuItem = 100 : sw% = ShowWindow(%hWnd,sw%)
endproc
si je cela Kontextmenü avec einem Droit aufrufe, mais vers alle Logik NICHTS auswählen veux, reicht es normalement, irgendwohin trop klicken, avec cela cela Kontextmenü wieder verschwindet.
Problem cependant: si cela Kontextmenü par den TrayIcon erzeugt worden ist, reicht zum Verschwindenlassen ne...aucune beliebiger Klick, mais il muss im Kontextmenü ou bien im Programmfenster avoir lieu.
cela wird zum Ärgernis, si, comme chez Benutzung eines TrayIcons possible ist, on gar ne...aucune sichtbares la fenêtre zur Disposition hat. ensuite hat qui Nutzer gar aucun autre l'élection, comme irgendeinen Punkt auszuwählen.
Gibt es pour irgendeinen Workaround ou bien peut es sich gar dauerhaft beheben?
Liebe Grüße,
Nico |
|
|
| |
|
|
|
« cette Beitrag wurde comme Solution gekennzeichnet. » |
|
Andreas Miethe
| Probiers la fois so KompilierenMarqueSéparation'Fenster und TrayIcon erzeugen
Windowstyle 26 + 512
CLS
Var hIcon& = Create("hIcon","Profan")
TrayIcon("Add", %hWnd, 1, hIcon&, "TrayIcon 11")
Var sw% = 0
'Hauptschleife
Var e% = 0
WhileNot e%
WaitInput
If IsKey(27) or (%Key = 2)
Ende()
ElseIf (GetActiveWindow() = %hWnd) and (%MouseKey = 2)
Menu()
ElseIf TrayIcon("Msg", 1) = $204
SetActiveWindow(%hWnd)
Menu()
Endif
EndWhile
End
Proc Ende
TrayIcon("Delete", %hWnd, 1)
DeleteObject hIcon&
End
Endproc
Proc Menu
CreateMenu
AppendMenu 100,"Fenster anzeigen/verbergen"
Separator
AppendMenu 999,"Beenden"
TrackMenu()
If %MenuItem = 100
Messagebox("Fenster verbergen","Hinweis",64)
ElseIf %MenuItem = 999
Ende()
EndIf
../funcion-referencias/XProfan/endproc/'>ENDPROC
|
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 23.03.2012 ▲ |
|
|
|
|
|
RGH | Salut, là qui Funktion Trackmenu() eh bien la fois wartet, jusqu'à un Menüpunkt gewählt wurde, gibt es keinen einfachen Workaround. de einem Klick ins Blaue bekommt cela XProfan-Programme rien avec.
une praktische Solution wäre, une Menüpunkt "Abbruch" ou bien "Menü schließen" einzufügen, avec cela qui entscheidungsschwache User ensuite aussi ungefährdet cela menu wieder sortir de peux.
Salut Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 23.03.2012 ▲ |
|
|
|
|
Andreas Miethe
| Probiers la fois so KompilierenMarqueSéparation'Fenster und TrayIcon erzeugen
Windowstyle 26 + 512
CLS
Var hIcon& = Create("hIcon","Profan")
TrayIcon("Add", %hWnd, 1, hIcon&, "TrayIcon 11")
Var sw% = 0
'Hauptschleife
Var e% = 0
WhileNot e%
WaitInput
If IsKey(27) or (%Key = 2)
Ende()
ElseIf (GetActiveWindow() = %hWnd) and (%MouseKey = 2)
Menu()
ElseIf TrayIcon("Msg", 1) = $204
SetActiveWindow(%hWnd)
Menu()
Endif
EndWhile
End
Proc Ende
TrayIcon("Delete", %hWnd, 1)
DeleteObject hIcon&
End
Endproc
Proc Menu
CreateMenu
AppendMenu 100,"Fenster anzeigen/verbergen"
Separator
AppendMenu 999,"Beenden"
TrackMenu()
If %MenuItem = 100
Messagebox("Fenster verbergen","Hinweis",64)
ElseIf %MenuItem = 999
Ende()
EndIf
../funcion-referencias/XProfan/endproc/'>ENDPROC
|
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 23.03.2012 ▲ |
|
|
|
|
Nico Madysa | Andreas Miethe (23.03.12)
Probiers la fois so KompilierenMarqueSéparation'Fenster und TrayIcon erzeugen
Windowstyle 26 + 512
CLS
Var hIcon& = Create("hIcon","Profan")
TrayIcon("Add", %hWnd, 1, hIcon&, "TrayIcon 11")
Var sw% = 0
'Hauptschleife
Var e% = 0
WhileNot e%
WaitInput
If IsKey(27) or (%Key = 2)
Ende()
ElseIf (GetActiveWindow() = %hWnd) and (%MouseKey = 2)
Menu()
ElseIf TrayIcon("Msg", 1) = $204
SetActiveWindow(%hWnd)
Menu()
Endif
EndWhile
End
Proc Ende
TrayIcon("Delete", %hWnd, 1)
DeleteObject hIcon&
End
Endproc
Proc Menu
CreateMenu
AppendMenu 100,"Fenster anzeigen/verbergen"
Separator
AppendMenu 999,"Beenden"
TrackMenu()
If %MenuItem = 100
Messagebox("Fenster verbergen","Hinweis",64)
ElseIf %MenuItem = 999
Ende()
EndIf
../funcion-referencias/XProfan/endproc/'>ENDPROC
une la ligne reicht, oui c'est ca so quoi habe je mir gewünscht! merci, Andreas! |
|
|
| |
|
|