Buttongröße im Programm per Maus verändern



  • Morgen,
    ich habe ein Problem, ich will ein Programm schreiben, wo ich zur Laufzeit einen TButton erstellen lasse, und der Benutzer soll die Große (Widht, Height) selbt per Maus verändern können, als Vorbild habe ich mir den Borland Builder genommen, wo das ja auch irgendwie geht, ich habe schon so einiges versucht, aber alles was ich versucht habe hat sich schon im Keim erstickt. Kann mir einer zumindest im Ansatz Helfen, dieses Problem zu lösen. Ich danke euch schon mal. DANKE



  • Spontan würde ich sagen: Die Aktion führst du im "onmousemove" der Form oder des panels aus.

    Und da X und Y sich ja von der Ursprungssposition verändern, benutzt du die Differenz um die Breite und die Höhe des Buttons zu ändern.

    Keine Ahnung, ob es so klappt. Ist nur ne Vermutung 😉

    MfG,
    MastaFlasH



  • ja, das klingt gut, jetzt habe ich nur noch das Problem, mit dem Routing, wo die vorheriege Mausposition berechnet oder gespeichert wird.



  • hm, diese Aufgabe dürfte nicht ganz so trivial sein. Die Größenänderung als solche ist sicher schnell implementiert, aber was ist mir Kollisionsabfragen mit anderen Komponenten, oder Versuchen, die Größe über den Formular- oder Parentkomponentenrand hinweg zu ändern? Und es sind auch 8 mögliche Richtungen, in der die Größe geändert werden kann. Mindestgrößen für den Button wollen auch berücksichtigt werden, sonst kann man den Button 'verschwinden' lassen, indem man die Höhe oder Breite auf 0 zieht...





  • Hi Leute, ich danke euch schon mal, für eure Hilfe, Peter, dieses Problem hatte ich schon gelöst, aber trotzem danke. Mein Problem besteht weiterhin, und hat sich nach dem Beitrag von Joe_M. noch verschärft, denn aus so einem kompliezierten Winkel habe ich die ganze Sache noch garnicht betrachtet. Ich brauche umbedingt hilfe. Bitte helft mir wenn ihr könnt.
    DANKE



  • Sieh dir mal TSizeControl und CompCtrl an. Keine Ahnung, ob die sich im BCB installieren lassen, aber ggf. kannst du ja etwas aus den Delphi-Sourcen lernen.


Anmelden zum Antworten