TripleD Geschrieben 28. Juli 2005 Geschrieben 28. Juli 2005 Guten Morgen zusammen, wie kann ich Abfragen, welcher Button (Schaltfläche) gedrückt wurde. Hab bis jetzt leider noch keine Lösung gefunden. Hoffe mir kann hier jemand helfen. Benutze Windows XP mit VC++ 6 / MFC Gruß TripleD
Bubble Geschrieben 28. Juli 2005 Geschrieben 28. Juli 2005 wie kann ich Abfragen, welcher Button (Schaltfläche) gedrückt wurde. Hab bis jetzt leider noch keine Lösung gefunden. Hoffe mir kann hier jemand helfen. Die Frage ist etwas unpräzise, denn es kommt darauf an, was Du meinst. Bei Dialogen (Ja, Nein, ...) musst Du den Rückgabewert auswerten, bei Steuerelementen in eigenen Dialogboxen oder Fenstern auf das Event reagieren, indem Du die entspechenden Nachrichten in der Nachrichtenschleife auswertest. Wenn Du MFC verwendest, dann lass Dir doch einfach von VC++ einen entsprechenden Handler automatisch erzeugen.
TripleD Geschrieben 28. Juli 2005 Autor Geschrieben 28. Juli 2005 Hi, danke für deine schnelle Antwort. Ich hab eine Dialoganwendung, in der ich selber Button erstellt habe. Jetzt möchte ich gern abfragen, welcher Button gedrückt wurde. Die Standardbutton wären kein Problem, es geht nur um die selbst erstellten. Wie funktioniert das mit dem Nachrichten Auswerten? Gruß
Klotzkopp Geschrieben 28. Juli 2005 Geschrieben 28. Juli 2005 Du kannst mit dem Klassenassistenten für jeden Button eine Nachrichtenbehandlungsfunktion erstellen lassen, die aufgerufen wird, wenn der Button angeklickt wird. Ein Doppelklick auf den Button im Ressourceneditor tut's auch.
Bubble Geschrieben 28. Juli 2005 Geschrieben 28. Juli 2005 Ok. Handelt es sich um eine MFC-Anwendung, oder um eine normale Windows-Anwendung? Jedes Steuerelement, also auch jeder Button, hat eine numerische ID. Da das oft schlecht zu merken ist, werden von den IDEs meist Konstanten vergeben, also nicht wundern, wenn bei Dir Namen vorkommen. Letztlich musst Du, nachdem dem Steuerelement eine eindeutige ID zugewiesen wurde, nur in der nachrichtenverarbeitenden Funktion (der DialogProc) auf eine WM_COMMAND Nachricht warten und diese auswerten. Die Nachricht übermittelt die ID des Steuerelkements und das Ereignis, in Deinem Fall BN_CLICKED. Was Du damit tust, bleibt Dir überlassen. Wenn Du die MFC verwendest: Hier wird die Nachrichtenverarbeitung zu weiten Teilen vor Dir verborgen. Du registrierst mit Makros eine Funktion, die bei dem Ereignis aufgerufen wird. Diesen Code kann Dir aber auch die IDE einbauen - Du musst im Visual C++ Dialog-Editor nur einen Doppelklick auf den entsprechenden Button machen und es wird der Code automatisch eingefügt. (Ich hoffe, dass ich mich richtig erinnere, VC++ 6 benutze ich schon lange nicht mehr.)
TripleD Geschrieben 28. Juli 2005 Autor Geschrieben 28. Juli 2005 Danke für eure Hilfe. Das Problem hat sich erledigt. Hab einfach eine Member-Variable erstellt, weise dieser Werte zu und lese diese dann wieder aus. Gruß
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden