0

テキストボックスに入力するときに文字とスペースのみを受け入れる方法がわかりません。WM_Keydownを使用できると思いますが、入力する編集コントロールがわからないと思います。これがフォームを作成するためのコードです。

void CREATE_EDITNAMECONTROL()

Create_Control( hNameEditControl,   /* Handle */
    NULL,//NULL,        /* Handle of parent */
    L"Edit",  /* class name */
    ID_EDIT_CONTROl , /* ID     */
    L"",        /* Caption/Title */
    EDITCONTROL_STYLE, /* Style */
    200,        /* Position X */
    70,     /* Position Y */
    160,        /* Width      */
    30 );       /* Height     */

void CREATE_EDITDATECONTROL()

Create_Control( hDateEditControl, /* Handle */ NULL,//NULL, /* Handle of parent */ L"Edit", /* class name */ ID_EDIT_CONTROl , /* ID */ L"", /* Caption/Title */ EDITCONTROL_STYLE, /* Style */ 200, /* Position X */ 110, /* Position Y */ 160, /* Width */ 30 ); /* Height */

4

1 に答える 1

1

でWindowsメッセージを受信するWndProcと、ターゲットウィンドウハンドルがとして渡されhWndます。この値を各コントロールに保存されているハンドルと比較して、イベントをトリガーしたハンドルを判別できます。

関連する編集コントロールの場合は、テキストをフィルタリングして適切に変更できます。

WM_KEYDOWN右クリックして貼り付けるなど、メッセージを含まない編集コントロールのテキストを変更する方法はたくさんあることに注意してください。

于 2012-10-09T10:33:34.513 に答える