读书人

怎么实现小键盘输入

发布时间: 2012-02-09 18:22:27 作者: rapoo

如何实现小键盘输入?
在输入密码的时候要求小键盘输入,如何才能做到这一点?

[解决办法]
以下代码经试验获得成功

.h
private:
void __fastcall NewWndProc(TMessage& Message);

.cpp
TWndMethod OldWndProc;
//---------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
OldWndProc = Edit1-> WindowProc;
Edit1-> WindowProc = NewWndProc;
}
//---------------------------------------

void __fastcall TForm1::NewWndProc(TMessage& Message)
{
int nVirtKey;
if (Message.Msg==WM_CHAR)
{
return;
}
if (Message.Msg==WM_KEYDOWN)
{
nVirtKey = (int) Message.WParam;
if(nVirtKey> =96&&nVirtKey <106)
{
Edit1-> Text=Edit1-> Text+AnsiString(nVirtKey-96);
Edit1-> SelStart=Edit1-> Text.Length();
}
else
{
return;
}
}
OldWndProc(Message);
}

读书人网 >C++ Builder

热点推荐