Français
Bugs et vermeintliche

Kontextmenüs et TrayIcons

 
- 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
 
23.03.2012  
 



« 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!
 
23.03.2012  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

8.958 Views

Untitledvor 0 min.
E.T.06.03.2018
Peter Max Müller23.10.2017
Jörg Sellmeyer18.08.2017
Georg Teles15.02.2016
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie