Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben
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.

Geschrieben

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ß

Geschrieben

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.

Geschrieben

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.)

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...