Laden...

RichTextBox mit Nachschlage-Funktionalität

Erstellt von citizen.ron vor 16 Jahren Letzter Beitrag vor 16 Jahren 4.987 Views
citizen.ron Themenstarter:in
432 Beiträge seit 2005
vor 16 Jahren
RichTextBox mit Nachschlage-Funktionalität

Beschreibung:
Eine RichTextBox, die es erlaubt, in einer zugrundeliegenden Tabelle die eingegebenen Textelemente zu suchen und je nachdem, ob sie gefunden wurden oder nicht, unterschiedlich zu formatieren.

Verwendungszweck
Hintergrund ist, dass man manchmal in einem Eingabefeld Kürzel (für bspw. Mitarbeiter, Abteilungen, Städte, etc.) eingeben möchte.
Man kennt das so ähnlich vom Mailadressfeld einer neuen Nachricht in Outlook.

Damit der Anwender sofort sieht, ob seine Angaben gültig sind, schlägt die RichTextBox diese Elemente nach und formatiert sie (Bild 1) wie vom Entwickler im Designer eingestellt (Bild 2).

Hinweis:
Der Code für die Formatierung stammt aus http://geekswithblogs.net/pvidler/archive/2003/10/15/188.aspx; ich habe das nur ein bisschen für den aktuelle Zweck gekapselt

Schlagwörter: RichTextBox, RichTextBox Formatierung, Formatierung, Nachschlagen

citizen.ron Themenstarter:in
432 Beiträge seit 2005
vor 16 Jahren

So sieht es für den Entwickler aus:

citizen.ron Themenstarter:in
432 Beiträge seit 2005
vor 16 Jahren

...und hier ist dieKomponente samt Testprojekt und TestDaten.

Viel Spass damit

Ron

PS:
Es gibt ein noch etwas jungfräuliches Property namens ResolveAsHyperlink.
Idee ist, dass aufgelöste Elemente mit einem Handzeiger versehen werden. Das flackert aber leider ziemlich.
Also wer von Euch Zeit und Lust hat... 😉

1.985 Beiträge seit 2004
vor 16 Jahren

Hallo citizen.ron,

nette Komponente. Vor allem das rote Unterstreichen hätte mich in den nächsten Tagen auch interessiert 🙂.

Ich habe allerdings ein doch recht großes Flackern beobachtet, obwohl Du mittels der Win-API das Zeichnen verhinderst. Ist da evtl. bei der Implementation noch was falsch oder ist das korrekt so?

Gruß,
Fabian

"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)

Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…

Blog: www.fabiandeitelhoff.de

citizen.ron Themenstarter:in
432 Beiträge seit 2005
vor 16 Jahren

hi fabian,

flackert es immer?
Auch bei ResolveASHyperlink = false?

Flackern tut es bei mir nur, wenn ich ResolveASHyperlink auf True setze (was ich im Augenblick nicht tue, da die Logik für den Aufruf eines aufgelösten Elements auch noch nicht implementiert ist, sondeern nur die Cursor-Anzeige als Hand)

Ich glaube eher, dass OnMouseMove nicht die richtige Methode ist; vielleicht muss man auch hier tiefer in die WINAPI einsteigen.

Aber dazu werde ich selbst in den nächsten zwei Wochen keine Zeit haben.

Gruß
Ron

1.985 Beiträge seit 2004
vor 16 Jahren

Hallo citizen.ron,

habe es gerade noch mal ausprobiert. Es flackert immer. ResolveAsHyperlink ist per default auf false.

Gruß,
Fabian

"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)

Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…

Blog: www.fabiandeitelhoff.de