我正在 Delphi XE2 中编写一个启用触摸屏的应用程序。
我有一个表格TEdits
。当我点击它们时,我调用我编写的程序来显示另一个始终在顶部最大化的表单,带有一个TTouchkeyboard
带有标签(用于标题)和一个TEdit
用于键盘输入的表单。
我的程序(vkeyboard
是我的表格名称TTouchkeyboard
):
procedure TLogin.showkeyboard(numeric,password: Boolean;
caption,value:string;Sender:TObject);
begin
if numeric then
vkeyboard.TouchKeyboard1.Layout := 'NumPad' // make the TTouchkeyboard on the form numeric or alpha
else
vkeyboard.TouchKeyboard1.Layout := 'Standard';
if password then
vkeyboard.input.PasswordChar := '*' //make the TEdit show * or normal characters
else
vkeyboard.input.PasswordChar := #0;
vkeyboard.title.Caption := caption;
vkeyboard.input.Text := value;
vkeyboard.Show;
end;
我正在尝试将Form1.Edit1
对象发送到表单vkeyboard
,但我不知道如何正确执行!
为什么?因为我希望能够在输入表单(vkeyboard
)上单击完成,然后追溯谁是发件人,然后更新主表单编辑中的文本!
procedure Tvkeyboard.sButton1Click(Sender: TObject);
begin
(temp as TEdit).Text := input.Text; // send back the text to the right object
vkeyboard.Hide;
end;
这个小部分当然没有用......我想我需要指定临时对象属于 X 形式?
为了清楚起见,我想追溯谁调用了该程序,或者至少能够在程序中指定它,然后将文本(从第二种形式到主要形式)返回到右边TEdit
!