Klick und Doppelklick Button

  • Hallo ssnweb,


    ne,ne ich bin in keinster Weise sauer! Warum auch?


    Mit "Koord-Server im Hintergrund" meinte ich, dass man den Servermodus nicht beendet, denn die Höhenanzeige soll ja weiterlaufen, sondern während der Laufzeit zusätzliche Fenster (=Buttons) anfordert. Ob das über einen GoPal-Button geht, müsste ich mir erst überlegen.


    Gruß,
    Stefan


    P.S. ich benutze den Reg-Editor von Pelles-C

  • Hier mal der Lösungsvorschlag von meiner Seite:
    korrigiert am 25.11.2008 nach ausführlichem Test.


    Der Button "Kartenfarben" wird folgendermaßen geändert:


    KartenfarbenButton // added by sokobana
    {
    Class: LauncherButton;
    Coordinates: 0,0,40,40; // 45,40,30,48;
    Enabled: 548,0,0,25,25,5,0;
    Pushed: 436,0,50,40,40,0,0;
    PYOffset: -1;
    BGMode: transparent;
    FocussedColor: 0,0,0,0;
    DisableFocus: yes;
    Wordbreak: yes;
    MoveBehaviour: vertical;
    launch: "$MortScript$nachtdesign.exe";
    //Action: MapMenu.presentation;
    }


    Da Du den Button an einer anderen Stelle plazierst, mußt Du noch die Koordinaten anpassen.
    Die Action muß raus, weil sie zwar für das Design, aber nicht für die Sonnenbrille gebraucht wird. Denn dieser Button soll ja dann für beide Funktionen genutzt werden.


    Aus der Gopal-Action mußt Du eine kompatible Zeile für MortScript basteln. Dazu nimmst Du den Befehl "SendSpecial".
    Damit der Befehl funktioniert, muß die Action "MapMenu.presentation" in der Datei PFSpecial.skn referenziert sein. Das ist sie im Vario 3 leider nicht. Du mußt die Zeile so ändern:
    GlobalHK: "F1@MapMenu.turntoggle,F2@MapMenu.leave,F3@MapMenu.stopRouteSimulation,F4@MapMenu.startRouteSimulation,F5@MapMenu.AutoZoom,F6@SettingSC.100,F7@SettingSC.101,F8@MapMenu.routeoptions,F9@MapMenu.3d,F10@MapMenu.presentation,F11@MapMenu.zoomIn,F12@MapMenu.zoomOut,,HK5@MainMenu.5,HK4@MapMenu.newdestination,SC_OUT@SystemHandling.StorageCardOut";


    wichtig: Dieser elendig lange Bandwurm muß ohne Leerzeichen in eine einzige Reihe (nicht wie hier unterbrochen!).
    Der SendSpecial-Befehl wird dann : SendSpecial ("F10";).


    F10 kann für die benötigte Action umbelegt werden. Siehe oben


    Insgesamt brauchst Du zwei neue Scripte dafür.
    1.) nachtdesign.mscr:
    # Copyright Sokobana / PrinzEmu


    # temporärer Marker für Doppelklick-Funktion
    If not ( RegValueExists ("HKCU", "Software\sokobana", "Button1Klick";))
    RegWriteString ("HKCU", "Software\sokobana", "Button1Klick", "1";)
    Run ("\My Flash Disk\Sokobana\MortScript\nachtdesign2.exe";)
    Endif


    und 2.) nachtdesign2.mscr:


    # Copyright Sokobana / PrinzEmu
    #
    # Kombi-Button: 1xKlick Sonnenbrille, 2xKLick Kartenfarben


    voldelay = RegRead ("HKCU","Software\sokobana", "VOLDELAY";)
    SetVolume ( voldelay )


    # --- Doppelklickabfrage --- sokobana -----------------------


    # --- erster Klick?
    If ( RegValueExists ("HKCU", "Software\sokobana", "Button1Klick";))
    RegDelete ("HKCU", "Software\sokobana", "Button1Klick";)


    # --- "lauschen" ob Doppelklick kommt. Hier knapp 1 Sekunde
    Sleep ( 800 )


    # --- zweiter Klick?
    If ( RegValueExists ("HKCU", "Software\sokobana", "Button1Klick";))
    RegDelete ("HKCU", "Software\sokobana", "Button1Klick";)


    # repariert Gopals "heimliche" 3D-Resets
    RegWriteDWord ("HKCU","Software\sokobana", "Map3D", 0)
    SendSpecial ("F10";)
    MouseClick ( 240, 60 )
    Sleep ( 300 )
    DESIGNx = ( RegRead ("HKCU","Software\3Soft\Pathfinder\MapConfig", ";Design";) )


    if ( DESIGNx = 3 )
    PlaySound ("\My Flash Disk\Sokobana\MortScript\tagansicht.wav";)
    MouseClick ( 10, 100 )
    Else
    PlaySound ("\My Flash Disk\Sokobana\MortScript\nachtansicht.wav";)
    Mouseclick ( 10, 148 )
    Endif


    SendSpecial ("F2";)


    # --- Sonnenbrille --- sokobana ----------------------
    Else
    Run ("\My Flash Disk\Sokobana\Koord2\koord465.exe", "include=\My Flash Disk\Sokobana\Koord2\sonnenbrille.txt";)
    Endif
    Endif


    SetVolume (255)


    Vergiß nicht für das neue Script noch eine exe anzulegen!
    Nun legst Du noch eine Include-Datei ins Verzeichnis Koord2 mit dem Namen sonnenbrille.txt:
    sonnenbrille=2 window=0 SendKey=\l\My Flash Disk\Sokobana\MortScript\sonnenbrille.exe| \0x70\0x71


    Das wars dann eigentlich schon...
    Beim Doppelklick darauf achten, dass die Klicks nicht zu kurz hintereinander, aber auch nicht länger als eine halbe Sekunde auseinander liegen.


    Im Moment finde ich die Doppelklick-Geschiche für Kartenfarbe und Sonnenbrille ganz chick. Ob ich das auch einbauen werde, entscheide ich nach längerem Test "on the road".


    Wenn es nicht klappt, fehlt was und Du meldest Dich dann einfach.
    Gruß sokobana



    PS: Dadurch, dass die Forum-Software hier immer niedliche Emoticons in die Scripte pflanzt, wird das ganze zwar zum "Bilderrätsel", aber ich hoffe, Du packst das ... ;D

    6 Mal editiert, zuletzt von sokobana ()

  • Hallo Sokobana,


    super, bei mir funktioniert der MobileRegistryEditor auch auf XP.
    Melde mich wieder, wenn ich nicht weiter weiß oder fertig bin.
    Wollte/sollte es ja "alleine" schaffen! ;D


    Also erstmal Danke!



    @Stefan DausR: hast Du mein KordServ-Problem erkannt? Weil ansonsten die Lklicks nicht oder nicht richtig funktionieren wenn meine Höhe auf "ON" ist und das ist Sie immer. Könntest Du das bitte noch mal Prüfen. :]


    Danke!


    Gruß
    ssnweb

    Einmal editiert, zuletzt von ssnweb ()

  • Zitat

    Original von sokobana
    PS: Dadurch, dass die Forum-Software hier immer niedliche Emoticons in die Scripte pflanzt, wird das ganze zwar zum "Bilderrätsel", aber ich hoffe, Du packst das ... ;D


    Was aber über <Optionen> für das aktuelle Posting deaktiviert werden kann! ;)

  • ... oder man nimmt für Codeausschnitte die passende Formatierung mit # (Code einfügen):


    [CODE]
    hier ist der Code
    und noch eine Zeile
    [/CODE]


    ergibt:

    Code
    hier ist der Code
    und noch eine Zeile


    Gruß,
    Stefan

  • Hey!
    Ich merke, dass ich beim Posten noch Anfänger bin. :D
    Danke für Tipps! :)


    Gruß sokobana

  • Hallo Sokobana,


    das ist mir so erst einmal viel zu kompliziert! ;D


    Im moment verfolge ich folgenden Weg:


    Ich erstelle einen neuen RegKey, der beim ersten Klick da ist und beim zweiten klick nicht mehr da ist (aktiv, deaktiv).


    Das sieht in etwa so aus:


    launch: "$KOORD_PFAD$";
    params: "window=0 RegKeyMode=2 RegKey=Software\sokobana,dblklick";


    und funktioniert auch, aber der Key ist nicht 1 order 2 sondern


    \My Flash Disk\Sokobana\Koord\koord465.exe\0\\00\00\0...


    Wie bekomme ich die ValueData auf 1? oder dbl?



    Wenn ich das geschaft habe, kann ich in dem mscr den RegKey abfragen,
    mit sleep die max Doppelklick-Erkennungszeit festlegen, dann sollten auch alle Buttons nach diesem Schema als dblKlick machbar sein.


    Gruß
    ssnweb

    2 Mal editiert, zuletzt von ssnweb ()

  • Hallo ssnweb,


    der Koord-Befehl ist schon so gedacht, denn er ist dafür vorgesehen, dass man mit einem LaunchFromRegistry-Button darauf zugreift.
    Der LFR-Button benötigt aber eine EXE-Datei, deren Vorhandensein er testen kann! Daher erzeuge/lösche ich als Value den Pfad zur Koord456.exe. Die Nullen danach gehören nicht zum Value. "\0" ist die abschließende Null des Strings. Ich weiß nicht, warum das überhaupt beim MobileRegistryEditor angezeigt wird?!?


    Also die Kombination RegKey= mit einem LFR-Button ist eigentlich dazu gedacht, dynamisch GoPal-eigene Buttons anzeigen und ausblenden zu können!
    Meist muss man dann noch extra kurzzeitig die GoPal-View wechseln, damit der Button auch erscheint.


    Wenn Du "nur" einen Statuswert in der Registry haben willst, so ist es wahrscheinlich einfacher, das ganz mit Mort zu machen!
    Oder ich muss noch eine entsprechende Funktion einbauen.


    Gruß,
    Stefan

  • Hallo Stefan,
    bin am WE auf ein Problem gestoßen. Wenn ich mit Koord F13 senden will, muß ich das ja in der PFSpecial.skn referenzieren. Da gibt es Probs. Wenn ich das Problem bei mir richtig erkannt habe, macht er dann bei anderen Gelegenheiten statt F1 einfach F13.


    Ich glaube mal gelesen zu haben, dass es mit den F13-24 Probs geben kann. Kannst Du Dich noch erinnern, wo ich darüber was nachlesen kann? Bestimmt irgendwo im Gopal 2-Forum, aber wo`?


    Gruß sokobana


    PS: Text geändert zur besseren Verständlichkeit

    Einmal editiert, zuletzt von sokobana ()

  • Hallo sokobana,


    ich kann mich jetzt nicht daran erinnern, dass es Probleme mit Keys >= F13 gibt, habe es aber auch nicht explizit getestet! Es könnte aber durchaus sein, dass GoPal nicht alle Kay (richtig) auswertet.


    Gruß,
    Stefan

  • Hallo Sokobana,
    hallo Stefan,


    es ist geschafft - es gibt Ihn, den echten Doppelklick!


    Habe Ihn bei mir für:


    - Route sperren 100m/manuell-10km
    - Sonnenbrille/Tag-Nacht-auto-manu - Umschaltung
    - Preset Routenoption/Autobahn - AB-meiden Umschaltung,
    - 3D-reset/2D+3D-Auto - Umschaltung
    - Sonnenbrille/Tag-Nacht - Umschaltung


    integriert!


    War das jetzt mein Gesellenbrief? ;D
    Dürft mich ab sofort Mr. Doppelklick nennen! : drink



    :) : drink :) : drink :) : drink :) : drink :) : drink :)


    Gruß
    ssnweb


    P.S. Beschreibung folgt bis nächstes Wochenende

    Einmal editiert, zuletzt von ssnweb ()

  • Für die Ankündigung gibt es den "Brief" noch nicht. Das muß von den "Juroren" erst sorgfältig geprüft werden. :lachen


    Trotzdem schon mal :respekt für Dein Durchhaltevermögen!


    Gruß sokobana.

  • Hallo Sokobana,


    eine kleine Verbesserung würde ich ,sofern möglich, doch noch einbauen:


    1) LaunchButton wird per Action in ein anderes Fenster zitiert
    2) LaunchButton als Doppelklick können mit Action nichts anfangen, würde die Zeit für den 2-ten Klick fehlen.


    Frage: kann ich den Action-Befehl per MortScript irgendwie umsetzen?
    WND.... funktioniert nicht, da mit WND... wohl kein Fenster sonder ein Progamm gemeint ist.
    Das habe ich mit x = ActiveWindow () ermitteln lassen. x = GopalNavigator o.s.ä - habe ich nicht mehr im Kopf. Aber halt kein Fenster-/Menuname.


    Bis jetzt habe ich das Problem mit MouseClick´s gelöst, ein direkter Weg zum neunen Fenster (z.B. Darstellung oder Route sperren) wäre schöner.


    Hast Du hier einen Tip für mich?


    Gruß
    ssnweb

    Einmal editiert, zuletzt von ssnweb ()

  • Das einzige was m.W. geht, ist die Verknüpfung der Action in der PFSpecial.skn mit einer "Funktionstaste" (F1-F24). Diese kann man dann per Koord und SendKey= bzw. in Mort mit SendSpecial (oder so?) aufrufen.


    Gruß,
    Stefan


  • Bin heute vielleicht einwenig begriffstutzig: Habe beide Fragen nicht wirklich verstanden.