Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Bildschirmtastatur als Dialog (https://www.delphipraxis.net/53811-bildschirmtastatur-als-dialog.html)

Nicolai1234 22. Sep 2005 21:52


Bildschirmtastatur als Dialog
 
Ich schreibe momentan eine Anwendung, die später auf einen 800x600er Touchscreen laufen soll. Da ds System später nicht über eine Tastatur für den Endnutzer verfügen wird, muss die Texteingabe über eine Bildschirmtastatur gelöst werden.
In meinem Fall habe ich ein Edit-Feld und möchte dies nun mit Text füllen:
http://www.nicolai1605.de/Dateien/DP/DP_05-09-22.jpg
Ich dachte mir das so, dass man den Buttn daneben drückt und dann die Bildschirmtastatur erscheint. (über den ganzen Bildschirm) Dann gibt man den Text ein und drückt OK. Dann soll wieder das ursprüngliche Bild kommen und der eingegebene Text soll im Edit stehen.
Soweit so gut...
Da das ganze dann aber in der gesamten Anwendung genutzt wird und möglichst einfach überall eingesetzt werden kann, habe ich gedacht, dass man es von der Funktionsweise wie ein Open-/Save-Dialog machen kann. (Ich denke jeder weiß, was ich damit meine).

Doch wie kann man soetwas umsetzten? Mir fehlt da einfach der Ansatz... Ich hoffe um eure Hilfe &
Vielen Dank im voraus

Christian Seehase 22. Sep 2005 22:02

Re: Bildschirmtastatur als Dialog
 
Moin Nicolai,

meine Idee dazu wäre es ein Formular mit der Tastatur, und einem Feld zu erstellen, in dem der eingegeben Text angezeigt wird.
Dieses Formular kannst Du dann Modal aufrufen, und jeweils, wenn das Formular nicht mittels abbrechen geschlossen wurde, das Eingabefeld des Tastaturformulares, in das jeweilige Eingabefeld übernehmen.
Um bereits bestehende Eingaben editieren zu können, kannst Du dann auch den Inhalt des gerade zu befüllenden Feldes als Vorgabe für das Textfeld im Tastaturformular nehmen.

Nicolai1234 22. Sep 2005 22:06

Re: Bildschirmtastatur als Dialog
 
So in der Art dachte ich mir das auch, nur wie schaffe ich ein einfaches Aufrufen wie:
Delphi-Quellcode:
if OpenDialog1.Execute then
tuwas(OpenDialog1.FileNames);
Dafür habe ich nämlich keinen Ansatz...

Christian Seehase 22. Sep 2005 23:33

Re: Bildschirmtastatur als Dialog
 
Moin Nicolai,

und ich dachte an:

Delphi-Quellcode:
if Form2.ShowModal = mrCancel then exit;
Edit1.Text := Form2.Edit1.Text;
also recht ähnlich.

Nicolai1234 24. Sep 2005 16:07

Re: Bildschirmtastatur als Dialog
 
Ok, vielen Dank. Das ganze funktioniert soweit auch super, aber wie kann ich einen "Abbrechen" Button machen, sodass das Edit nicht verändert wird, obwohl man einen neuen Text eingeben hat?

Luckie 24. Sep 2005 16:12

Re: Bildschirmtastatur als Dialog
 
Hat doch Christian gerade gepostet.

Nicolai1234 24. Sep 2005 16:16

Re: Bildschirmtastatur als Dialog
 
Bei wird der Teyt jetzt aber immer geändert. Wie muss man denn ein modal "geshowtes" Formular schließen, damit es mrcancel bzw. nicht mrcancel ist?

Luckie 24. Sep 2005 16:21

Re: Bildschirmtastatur als Dialog
 
Na so wie es Christian geschrieben hat. Und wenn du nicht aus der Prozedur rauswillst, machst du:

Delphi-Quellcode:
if not Form2.ShowModal = mrCancel then;
  Edit1.Text := Form2.Edit1.Text;

hanselmansel 24. Sep 2005 16:23

Re: Bildschirmtastatur als Dialog
 
Das wiederum heißt, dass der "Abbrechen"-Button auf deinem modalen Form, mrCancel als ModalResult zurückgeben muss.

Bitte nicht schlagen, wenn es falsch ist!

Nicolai1234 24. Sep 2005 16:26

Re: Bildschirmtastatur als Dialog
 
Zitat:

Zitat von hanselmansel
Das wiederum heißt, dass der "Abbrechen"-Button auf deinem modalen Form, mrCancel als ModalResult zurückgeben muss.

Bitte nicht schlagen, wenn es falsch ist!

Das meine ich!

Aber wie mache ich das?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:02 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz