Buttonabfrage bei GDI+

  • Hallo zusammen,

    im Moment habe ich ein recht großes Projekt vor mir, ein Managerspiel... :rolleyes:
    Bisher klappte auch alles Problemlos. Ich kann ein Spiel starten und bekomme die entsprechenden Grafiken angezeigt. Ich kann einzellne Punkte auf einer Karte ansteuern usw. Doch jetzt hänge ich und komme seit zwei Tagen nicht mehr weiter... ;(

    Hier das Problem:
    Ich habe eine Karte, welche normal als Hintergrundgrafik angelegt ist. Die Karte hat einige Punkte welche mit Unsichtbaren Labels angeklickt werden können (GUISetOnEventMode, 1). Beim Ansteuern soll folgendes Passieren:
    Neben dem Objekt wird ein Fenster erstellt indem man verschiedene Optionen hat: Gehört es keinem, kann man es Kaufen, gehört es mir kann ich es betreten und gehört es dem Gegner kann ich es Angreifen. Das erstellen des Fensters mit GDI+ war kein Problem (habe mich zum ersten mal an GDI+ versucht und durch Tutorials war das kein Problem).
    Jetzt habe ich aber folgenden Wunsch.. Drückt man irgendwo auf die Karte soll das Fenster verschwinden (funktioniert mit _IsPressed)
    Drückt man aber innerhalb des Fensters auf einen Button soll eine neue Funktion aufgerufen werden.

    Ich zeig euch hierzu mal die Funktion:

    Spoiler anzeigen

    Ich würde mich freuen wenn mir jemand helfen könnte oder mir vielleicht eine einfacherer oder elegantere Lösung zeigt :)

    Liebe Grüße
    Marvin

  • erstmal, das hier ist ja nur ein unterfenster, _GDIPlus_Shutdown() sowie die startup, macht man nicht je fenster, sondern je programm, also einmal am Start und einmal beim beenden.
    Opt("GUIOnEventMode", 0) zu benutzen halte ich auch für eher unklug, normal sollte man sich entscheiden, da das andere Fenster sonst nicht funktioniert..., ich meine, es war auch so, dass alle registrierten funktionen verloren gehen, wenn man in den msgmodus wechselt.
    Eventuell kannst du mit dem Fokus arbeiten, das Fenster verliert ja in den Fokus und wenn das Kartenfenster den Fokus zurückbekommt (angeklickt wird), wechselst du (WinGetActive).
    Die Buttons solltest du auch mit dem OnEventMode erstellen.

    Wo genau es bei dir scheitert konnte ich anhand deiner Beschreibung leider nicht sehen. Vielleicht magst du das nochmal genauer sagen, Funktioniert nur das klicken auf den Button nicht, oder wie?

    Eventuell musst du bei GuiGetMsg auch nur die Gui angeben.