Hi,
man könnte es zwar auch anders lösen aber angeommen, ich schreibe mir ein eigenes Control in das ich an beliebiger Stelle einen Text eingeben möchte, wie bewerkstellige ich es, dass an entsprechender Stelle der Textschreibecursor erscheint und ich Text eingeben kann? Wie wird sowas programmiert? Ich nehme mal an man kann irgendwo an einer Stelle den Textcursor platzieren und die Tastatureingaben muss man komplett selbst behandeln, d.h. den eingebenen Text grafisch ausgeben und den Textcursor an die entsprechende Stelle hinter den gerade getippten Buchstaben setzen. Fürs Markieren und Kopieren braucht man dann wiederum eigens programmierte Funktionen damit der Text z.b. entsprechend farbig hinterlegt wird und um bei Rechtsklick auf ein kleines Kontextmenü zugreifen zu können das die Standardfunktionen Kopieren, Ausschneiden,... zur Verfügung stellt muss man eben ein solches komplett selbst erstellen.
Richtig so bisher? Wie zaubert man den Textcursor, der kommt ja vom Betriebsystem, da man ja dort u.A. auch dessen Blinkfrequenz einstellen kann. Kümmert sich das Betriebsystem um das Geblinke oder muss man das auch irgendwie selbst grafisch programmieren?
lg PoWl
Nimm einfach eine Textbox (ohne Border & in der Farbe des Hintergrundes), die du auf deinem Control nach Bedarf platzierst.
Gruß, Christian.
Ok danke, das kann ich natürlich machen, daran dachte ich sogar auch. Dennoch würde ich interessehalber gern wissen, wie man das Problem zu Fuß lösen würde.
Hallo PoWl,
ich gehe davon aus, dass eine Textbox, den Cursor selber zeichnet (wenn er blinkt, vermutlich per Timer).
herbivore
Die Standard-.Net-Controls (TextBox, Button, ListView, ListBox, TreeView, usw.) sind nichts weiter als Wrapper um die Win32-Controls. und die werden vom Betriebssystem selbst gezeichnet.
Gruß, Christian.