wuhan111 发表于 2008-7-6 13:42

请教一个关于EDIT控件问题 在线等

LRESULT         CALLBACK        DlgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
        HDC  hdc = ::GetDC(hWnd);
        switch(message)
        {

        case WM_COMMAND:
                {
                        UINT wID = LOWORD(wParam);
                        UINT wDWORD = HIWORD(wParam);

                        if (wID == IDOK || wID == IDCANCEL)
                        {
                                EndDialog(hWnd, LOWORD(wParam));
                                return TRUE;
                        }

                        if(wID == IDC_EDIT_NAME)
                        {
                               
                                if(wDWORD == EN_UPDATE )
                                {

                                        //我想在这里限定在EDIT控件输入一定的字符和数字   应该怎么限定
                                }
                        }

                }
                break;
        }

        return 0;
}
LRESULT         CALLBACK        WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{

        switch (message)
        {
               
        case WM_COMMAND:
                {
                        UINT wID = LOWORD(wParam);                       

                        if(wID == IDC_MENU_INPUT)
                        {
                                DialogBox(hInst, (LPCTSTR)IDD_DIALOG, hWnd, (DLGPROC)DlgProc);
                        }


                }
                break;
        case WM_DESTROY:
                ::PostQuitMessage(0);
                break;
        default:
                return DefWindowProc(hWnd, message, wParam, lParam);
        }

        return 0;
}

wuhan111 发表于 2008-7-6 21:33

怎么大家没个帮解决 ?  是不是太容易了不想回答?   这个是在SKD下 在COMMAND中响应Dialog, Dialog中有Edit控件

Arcticanimal 发表于 2008-7-6 22:51

MFC: 创建一个自己的edit控件类, 派生自CEdit, 重载OnChar()函数, 在里面进行过滤处理
non-MFC: 自己写个控件, 处理WM_CHAR消息

[[it] 本帖最后由 Arcticanimal 于 2008-7-6 22:54 编辑 [/it]]

missiyou 发表于 2008-7-8 18:04

char *p=GetWindowText()
n=strlen(p)
if(n>12)
SetWindowText(hwnd,"")
..................

[[it] 本帖最后由 missiyou 于 2008-7-8 18:06 编辑 [/it]]

页: [1]

编程论坛