Automatischer Klick C++

Hallo zusammen,

ich muss für mein Studium z.Zt. ein Programm schreiben und stoße dabei auf 2 Probleme:

  1. Kann ich ein Button bzw. bei mir ein Label aktivieren ohne zur Laufzeit auf es zu Klicken? Wenn ja wie?
    Ich will also quasi das aktive klicken durch einen einfachen Befehl simulieren…

  2. Wie gelange ich zum Konstruktor meiner Form (VCL) zurück?
    Ich bin am Ende meines Spiels (ja, ich programmiere ein Spiel…) angekommen und möchte nun quasi zurück in das Hauptmenü. Dieses bastel ich mir im Konstruktor zurecht und setzte dort auch meine defaultWerte über einen weiteren Konstruktoraufruf… Deshalb die oben genannte Frage…

Würde mich über schnelle Antworten freuen…

Gruß

Johannes

hi

ich verstehe deine fragen glaube ich nicht richtig. wobei ich dazu sagen muss, das ich von c++ keine ahnung habe, sry.

Hallo!

  1. Kann ich ein Button bzw. bei mir ein Label aktivieren ohne
    zur Laufzeit auf es zu Klicken? Wenn ja wie?
    Ich will also quasi das aktive klicken durch einen einfachen
    Befehl simulieren…

Wenn Du ein C++ Objekt hast, kannst Du dessen Methoden aufrufen.

Falls nicht brauchst Du das HWND des Controls (Button, Edit, Dialog, …) und kannst mit PostMessage(…) eine Nachricht versenden.

z.B.:
PostMessage(buttonHwnd, BM_CLICK, 0, 0);

(siehe auch http://msdn.microsoft.com/en-us/library/bb775985(VS… - dort kann man nach allen Events suchen)

Durch das Tool Spy++ kannst Du aufzeichnen, welche Events wo ankommen, wenn Du selbst was mit der Maus/Tastatur bedienst. Dadurch findest Du heraus welche Nachricht Du verschicken willst.

  1. Wie gelange ich zum Konstruktor meiner Form (VCL) zurück?
    Ich bin am Ende meines Spiels (ja, ich programmiere ein
    Spiel…) angekommen und möchte nun quasi zurück in das
    Hauptmenü. Dieses bastel ich mir im Konstruktor zurecht und
    setzte dort auch meine defaultWerte über einen weiteren
    Konstruktoraufruf… Deshalb die oben genannte Frage…

Der Konstrukor wird nur einmal aufgerufen.

Du brauchst also entweder ein neues Objekt, oder Du lagerst die Funktionalität in eine init() Methode aus, die kannst Du dann immer wieder aufrufen.

Viel Erfolg