Die Links Woody sind gebrochen, und ich kann nicht überall die Stelle der virtuellen Tastatur finden . Ich habe daran gearbeitet es gibt viele Jahre her. i Sie unter dem flachen Code i der virtuellen Tastatur holzig in nur einer angepassten Form prg-hoffe das hilft dir (mein Blog: http://yousfi.over-blog.com/)
*Begin code
set safe off
set defa to addbs(justpath(sys(16,1)))
publi m.myvar1,m.myvar2,m.myvar3
text to m.myvar1 noshow
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
endtext
strtofile(strconv(m.myvar1,14),'img1.jpg')
text to m.myvar2 noshow
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
endtext
strtofile(strconv(m.myvar2,14),'img2.jpg')
text to m.myvar3 noshow
/9j/4AAQSkZJRgABAQEASABIAAD/2wBDABALCwwMDBENDREYEA4QGBwVEREVHCEZGRkZGSEgGRwcHBwZICAlJygnJSAwMDQ0MDBAQEBAQEBAQEBAQEBAQED/2wBDAREQEBITEhYSEhYWEhUSFhwWFxcWHCgcHB0cHCgxJSAgICAlMSwvKCgoLyw2NjExNjZAQD9AQEBAQEBAQEBAQED/wAARCABGAEYDASIAAhEBAxEB/8QAGgABAQADAQEAAAAAAAAAAAAAAAMCBAYFAf/EADIQAAECAQkHAwMFAAAAAAAAAAABAgMEBRETFTRRcrEGEjGBktHwISMyQVKhIkJhccH/xAAZAQACAwEAAAAAAAAAAAAAAAAAAwECBQT/xAAiEQACAQIGAwEAAAAAAAAAAAAAAQIDEQQSMUFRcRMzkSH/2gAMAwEAAhEDEQA/AOwr4cvarGL6etB4UrmpGxFpVepe5CZpU9sCEqLxYmheUSp7n0qopyO+nQs9mmtzXsxmLup3cWYzF3U7uZV7hXuK5h/iXEfhjZjMXdTu4sxmLup3cyr3CvcGYPEuI/DGzGYu6ndzUlUhhs+7qd3N2vca0peruJFyVSjvGPwzmKfUmqO6TyuI5ZG9u9D3l3lY9FT0Sn6LSDmZ/WiA1U47/wDigdHQz68YxqNJHRzTdoORuheL8iE03aDkboXi/ISzRht0jAAFRgAAACMfgWIx+AEnO7QXdudNFA2gu7c6aKDohoZWK9r6Okmm7QcjdC8X5EJpu0HI3QvF+QlmhDbpGAAKjAAAAEY/AsRj8AJOd2gu7c6aKBtBd2500UHRDQysV7X0dJNN2g5G6F4vyNGbI+7JoX8MRF5Gw+UIqiWaMF+LpGYJVyCuQqMKglXIK5AAqRj8D7XISixEVAA8HaC7tzpooE+Uvgta1KV3qfwDohoZWJ9j6PXnrdmicYsn4wonvQqP2teq/pX+lpNG1WYO85gFGlcfTnLIv0WozB3nMWozB3nMAixfPLkWozB3nMWozB3nMALBnlyLUZg7zmYrObF+jvOYAWDPLk97ZCQwJxiRpbKG78KH7MOGv3ejnOX8UAAatDgqNuTP/9k=
endtext
strtofile(strconv(m.myvar3,14),'img3.jpg')
publi yform
yform=newObject("asup")
yform.show
read events
retu
*
DEFINE CLASS asup AS form
Height = 222
Width = 252
AutoCenter = .T.
Caption = "Sampleform for Virtual Keyboard"
*-- Reference for the Keyboard
okeyboard = .NULL.
Name = "Form1"
ADD OBJECT label1 AS label WITH ;
AutoSize = .T., ;
BackStyle = 0, ;
Caption = "Enter Value:", ;
Height = 17, ;
Left = 24, ;
Top = 36, ;
Width = 68, ;
Style = 3, ;
Name = "Label1"
ADD OBJECT text1 AS textbox WITH ;
FontName = "Courier New", ;
Alignment = 3, ;
Value = 0, ;
Height = 23, ;
InputMask = "999,999.999", ;
Left = 100, ;
SelectOnEntry = .T., ;
Top = 33, ;
Width = 128, ;
Name = "Text1"
ADD OBJECT label2 AS label WITH ;
AutoSize = .T., ;
BackStyle = 0, ;
Caption = "Enter Value:", ;
Height = 17, ;
Left = 25, ;
Top = 68, ;
Width = 68, ;
Style = 3, ;
Name = "Label2"
ADD OBJECT text2 AS textbox WITH ;
FontName = "Courier New", ;
Alignment = 3, ;
Value = 0, ;
Height = 23, ;
InputMask = "999,999.999", ;
Left = 101, ;
SelectOnEntry = .T., ;
Top = 65, ;
Width = 128, ;
Name = "Text2"
ADD OBJECT label3 AS label WITH ;
AutoSize = .T., ;
BackStyle = 0, ;
Caption = "Enter Value:", ;
Height = 17, ;
Left = 25, ;
Top = 99, ;
Width = 68, ;
Style = 3, ;
Name = "Label3"
ADD OBJECT text3 AS textbox WITH ;
FontName = "Courier New", ;
Alignment = 3, ;
Value = 0, ;
Height = 23, ;
InputMask = "999,999.999", ;
Left = 101, ;
SelectOnEntry = .T., ;
Top = 96, ;
Width = 128, ;
Name = "Text3"
ADD OBJECT label4 AS label WITH ;
AutoSize = .T., ;
BackStyle = 0, ;
Caption = "Enter Value:", ;
Height = 17, ;
Left = 26, ;
Top = 131, ;
Width = 68, ;
Style = 3, ;
Name = "Label4"
ADD OBJECT text4 AS textbox WITH ;
FontName = "Courier New", ;
Alignment = 3, ;
Value = 0, ;
Height = 23, ;
InputMask = "999,999.999", ;
Left = 102, ;
SelectOnEntry = .T., ;
Top = 128, ;
Width = 128, ;
Name = "Text4"
ADD OBJECT label5 AS label WITH ;
AutoSize = .T., ;
WordWrap = .T., ;
Caption = "Here the additional OK Button closes the entry form", ;
Height = 32, ;
Left = 12, ;
Top = 168, ;
Width = 204, ;
Name = "Label5"
PROCEDURE Destroy
** Kill the Keyboard
Thisform.okeyboard = .NULL.
ENDPROC
PROCEDURE Init
*
* THISFORM.oKeyboard = NEWOBJECT("tlbNumKeyboard1") &&uncomment to see another keybord....
** choose the one you like best
THISFORM.oKeyboard = NEWOBJECT("tlbNumKeyboard2")
** see also Form.Destroy for killig it
WITH THISFORM.oKeyboard
.LEFT = THISFORM.LEFT + THISFORM.WIDTH && position to the right of form
.TOP = (_SCREEN.HEIGHT - .HEIGHT) /2
.VISIBLE = .T.
ENDWITH
ENDPROC
PROCEDURE text1.LostFocus
This.BackColor = RGB(255,255,255)
ENDPROC
PROCEDURE text1.GotFocus
This.BackColor = RGB(255,128,255)
ENDPROC
PROCEDURE text2.GotFocus
This.BackColor = RGB(255,128,255)
ENDPROC
PROCEDURE text2.LostFocus
This.BackColor = RGB(255,255,255)
ENDPROC
PROCEDURE text3.GotFocus
This.BackColor = RGB(255,128,255)
ENDPROC
PROCEDURE text3.LostFocus
This.BackColor = RGB(255,255,255)
ENDPROC
PROCEDURE text4.GotFocus
This.BackColor = RGB(255,128,255)
ENDPROC
PROCEDURE text4.LostFocus
This.BackColor = RGB(255,255,255)
ENDPROC
Procedure destroy
clea events
endproc
ENDDEFINE
*
*-- EndDefine: asup
**************************************************
*
DEFINE CLASS cmdkeyboard AS commandbutton
Height = 70
Width = 70
FontBold = .T.
FontName = "Verdana"
FontSize = 22
Picture = "img1.jpg" &&"images\rot02_70x70.jpg"
Caption = "1"
PicturePosition = 12
Alignment = 2
Name = "cmdkeyboard"
PROCEDURE Click
DO CASE
CASE This.Caption ="C"
KEYBOARD "{BACKSPACE}"
CASE This.Caption ="Space"
KEYBOARD " "
CASE This.Caption ="<"
KEYBOARD "{LEFTARROW}"
CASE This.Caption =">"
KEYBOARD "{RIGHTARROW}"
CASE This.Caption = CHR(0xFC) && this is the Ansicode of that WingDings symbols, See \Windows\CharMap.exe for those codes
KEYBOARD "{ENTER}"
** Want to close the form?
_screen.ActiveForm.release()
CASE This.Caption = CHR(0xD9)
KEYBOARD "{UPARROW}"
CASE This.Caption = CHR(0xDA)
KEYBOARD "{DNARROW}"
CASE This.Caption = "."
KEYBOARD SET("POINT") && for international settings
OTHERWISE
KEYBOARD This.Caption
ENDCASE
ENDPROC
ENDDEFINE
*
*-- EndDefine: cmdkeyboard
*
DEFINE CLASS cntnumkeyboard1 AS container
Width = 209
Height = 278
BackStyle = 0
BorderWidth = 0
Name = "cntnumkeyboard1"
ADD OBJECT cmdkeyboard1 AS cmdkeyboard WITH ;
Top = 0, ;
Left = 0, ;
Name = "Cmdkeyboard1"
ADD OBJECT cmdkeyboard2 AS cmdkeyboard WITH ;
Top = 0, ;
Left = 69, ;
Caption = "2", ;
Name = "Cmdkeyboard2"
ADD OBJECT cmdkeyboard3 AS cmdkeyboard WITH ;
Top = 0, ;
Left = 138, ;
Caption = "3", ;
Name = "Cmdkeyboard3"
ADD OBJECT cmdkeyboard4 AS cmdkeyboard WITH ;
Top = 69, ;
Left = 0, ;
Caption = "4", ;
Name = "Cmdkeyboard4"
ADD OBJECT cmdkeyboard5 AS cmdkeyboard WITH ;
Top = 69, ;
Left = 69, ;
Caption = "5", ;
Name = "Cmdkeyboard5"
ADD OBJECT cmdkeyboard6 AS cmdkeyboard WITH ;
Top = 69, ;
Left = 138, ;
Caption = "6", ;
Name = "Cmdkeyboard6"
ADD OBJECT cmdkeyboard7 AS cmdkeyboard WITH ;
Top = 138, ;
Left = 0, ;
Caption = "7", ;
Name = "Cmdkeyboard7"
ADD OBJECT cmdkeyboard8 AS cmdkeyboard WITH ;
Top = 138, ;
Left = 69, ;
Caption = "8", ;
Name = "Cmdkeyboard8"
ADD OBJECT cmdkeyboard9 AS cmdkeyboard WITH ;
Top = 138, ;
Left = 138, ;
Caption = "9", ;
Name = "Cmdkeyboard9"
ADD OBJECT cmdkeyboard10 AS cmdkeyboard WITH ;
Top = 207, ;
Left = 0, ;
Caption = ".", ;
Name = "Cmdkeyboard10"
ADD OBJECT cmdkeyboard11 AS cmdkeyboard WITH ;
Top = 207, ;
Left = 69, ;
Caption = "0", ;
Name = "Cmdkeyboard11"
ADD OBJECT cmdkeyboard12 AS cmdkeyboard WITH ;
Top = 207, ;
Left = 138, ;
Caption = "C", ;
Name = "Cmdkeyboard12"
ENDDEFINE
*
*-- EndDefine: cntnumkeyboard1
*
DEFINE CLASS cntnumkeyboard2 AS cntnumkeyboard1
Width = 284
Height = 279
Name = "cntnumkeyboard2"
Cmdkeyboard1.Name = "Cmdkeyboard1"
Cmdkeyboard2.Name = "Cmdkeyboard2"
Cmdkeyboard3.Name = "Cmdkeyboard3"
Cmdkeyboard4.Name = "Cmdkeyboard4"
Cmdkeyboard5.Name = "Cmdkeyboard5"
Cmdkeyboard6.Name = "Cmdkeyboard6"
Cmdkeyboard7.Name = "Cmdkeyboard7"
Cmdkeyboard8.Name = "Cmdkeyboard8"
Cmdkeyboard9.Name = "Cmdkeyboard9"
Cmdkeyboard10.Name = "Cmdkeyboard10"
Cmdkeyboard11.Name = "Cmdkeyboard11"
Cmdkeyboard12.Name = "Cmdkeyboard12"
ADD OBJECT cmdkeyboard13 AS cmdkeyboard WITH ;
Top = 1, ;
Left = 212, ;
Height = 70, ;
Width = 70, ;
FontName = "Wingdings", ;
Picture ="img2.jpg", ;
Caption = "Ù", ;
Name = "Cmdkeyboard13"
ADD OBJECT cmdkeyboard14 AS cmdkeyboard WITH ;
Top = 70, ;
Left = 212, ;
Height = 70, ;
Width = 70, ;
FontName = "Wingdings", ;
Picture = "img2.jpg", ;
Caption = "Ú", ;
Name = "Cmdkeyboard14"
ADD OBJECT cmdkeyboard15 AS cmdkeyboard WITH ;
Top = 139, ;
Left = 212, ;
Height = 139, ;
Width = 70, ;
FontName = "Wingdings", ;
FontSize = 34, ;
Picture = "img2.jpg" , ;
Caption = "ü", ;
Name = "Cmdkeyboard15"
ENDDEFINE
*
*-- EndDefine: cntnumkeyboard2
**************************************************
*
DEFINE CLASS tlbnumkeyboard1 AS toolbar
Caption = "Numeric Input"
Height = 284
Left = 0
Top = 0
Width = 219
ControlBox = .F.
Name = "tlbnumkeyboard1"
ADD OBJECT cntnumkeyboard1 AS cntnumkeyboard1 WITH ;
Top = 3, ;
Left = 5, ;
Name = "Cntnumkeyboard1", ;
Cmdkeyboard1.Name = "Cmdkeyboard1", ;
Cmdkeyboard2.Name = "Cmdkeyboard2", ;
Cmdkeyboard3.Name = "Cmdkeyboard3", ;
Cmdkeyboard4.Name = "Cmdkeyboard4", ;
Cmdkeyboard5.Name = "Cmdkeyboard5", ;
Cmdkeyboard6.Name = "Cmdkeyboard6", ;
Cmdkeyboard7.Name = "Cmdkeyboard7", ;
Cmdkeyboard8.Name = "Cmdkeyboard8", ;
Cmdkeyboard9.Name = "Cmdkeyboard9", ;
Cmdkeyboard10.Name = "Cmdkeyboard10", ;
Cmdkeyboard11.Name = "Cmdkeyboard11", ;
Cmdkeyboard12.Name = "Cmdkeyboard12"
ENDDEFINE
*
*-- EndDefine: tlbnumkeyboard1
*
DEFINE CLASS tlbnumkeyboard2 AS toolbar
Caption = "Numeric Input"
Height = 285
Left = 0
Top = 0
Width = 294
ControlBox = .F.
Name = "tlbnumkeyboard2"
ADD OBJECT cntnumkeyboard21 AS cntnumkeyboard2 WITH ;
Top = 3, ;
Left = 5, ;
Name = "Cntnumkeyboard21", ;
Cmdkeyboard1.Name = "Cmdkeyboard1", ;
Cmdkeyboard2.Name = "Cmdkeyboard2", ;
Cmdkeyboard3.Name = "Cmdkeyboard3", ;
Cmdkeyboard4.Name = "Cmdkeyboard4", ;
Cmdkeyboard5.Name = "Cmdkeyboard5", ;
Cmdkeyboard6.Name = "Cmdkeyboard6", ;
Cmdkeyboard7.Name = "Cmdkeyboard7", ;
Cmdkeyboard8.Name = "Cmdkeyboard8", ;
Cmdkeyboard9.Name = "Cmdkeyboard9", ;
Cmdkeyboard10.Name = "Cmdkeyboard10", ;
Cmdkeyboard11.Name = "Cmdkeyboard11", ;
Cmdkeyboard12.Name = "Cmdkeyboard12", ;
Cmdkeyboard13.Name = "Cmdkeyboard13", ;
Cmdkeyboard14.Name = "Cmdkeyboard14", ;
Cmdkeyboard15.Name = "Cmdkeyboard15"
ENDDEFINE
*
*-- EndDefine: tlbnumkeyboard2
*endcode
Sie so viel für Ihren Code danken. Es funktioniert wirklich. –
Lieber Yousfi, ich habe eine Klasse mit Schaltflächen erstellt und sie platziert und eine weitere Klasse als Container für die Tastatur erstellt. Jetzt habe ich diese Klasse in einer Form benutzt. Wenn ich auf eine Schaltfläche in der Tastatur klicke, während sich der Mauszeiger in einem Textfeld außerhalb der Klasse, aber in einem Formular befindet. Es hat nicht funktioniert. –
Ich erstelle eine Klasse nach Ihrem Code, (ein Container mit nummerierten Schaltflächen) Aber wenn ich die Klasse als Objekt in der Hauptform verwende, habe ich ein Problem gefunden. Wenn ich eine nummerierte Taste drücke, während sich der Cursor außerhalb des Containers befindet, funktioniert die Tastaturtaste nicht und das Textfeld erhält den Wert. Irgendeine Idee ? –