首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

××××触摸屏摸拟键盘输入,看看错在哪里××××该如何解决

2012-02-10 
触摸屏摸拟键盘输入,看看错在哪里speendbutton的caption就是字母,点一下,通过caption向edit1里加一个字母,

××××触摸屏摸拟键盘输入,看看错在哪里××××
speendbutton的caption就是字母,点一下,通过caption向edit1里加一个字母,请问这段程序,错在哪里呀

unit   Unit1;

interface

uses
    Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,
    Dialogs,   Buttons,   StdCtrls;

type
    TForm1   =   class(TForm)
        edt1:   TEdit;
        btn1q:   TSpeedButton;
        btn1w:   TSpeedButton;
        btn1e:   TSpeedButton;
        procedure   btnClick(Sender:   TObject);
        procedure   enterClick(Sender:   TObject);
        procedure   delClick(Sender:   TObject);
        procedure   FormActivate(Sender:   TObject);

    private
        {   Private   declarations   }
    public
        {   Public   declarations   }
    end;

var
    Form1:   TForm1;

implementation
uses   StrUtils;
{$R   *.dfm}
procedure   TForm1.btnClick(Sender:   TObject);
begin
    PostMessage(ActiveControl.Handle,WM_CHAR,ord((sender   as   tspeedbutton).Caption[1]),0);
    edt1.text:=edt1.Text+(sender   as   tspeedbutton).Caption;
    edt1.SelStart:=Length(edt1.Text);
end;

procedure   TForm1.enterClick(Sender:   TObject);
begin
    postmessage(ActiveControl.Handle,wm_keydown,vk_return,0);
end;

procedure   TForm1.delClick(Sender:   TObject);
begin
    postmessage(ActiveControl.handle,wm_keydown,VK_BACK,0);
end;


procedure   TForm1.FormActivate(Sender:   TObject);
begin
self.edt1.Focused;
end;

end.

[解决办法]
为什么要用PostMessage?

热点排行