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
'--------------------------------------------------------------------------------