Hi Paul,
as well on my keyboard shift and minus key should result in underscore. This key is neighbor of the right shift key on my keyboard.
I tried to isolate a small example from my code and found, that under some (un-identified) circumstances this key combination was acting like ctrl+v (paste).
Then I found the source of the problem: The accelerator key Shift+Ins. Without that line everything works fine.
WINAPP '..\\icons\\rc_bbman.rc'
PROGRAM BgoPara ! Parameter settings for .....
USE GlobalData
USE BgoParaData
IMPLICIT NONE
INCLUDE <win32api.ins>
INCLUDE <clearwin.ins>
:
:
MA = WINIO@ ('%ac[Ctrl+z]&', 'EDIT_UNDO')
MA = WINIO@ ('%ac[Ctrl+c]&', CB_COPY)
MA = WINIO@ ('%ac[Ctrl+v]&', CB_INSERT)
MA = WINIO@ ('%ac[Shift+Del]&', CB_CUT)
!>> MA = WINIO@ ('%ac[Shift+Ins]&', CB_PASTE) <<<<
MA = WINIO@ ('%sh', HD_IMAGE)
MODULE BgoParaData
IMPLICIT NONE
:
:
TYPE EB_EDIT_INFO ! Edit boxes for points and photos
INTEGER EB_H_POSITION
INTEGER EB_V_POSITION
INTEGER EB_LAST_LINE
INTEGER, POINTER :: EB_BUFFER
INTEGER EB_BUFFER_SIZE
INTEGER EB_MAX_BUFFER_SIZE
INTEGER EB_CURRENT_POSITION
INTEGER EB_SELECTION
INTEGER EB_N_SELECTED
INTEGER EB_VK_KEY
INTEGER EB_VK_SHIFT
INTEGER EB_ACTIVE
INTEGER EB_MODIFIED
INTEGER EB_CLOSING
INTEGER EB_USER_COLOURS
INTEGER EB_UNDO
INTEGER EB_LIMITED_HSCROLLBAR
INTEGER EB_NO_FRAME
INTEGER EB_NO_CURSOR_SNAP
INTEGER EB_REPORT_DOUBLE_CLICK
INTEGER EB_REPORT_RIGHT_CLICK
INTEGER EB_RESERVED(3)
END TYPE EB_EDIT_INFO
INTEGER IBOX1(24), IBOX2(24), NREBOX
TYPE (EB_EDIT_INFO) :: BOX1, BOX2
EQUIVALENCE (BOX1, IBOX1)
EQUIVALENCE (BOX2, IBOX2)
END MODULE BgoParaData
INTEGER FUNCTION CB_PASTE ()
USE BgoParaData
IMPLICIT NONE
INCLUDE <clearwin.ins>
IF (NREBOX .EQ. 1) THEN ! Select box 1 or 2
CALL EDIT_CLIPBOARD_PASTE@ (IBOX1)
CALL NEXT_EDIT_OPERATION@ (IBOX1)
ELSE IF (NREBOX .EQ. 2) THEN
CALL EDIT_CLIPBOARD_PASTE@ (IBOX2)
CALL NEXT_EDIT_OPERATION@ (IBOX2)
ENDIF
CB_PASTE = 1
RETURN
END
Can you reproduce this or identify a fault in my code?
Erwin