Verständigungsfrage zu den dynamisch erzeugten Buttons
-
Hallo zusammen,
ich bin neuling in der MFC-Programmierung und habe gleich eine Frage zum Thema "Dynamische Buttons, die aus einer Konfig-Datei geladen werden"
Wenn die Buttons geladen und angezeigt werden, wie führt man dann die vorgesehehe Aktion mit dem entsprechenden Button aus?
Wird die Aktion auch in der Konfig-Datei mitangegeben oder wie?
Vielen Dank für euere Hilfe.MfG, Maticky
-
Ich versuche jetzt nochmal mein Problem anhand eines kleinen Beispiels zu verdeutlichen:
Button1 ---> soll Aktion A ausführen
Button2 ---> soll Aktion B ausführen
Button3 ---> soll Aktion C ausführenEs wird einen ID-Bereich für die Buttons festgelegt:
#define FIRST_BUTTON_ID 10000 #define LAST_BUTTON_ID 11000Nachdem die Buttons geladen worden, soll dann die vorgesehene Aktion mit dem entsprechenden Button ausführt werden.
void OnButtonClicked(UINT iID) { int iButton = iID - FIRST_BUTTON_ID; switch (nButton) { case 0: // 10000-10000 ; Button1 Aktion A ausführen; break; case 1: // 10001-10000 ; Button2 Aktion B ausführen; break; case 2: // 10002-10000 ; Button3 Aktion C ausführen; break; } }Aber, wenn ich jetzt z.B. Button1 aus der Konfig-Datei entferne (ausklammere), dann bekommen die Buttons andere ID's als vorhin und es werden falsche Aktionen ausgeführt.
void OnButtonClicked(UINT iID) { int iButton = iID - FIRST_BUTTON_ID; switch (nButton) { case 0: // 10000-10000 Aktion A ausführen; // Button2 wird die Aktion von Button1 ausführen break; case 1: // 10001-10000 Aktion B ausführen; // Button3 führt de Aktion von Button 2 aus break; // hier ist schluß case 2: // 10002-10000 Aktion C ausführen; break; } }Da die ID sich ändern kann, wüsste ich gerne, wie der Button erkennbar bleibt, um die für ihn vorgesehene Funktion ausführen kann!??
Ich hoffe, ihr versteht mein Problem und würde mich sehr freuen, wenn ihr mir helfen könntet.
Danke,
Maticky
-
Ist es korrekt dass Du einmal "iButton" und einmal "nButton" hast!?
-
er hat sich bestimmt verschrieben