thank you Cecil I found the solution to insert a figure under a fill-in but it is necessary to test the code with my program of the box because it is a delicate one to apply it in the fill-in of the seizure.
Hello,
I did another approach, more efficient, using keybd_event from Win32 API.
You can customize the virtual keyboard with any keystrokes that you need.
Try it and let me know.
&SCOPED-DEFINE VK_BACK 0x08
&SCOPED-DEFINE VK_0 0x60
&SCOPED-DEFINE VK_1 0x61
&SCOPED-DEFINE VK_2 0x62
&SCOPED-DEFINE VK_3 0x63
&SCOPED-DEFINE VK_4 0x64
&SCOPED-DEFINE VK_5 0x65
&SCOPED-DEFINE VK_6 0x66
&SCOPED-DEFINE VK_7 0x67
&SCOPED-DEFINE VK_8 0x68
&SCOPED-DEFINE VK_9 0x69
&SCOPED-DEFINE VK_OEM_COMMA 188
&SCOPED-DEFINE VK_OEM_PERIOD 190
&SCOPED-DEFINE VK_OEM_PERIOD 0x14
ON ENTRY OF fi-decimal IN FRAME frm-data-types /* Decimal */
DO:
Def var pos as integer no-undo.
pos = index( SELF:SCREEN-VALUE,'.').
self:SET-SELECTION( pos, pos).
END.
APPLY "SHIFT-F1" TO widget-handle.
&SCOPED-DEFINE KEYSHIFT 0x10
&SCOPED-DEFINE KEYF1 0x70
&SCOPED-DEFINE KEYPRESDOWN 0x01
&SCOPED-DEFINE KEYPRESUP 0x02
DEFINE VARIABLE retCode AS INTEGER NO-UNDO.
RUN keybd_event ({&KEYSHIFT}, 0, 0, 0, OUTPUT retCode).
RUN keybd_event ({&KEYF1}, 0, 0, 0, OUTPUT retCode).
RUN keybd_event ({&KEYF1}, 0, {&KEYPRESUP}, 0, OUTPUT retCode).
RUN keybd_event ({&KEYSHIFT}, 0, {&KEYPRESUP}, 0, OUTPUT retCode).
excuse me Cecil I did not understand how I can put a combination in a button "Shift + F1" ?????
abl + xml ???
<keyboard key-label="SHIFT+F1" shift-key="true" key-value="112" layer="1" row="1" pos="1">
<width>61</width>
<height>58</height>
<indent>0</indent>
<image-up/>
<image-dwn/>
</keyboard>
key-value="112"
, 112 is the decimal representation of the HEX value of 0x70
. 0x70
is the F1 key.shift-key="true"
is set to true.image-up
& image-dwn
elements are not yet implemented. The idea that the button will show an image rather than the text.