Button inaktiv aber komisch
-
Nochmal icke und vieleicht det letzte mal heute!
Ich möchte ein Button nur zu bestimmten Zeiten aktiv haben. Dem Stop-Button ist eine Methode und eine Variable zugeordnet. Klick ich den Butten im Prog an, dann macht die Fkt was sie soll und der Button wird kurz inaktiv, aber sofort wieder aktit. Erst nach erneuten anklicken den Buttons wird er endgültig inaktiv.
Ist es überhaupt möglich einen Button beides zuzuordnen?
OninitDialog:
//sperrt Stop Button m_ButtonStop.EnableWindow(FALSE);
Die Methode:
void CSpeichernHomeDlg::OnButtonStop() { // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen //sperrt Stop Button if (m_Status==0 || m_Status == 2) { m_Action.InsertString(0, "Bitte erst den Zählvorgang starten!"); //sperrt Stop Button // UpdateData(FALSE); m_ButtonStop.EnableWindow(FALSE); } if (m_Status==1) { m_Action.InsertString(0, "Der Zählvorgang wurde gestoppt!"); cancelflag=1; //sperrt Stop Button // UpdateData(FALSE); m_ButtonStop.EnableWindow(FALSE); m_Status = 2; } m_ButtonStop.EnableWindow(FALSE); }
Stört euch nicht an den redundanten Code, bin noch etwas Anfänger
mfg Markus
-
Natürlich kannst du einem Button eine Funktion in eine Controlvariable zuordnen.
Such bitte in der kompletten cpp-Datei nach "m_ButtonStop.EnableWindow", vielleicht wird der irgendwo wieder aktiviert.
Wenn ja, dann setz dort mal einen Breakpoint und lass das Program laufen.Dann siehst du, ob der in die Funktion kommt, obwohl du dachtest, dass er nicht da lang kommt.
-
Moin estartu_de!
Correcto Mundo! Zwar gab es kein Ergebnis beim Haltepunkt, aber du hast mich auf eine Idee gebracht! Hab isch doch konkret krass da im Prog so eine Zeile da eingebaut Alter, da tuste nich wat schnell dran denken ey!
Aber nun ist alles i.O. MegaDanke();
Gruß Markus
-
Hmm, ich hab doch zwar kaum verstanden, aber es scheint geklappt zu haben...
-
@ estartu_de!
Ich will sagen, daß ich eine Zeile in einer anderen Methode übersehen habe.
War gestern abend auch schon spät und meine Konzentration hatte ein wenig gelitten.
Nun ja! Manchmal sieht man eben den Wald vor lauter Bäumen nicht!
Gruß Markus
-
Achso, okay!
Dann hast du ja auch gleich einen Grundsatz gelernt: Wenn man einfach nicht mehr weiter kommt, geht man nach Hause. Am nächsten Morgen springt einem der Fehler regelrecht ins Auge.
Ist erstaunlich, funktioniert aber ziemlich gut.