eine Anfängerfrage: Button-Click



  • hallo, Die Button-Click Methode soll nur solange ausgeführt werden wie man mit der Maus draufklickt . Geht das?



  • schau dir mal An AutoRepeat Button Class bei codeproject.com an. Denke das ist genau das was du suchst, kommt zumidest denk ich sehr nah und ausbaun kannst du das ja selbst noch.

    Aber einen Button der das direkt macht wirst du vergebens Suchen, wie bei vielen anderen Sachen die Du vergebens Suchen wirst. Für viele Fragen ist codeproject.com eigentlich immer der erste Anlaufpunkt. Wobei es sicher noch mehr Seiten im Netz geben die gleichwertig zu nennen sein könnten.



  • danke



  • mm hab ich mir angeschaut....

    Aber könnte man nicht ein MouseDown-Event nehmen und dor abfragen ob der Button geklickt ist?
    Also kann man abfragen ob Button1 geklickt ist ?

    Gruß



  • hmmmm.....
    na klar kann man das Mouse-Event nehmen, man kann das auch relativ zur systemzeit verrechnen und das ins verhältnis zur Biosversion betrachten, aber ich glaube da kommstr du auch nicht weiter, irgend wie vewrsteh ich deine Frage jetzt nicht. Ich geb dir ne relativ einfach umzusetzende Lösung und du schreibst was von MouseDown-Evend, solange du das nicht genauer Beschreibst was du machen willst oder warum das mit dem Timer dir nicht gefällt wirste selbst suchen müssen, denn selbst wenn du auf MousDown Wartest müsstest du deine Funktion immer wieder anspringe solange bis Mouseup kommt, endeffekt das du wieder beim Timer bist, oder du nimmst halt nen Thread. Kannst das natürlich auch im Handler des Buttons in ner while pollen lassen, aber das geht arg in die Hose, falls du das noch nicht versucht hast.

    An sonsten schau dir GetAsyncKeyState an.



  • Ich brauch das für mein Techniker-Projekt (bin auch nur ein c++-leihe).
    Ich muss eine Schritt-Motorsteuerung programmieren. Die Bibliotheken und Steuerungen sind fertig gekauft. Die Oberfläche mach ich mit Visual Studio C++/CLI.

    Also der Motor soll nur so lange fahren , solange man den Button klickt. Sonst müsste man ein 2.ten Button setzen für Stop, aber das wäre schlecht , da man genau ein mikrometer punkt anfahren soll.

    geht nicht :

    private: System::Void Form1_MouseClick(System::Object^  sender, System::Windows::Forms::MouseEventArgs^  e) {
    			 if(button1->click???)
    			 {
    
    			   Motor starten;
    		 }
    


  • Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum MFC (Visual C++) in das Forum C++/CLI mit .NET verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Torsten2009 schrieb:

    hallo, Die Button-Click Methode soll nur solange ausgeführt werden wie man mit der Maus draufklickt . Geht das?

    nein - ist ja auch Button-Click ... Du kannst aber die Button-Down und Button-Up Events verwenden



  • mogel schrieb:

    Torsten2009 schrieb:

    hallo, Die Button-Click Methode soll nur solange ausgeführt werden wie man mit der Maus draufklickt . Geht das?

    nein - ist ja auch Button-Click ... Du kannst aber die Button-Down und Button-Up Events verwenden

    hey super danke die events lauten aber button1_MouseDown und button1_mouseup.
    dann gehts also motor starten in mousdown und stoppen in mouseup.
    gruß


Anmelden zum Antworten