File "AccentsMajuscules.inc"
Path: /HotKeyMgr/inc/AccentsMajuscules.inc
File size: 2.74 KB
MIME-type:
Charset: 8 bit
'--------------------------------------------------------------------------------
GLOBAL OldEDBProc AS LONG
'--------------------------------------------------------------------------------
'--------------------------------------------------------------------------------
CALLBACK FUNCTION ProcMajus()
STATIC hThread AS DWORD
LOCAL hEdit AS DWORD
LOCAL lRes AS LONG
SELECT CASE CB.MSG
CASE %WM_INITDIALOG
' Initialization handler
CONTROL HANDLE CB.HNDL, 102 TO hEdit
OldEDBProc = SETWINDOWLONG(hEdit, %GWL_WNDPROC, CODEPTR(EDBProc)) ' subclass
CONTROL SET FOCUS CB.HNDL, 102
CASE %WM_COMMAND
' Process control notifications
IF CB.CTL = %IDCANCEL THEN DIALOG END CB.HNDL, 0
END SELECT
END FUNCTION
'--------------------------------------------------------------------------------
'------------------------------------------------------------------------------
FUNCTION EDBProc(BYVAL hWnd AS LONG, BYVAL Msg AS LONG, _
BYVAL wParam AS LONG, BYVAL lParam AS LONG) AS LONG
IF Msg = %WM_KEYDOWN THEN ' Key press event
DIALOG END GetParent(hWnd), -1
LOCAL e AS STRING
SELECT CASE wParam ' virtual key pressed
CASE 50 : e = "" '
CASE 48 : e = "" '
CASE 57 : e = "" '
CASE 55 : e = "" '
CASE 192 : e = "" '
END SELECT
IF e <> "" THEN SendString e
END IF
FUNCTION = CallWindowProc(OldEDBProc, hWnd, Msg, wParam, lParam)
END FUNCTION
'------------------------------------------------------------------------------
'--------------------------------------------------------------------------------
FUNCTION ShowMajus(BYVAL hParent AS DWORD) AS LONG
LOCAL lRes AS LONG
LOCAL hDlg AS DWORD
LOCAL hEdit AS DWORD
LOCAL hIco AS DWORD
DIALOG NEW hParent, "Accents Majuscules", 310, 210, 180, 32, %WS_POPUP OR _
%WS_BORDER OR %WS_DLGFRAME OR %WS_SYSMENU OR _
%WS_CLIPSIBLINGS OR %WS_VISIBLE OR %DS_MODALFRAME OR _
%DS_3DLOOK OR %DS_NOFAILCREATE OR %DS_SETFONT, %WS_EX_WINDOWEDGE OR _
%WS_EX_CONTROLPARENT OR %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
%WS_EX_RIGHTSCROLLBAR, TO hDlg
hIco = ExtractIcon(GetModuleHandle(""), "shell32.dll", 73)
SetClassLong(hDlg, %GCL_HICONSM, hIco)
SetClassLong(hDlg, %GCL_HICON, hIco)
CONTROL ADD LABEL, hDlg, 100, _
"Tapez le caractre accentu convertir en majuscule...", _
2, 10, 176, 20
CONTROL ADD TEXTBOX, hDlg, 102, "", -1, -1, 0, 0
DIALOG SHOW MODAL hDlg, CALL ProcMajus TO lRes
FUNCTION = lRes
END FUNCTION
'--------------------------------------------------------------------------------