| |
Visual-Basic EinsteigerBeim anklicken eines Eintrags in einer RTB einen Event auslösen? | | | Autor: I.V. | Datum: 22.10.18 10:15 |
| Hallo Zusammen,
Ich schreibe Protokolle aus einer DB fortlaufend in eine rtb.
Von hier kann das ganze dann gedruckt werden.
Nun kommt es vor, das der ein- oder andere Eintrag geändert werden soll.
Meine Vorstellung wäre, dass der Benutzer die ID, welche ich klein über dem Text habe, anklicken kann, und über eine Msgbox gefragt wird, ob er diesen Eintrag bearbeiten möchte.
Meine Frage ist nun, wie kann ich das erreichen, dass ich durch anklicken (vielleicht auch vorher markieren des Textes) einen Event auslösen kann?
Oder wäre es besser, wenn ich einen zusätzlichen Button in das Menü einbinde und der Benutzer hier die Textansicht verlassen und die Einträge in einer Liste zur Auswahl bereit gestellt bekommt?
Danke und Gruß Ingo
Wer aufhört sich zu verbessern, hört auf gut zu sein. | |
Re: Beim anklicken eines Eintrags in einer RTB einen Event auslösen? | | | Autor: Souffleurlos | Datum: 22.10.18 18:10 |
| Hallo i.v.
jetzt brauche ich einen extra Lehrgang von Dir um die Frage zu verstehen. Nutzt Du die Events der Richtextbox nicht? Click(), Change() etc?
Außerdem finde ich eine Msgbox zum editieren von Text überflüssig und würde den zu editierenden Text gleich hervorholen und warten, was der User macht. Ändert er/sie den Text oder nicht, das gilt es hinterher festzustellen. Erst dann erfolgt ein Update der Datenbank, oder nicht.
Wie man den Text zum editieren hervorhebt, da führen viele Wege nach Rom. Ich würde innerhalb der Richtextbox eine kleinere Richtextbox einfügen, die den Text hervorhebt - ist aber Geschmacksache.
Beitrag wurde zuletzt am 22.10.18 um 18:10:39 editiert. | |
Re: Beim anklicken eines Eintrags in einer RTB einen Event auslösen? | | | Autor: I.V. | Datum: 22.10.18 20:49 |
| Hallo Souffleurlos,
offensichtlich habe ich das Ganze wohl nicht so gut beschrieben...
Okay, ich versuche es nochmal.
Ich habe eine Frame mit ein paar Feldern zum erstellen der Protokolle.
Da wären z.B. DTP für das Datum, eine Combobox für den Betreff, eine Checkbox eine Markierung und die eigentliche Info.
Dies wird beim Speichern in eine DB geschrieben.
Wenn ich die Form lade möchte ich je nach Einstellung (Periode oder Anzahl) die gefundenen Einträge fortlaufend in eine RTB schreiben. Die Einträge möchte ich mit Linien Trennen.
Außerdem soll im Kopf dann immer die ID des Eintrags, sowie das Datum und der Betreff stehen.
Soweit ist das auch noch kein Problem.
Bei diese Ansicht ist der Bearbeitungsmodus deaktiviert und es wird nur der Text angezeigt.
Jetzt kommt meine Frage, wie kann ich z.B. beim anklicken der RTB (mit dem Click Event, oder wie auch immer) die ID zu diesem Eintrag auslesen/zurückgeben?
Die Msgbox wäre dann nur für die Frage, ob ich den Eintrag mit der ID … bearbeiten möchte.
Wenn ich ja anklicke, möchte ich in den Bearbeitungsmodus wechseln und die Daten wieder in die Felder laden.
So wäre jetzt mein Plan.
Natürlich nehme ich auch gerne andere Vorschläge zu Visualisierung und zum evtl. späteren ausdrucken der Daten gerne entgegen...
Ich hoffe, ich konnte mein Problem jetzt etwas besser beschreiben?
Gruß Ingo
Wer aufhört sich zu verbessern, hört auf gut zu sein. | |
Re: Beim anklicken eines Eintrags in einer RTB einen Event auslösen? | | | Autor: effeff | Datum: 23.10.18 10:08 |
| Eine einfache ListBox anstelle einer RichTextBox tut es hier nicht?
EALA FREYA FRESENA | |
Re: Beim anklicken eines Eintrags in einer RTB einen Event auslösen? | | | Autor: I.V. | Datum: 23.10.18 11:21 |
| Hallo Effeff,
mit ner Listbox kann ich doch nur die Einträge auflisten, aber den gesamten Inhalt nicht.
Oder sehe ich da was falsch?
Gruß Ingo
Wer aufhört sich zu verbessern, hört auf gut zu sein. | |
Re: Beim anklicken eines Eintrags in einer RTB einen Event auslösen? | | | Autor: Franki | Datum: 24.10.18 01:17 |
| Hallo Ingo,
Zitat: | |
Bei diese Ansicht ist der Bearbeitungsmodus deaktiviert und
es wird nur der Text angezeigt.
Jetzt kommt meine Frage, wie kann ich z.B. beim anklicken der
RTB (mit dem Click Event, oder wie auch immer) die ID zu
diesem Eintrag auslesen/zurückgeben? | |
Du hast da einen Gedankenfehler, denn Click Event kann ja "irgendwo" auf der RTB passieren, wo ist egal. Du müsstest schon die Mauskoordinaten auswreten wohin genau geklickt wurde. Aber das geht schief aufgrund verschiedener Bildschirmauflösungen usw. beim User.
Du könntest zwar in den Bearbeitungsmodus wechseln, aber der User kann dann alles bearbeiten...
Eine Textdarstellung egal ob RTB, PDF oder sonst was dient eigentlich nur nur Information für den User und nicht daraus Rückschlüsse zu einem Datensatz zu generieren.
Zitat: | |
Die Msgbox wäre dann nur für die Frage, ob ich den Eintrag
mit der ID … bearbeiten möchte.
Wenn ich ja anklicke, möchte ich in den Bearbeitungsmodus
wechseln und die Daten wieder in die Felder laden.
| |
Und genau das ist nicht wirklich sinnvoll. Denn du müsstest nicht nur den Klick auswerten, der User müsste dann genau die ID markieren usw. Das ist viel zu umständlich, wenn du dem User Editiermöglichkeiten bieten möchtest, dann ein anderes Steuerelement. Oder wenn der Text als direktes Ergebnis angezeit wird, biete dem User einen "Rückgängig" Button oder so was an.
Und wenn das alles nicht hilft muss er sicht halt die ID merken (copy/paste) und in ein entsrechendes Formular eingeben / kopieren. So wird es in der Praxis ja überlichweise auch gemacht.
Gruß
Frank | |
Re: Beim anklicken eines Eintrags in einer RTB einen Event auslösen? | | | Autor: I.V. | Datum: 24.10.18 06:36 |
| Hallo Frank,
ich habe den Gedanken jetzt doch verworfen.
Eine App soll ja praktikabel sein und die Arbeit erleichtern und kein Chaos erzeugen.
Danke für die Hilfe
Gruß Ingo
Wer aufhört sich zu verbessern, hört auf gut zu sein. | |
Re: Beim anklicken eines Eintrags in einer RTB einen Event auslösen? | | | Autor: Franki | Datum: 25.10.18 02:07 |
| Hallo Ingo,
soweit so gut, aber vielleicht magst du ja darüber berichten welche Alternative du nun realisieren wirst.
Ob eine App praktikabel ist hängt auch immer von der Zielgruppe ab bzw. von den Gewohnheiten der User die sie verwenden (müssen).
Wenn das unbedingt gefordert ist, kann das auch realisiert werden, ist aber nicht performat für die Anwendung. Du kannst in einer RTB z.B. bei jedem Klick die Zeile und Spalte auswerten, dann Rückschlüsse ziehen, ob es sich um eine Zeile mit der ID handelt usw. Aber das will man sich nicht an tuen so etwas zu programmieren obwohl es machbar ist.
Gruß
Frank | |
Re: Beim anklicken eines Eintrags in einer RTB einen Event auslösen? | | | Autor: I.V. | Datum: 25.10.18 06:42 |
| Guten Morgen Frank,
mein neuer Plan ist jetzt links ein MSHFlexGrid zu platzieren und hierüber die einzelnen Protokolle in die RTB, welche in der Mitte platziert ist, laden.
Die Anzeige von mehreren Protokollen werde ich jetzt so umsetzen, dass ich im Bereich, in dem die Filter gesetzt werden (rechte Seite), ein Auswahlfeld für die Anzahl der anzuzeigenden Protokolle einfüge. Wenn hier z.B. 5 ausgewählt wird, dann werden beim auswählen eines Eintrags dieses und die nächsten 4 Protokolle angezeigt.
Mein einziges Problem hierbei ist das Füllen des MSHFlexGrids.
Damit habe ich noch nicht gearbeitet.
Weißt du evtl. wie das geht?
Ich würde dieses Control gerne nutzen, weil hier ja die Einträge der zweiten Tabelle als zusätzliche Zeilen angezeigt werden können (Laut der Beschreibungen die ich bis jetzt gefunden habe)
Gruß Ingo
Wer aufhört sich zu verbessern, hört auf gut zu sein. | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevCoolbar 3.0
Professionelle Toolbars im modernen Design!
Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|