· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.WIN32 —› Глючит Edit Control.

Посл.отвђт Сообщенiе


Дата: Ноя 24, 2003 07:40:27 · Поправил: Asterix

Использую сабклассированный Edit Control, в своей процедуре
фильтрую символы на соответствие маске 0123456789ABCDEF,
но иногда почему-то при вводе проскакивает таки символ 'f',
то бишь прописной, кто-нибудь с таким сталкивался??
SubclassEditProc2 PROC hEdit:DWORD,uMsg:DWORD,wParam:DWORD,lParam:DWORD
LOCAL pMyCopy:DWORD
  .if uMsg == WM_PASTE
     invoke GetClipboardText
       test eax,eax
       jz @F
       mov pMyCopy,eax 
       invoke GlobalLock,pMyCopy
        .if eax != 0
           invoke ScanString,eax
           test eax,eax
           jz @F
           invoke SendMessage,hEdit,EM_REPLACESEL,0,eax
           invoke GlobalUnlock,pMyCopy
        .endif
@@:
        ret
  .elseif uMsg==WM_CHAR
  invoke GetAsyncKeyState, VK_CONTROL
    .if !( eax && 80000000h )
        mov eax, wParam
      .if (al>="0" && al<="9") || (al>="A" && al<="F") || (al>="a" && al<="f") || al==VK_BACK
          .if al>="a" && al<="f"
              sub al,20h
          .endif
              invoke CallWindowProc,OldEditProc2,hEdit,uMsg,eax,lParam
              ret
      .endif
      xor eax,eax
      ret
    .endif
  .endif


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.062