诸位,在我的一个程序中,其他form都没问题,唯独一个form1中,TEdit控件编写OnKeyDown事件代码后,需要按ctrl+enter才相应回车,而不是按enter就相应,这是为啥啊,也就是说,我希望在用户按回车后做些操作,但是只按enter键不触发kendown事件,必须按ctrl+enter才可以,这是哪里设置不对吗?注:有人说和窗体的keypreview属性有关,但我 true和false都试过了,问题如故,请大家帮忙啊。
解决方案 »
- 【求教】公司市场部是不是接了单子交接给技术部就不用再关心了?
- 最近比较烦.....
- quickreport 打印无法分页 使用newpage有错(illegal call to newpage)无法使用
- access随机记录的问题,还有默认值的问题
- DBgridEh 倒出 TXT 的格式问题
- 各位高手:Delphi中如何用Socket控件實現MSN消息提示???
- 急救!!“在线”等一个数据库问题(给“100”分如不够,还可以加分)查询到的数据如何分页显示,先谢谢!
- 用SQL语句判断数据库中是否有记录,怎么编写更完美!
- 向各位老师请教!紧急援助!
- 为什么2000下面的应用程序在98下面每个Form都变大了很多?
- 100分求翻译一段java代码,翻译成delphi可以用的
- 没分的问题,怎样使cxSpreadSheet装载数据的速度快一些!
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, jpeg, StdCtrls, Buttons,SaleLibrary_Intf,ServiceOperator,ErrLogs,ClientInfo,
Grids, DBGrids,math;type
TfrmAgreementSales = class(TForm)
img1: TImage;
shp1: TShape;
Shape1: TShape;
btnSubMit: TBitBtn;
btn2: TBitBtn;
grp1: TGroupBox;
lbl1: TLabel;
lbl2: TLabel;
lblcustomer: TLabel;
Label1: TLabel;
lbladdress: TLabel;
Label3: TLabel;
lblphone: TLabel;
Label5: TLabel;
lblfax: TLabel;
Label7: TLabel;
lblcontact: TLabel;
Label9: TLabel;
lblmobile: TLabel;
Label11: TLabel;
lblrebate: TLabel;
Label13: TLabel;
lblbalance: TLabel;
Label15: TLabel;
lbljoindate: TLabel;
Label17: TLabel;
lblvaliddate: TLabel;
Label19: TLabel;
lbldescribe: TLabel;
GroupBox1: TGroupBox;
Label20: TLabel;
Label21: TLabel;
lblTName: TLabel;
Label23: TLabel;
lblCTName: TLabel;
lbl6: TLabel;
lblPrice: TLabel;
Label24: TLabel;
lblPricePractice: TLabel;
cbbTicketType: TComboBox;
grp2: TGroupBox;
grp3: TGroupBox;
lbl8: TLabel;
lblPriceCount: TLabel;
chk1: TCheckBox;
Label27: TLabel;
lblVP: TLabel;
GroupBox2: TGroupBox;
Label29: TLabel;
edtTicketNum: TEdit;
StringGrid1: TStringGrid;
btnClrae: TBitBtn;
EdtAgreeNum: TEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cbbTicketTypeSelect(Sender: TObject);
procedure edtAgreeNumExit(Sender: TObject);
procedure edtTicketNumKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure EdtAgreeNumKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure btnSubMitClick(Sender: TObject); private
{ Private declarations }
TicketTypeList:TTicketTypeList;
//当前被选择的票种
TicketType:TTicketType;
//协议信息
Agreement:TAgreement;
GroupSaleStateList:TGroupSaleStateList;
GroupSaleState:TGroupSaleState;
public
{ Public declarations }
end;var
frmAgreementSales: TfrmAgreementSales;implementation{$R *.dfm}procedure TfrmAgreementSales.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
frmAgreementSales := nil;
end;procedure TfrmAgreementSales.btn2Click(Sender: TObject);
begin
Close;
end;procedure TfrmAgreementSales.FormCreate(Sender: TObject);
begin
TicketTypeList:=TTicketTypeList.Create;
TicketType:=TTicketType.Create;
Agreement:=TAgreement.Create;
end;procedure TfrmAgreementSales.FormShow(Sender: TObject);
var
RInfo:String;{访问服务接口返回消息}
i:integer;
IsSuccess:boolean;
begin
try
IsSuccess:=formso.ListTicketTypes();
if not IsSuccess then
begin
//messagebox(handle,Pchar(RInfo),'提示',MB_ICONWARNING);
close;
end
else
begin
for i:=0 to (TicketTypeList.Count-1) do
begin
cbbTicketType.Items.Add(TicketTypeList.Items[i].name);
end;
StringGrid1.Cells[0,0]:='序号';
StringGrid1.Cells[1,0]:='票号';
StringGrid1.Cells[2,0]:='状态';
StringGrid1.Cells[3,0]:='状态标志';
StringGrid1.ColWidths[1]:=200;
StringGrid1.ColWidths[2]:=250;
end;
except
on E:Exception do
begin
end;
end;
end;procedure TfrmAgreementSales.cbbTicketTypeSelect(Sender: TObject);
var
i:integer;
begin
//TicketType:=TicketTypeList.Search('name',cbb1.Text);
lblTName.Caption := '';
lblCTName.Caption := '';
lblVP.Caption := '';
lblPrice.Caption := '';
lblPriceCount.Caption:='';
lblPricePractice.Caption:='';
for i:=0 to TicketTypeList.Count-1 do
begin
if (TicketTypeList.Items[i].name= cbbTicketType.Text)then
begin
lblTName.Caption :=TicketTypeList.Items[i].name;
lblCTName.Caption := TicketTypeList.Items[i].chargetypeName;
lblVP.Caption := inttostr(TicketTypeList.Items[i].validperiod)+'天';
lblPrice.Caption := floattostr(TicketTypeList.Items[i].price);
//lblTID.Caption:=IntToStr(TicketTypeList.Items[i].id);
TicketType:=TicketTypeList.Items[i];
GetPricePractice;
exit;
end;
end;
end;procedure TfrmAgreementSales.edtAgreeNumExit(Sender: TObject);
begin
GetAgreeMent;
end;procedure TfrmAgreementSales.edtTicketNumKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key<>13 then
exit;
SaleTicket;
end;procedure TfrmAgreementSales.SaleTicket;
begin
end;procedure TfrmAgreementSales.EdtAgreeNumKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key=13 then
GetAgreeMent;
end;procedure TfrmAgreementSales.btnSubMitClick(Sender: TObject);
var
i:integer;
Btn:integer;
IsSuccess:boolean;
//是否有提交失败的
HasFaild:boolean;
//是否全部提交完成了
SubMIted:boolean;
Rinfo:string;
begin
try
IsSuccess:=formso.Sales(); for i:=0 to GroupSaleStateList.Count -1 do
begin
StringGrid1.Cells[1,i+1]:= GroupSaleStateList.Items[i].TicketNum;
StringGrid1.Cells[2,i+1]:= GroupSaleStateList.Items[i].StateInfo;
StringGrid1.Cells[3,i+1]:= GroupSaleStateList.Items[i].State;
end;
except
on E:Exception do
begin
TErrLog.WriteLogWithMsg('TfrmGroupSales.btnSubMitClick',E.Message,'提交时发生异常错误。',handle);
end;
end;
end;end.
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_RETURN then
ShowMessage('Ok');
end;
这几天试了试,发现把btnClrae和btnSubMit两个按钮删掉就回复正常了,谁知道什么原因?