××××触摸屏摸拟键盘输入,看看错在哪里××××
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?