Autor Beitrag
Henrymed
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Sa 10.03.12 00:09 
Hallo, sicher eine einfache Fragestellung , aber ich stehe völlig auf dem Schlauch ! Wér kann mir helfen ?
Fragestellung: Nach Anwählen eines Punktes aus einem DbGRid1 wird aus Table1 der Inhalt eines Feldes, in diesem Fall einer Artikelbezeichnung, in Table2 übernommen .
Table2 enthält als zusätzliches Feld die Stückzahl, die zunächst mit ‚1‘ vorbelegt ist.
Der Inhalt des Stückzahlfeldes wird neben einem DbGrid2 zusätzlich über ein TDbEdit-Feld , in diesem Fall DbEdit1 angezeigt.
Bei der Anwahl im DbGrid1 durch Doppelclick wird über die Event –Proz edur der Focus auf das DbEdit-Feld gelegt.
Dbedit1.setfocus;
Beim Programmablauf springt der Cursor dann auch wie erwartet in das DbEdit1-Feld, das auch, wie vorbelegt, den Wert ‚1‘ enthält. Das Feld befindet sich jedoch dann noch nicht im Überschreibmodus, so dass zum überschreiben des Wertes ein zusätzlicher Doppelclick erforderlich wird.
Ich möchte daher nun nach der Fokussierung auf das Feld ohne den vorherigen Doppelclick
den Überschreibmodus über mein Programm aktivieren ?
Für Hilfestellung wäre ich dankbar !


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Sa 10.03.2012 um 00:17
Perlsau
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 10.03.12 09:22 
Wenn ich dich richtig verstanden habe, möchtest du erreichen, daß durch einen Klick oder Doppelklick in dein DbGrid erstens das DBEdit-Feld mit der Artikelanzahl den Fokus erhält und daß dieses dann zweitens editierbar ist. In den Editmodus schaltest du eine Datenmenge mit Edit, z.B. Table_Artikel.Edit oder Query_Artikel.Edit. Ist der Bearbeitungsvorgang abgeschlossen, verwendest du Post zum Übernehmen der Änderungen. Den Abschluß der Bearbeitung kannst du u.A. durch ein Enter im DBEdit auslösen, das du natürlich in einer weiteren Ereignisbehandlung abfangen mußt.

Für diesen Beitrag haben gedankt: Henrymed
mandras
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 434
Erhaltene Danke: 107

Win 10
Delphi 6 Prof, Delphi 10.4 Prof
BeitragVerfasst: So 11.03.12 00:23 
Ich verstehe die Frage des OP wie folgt:
Es soll programmgesteuert ein Edit ausgewählt werden und was bisher darin stand soll markiert sein so daß jedwede Eingabe das bisherige überschreibt. Damit entfällt zb Doppelklick um bisherigen Inhalt zu markieren und zu ersetzen.

Ich schlage folgendes vor:
ausblenden Delphi-Quelltext
1:
2:
 dbedit1.SelectAll;
 focuscontrol (dbedit1);


Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt