问题如下:
有三个输入框Edit1,Edit2,Edit3和11个SpeedButton(分别标以9876543210.),当按动按钮时在Edit中输入数字。我在其中被输入焦点搞得昏头转向,变大家帮一下啦,谢谢。
有三个输入框Edit1,Edit2,Edit3和11个SpeedButton(分别标以9876543210.),当按动按钮时在Edit中输入数字。我在其中被输入焦点搞得昏头转向,变大家帮一下啦,谢谢。
解决方案 »
- TDBGrid组件,修改数据表问题
- 请教精通dll的高手,DLL封装MDI子窗体,如何在窗体关闭时自动卸载dll,以减少内存占用?
- 短信开发问题,关于AT+CNMI丢失和接收发送冲突
- TPageProducer的OnHTMLTag事件在什么时候触发啊?
- 怎样输入这些类型的数据?
- 关于网络的一点问题!
- 简单问题,答者得分(在线等候,请各位帮忙啊!!!!!!!!!)
- 我想在程序运行期间动态生成对象,我应该怎么办
- 自己写的VCL控件怎样改变其在控件栏上的图标?
- 在IE上显示“LOGIN FAILED FOR USER 'YOUOU'”为何?
- 编译项目时,出现error,"Required Package "dxDockingD7" not found;请问是什么原因,如何解决?
- ODBC建立數據源問題
Shift: TShiftState);
begin
if (key=190) or (key=110) then showmessage('.');
end;
if((Key<'0')and(Key>'9'))and(Key<>'.')then
Key:=#0;
begin
if((Key<'0')or(Key>'9'))and(Key<>'.')then
Key:=#0;
end;除了edit之外的控件在KeyPress(Sender: TObject; var Key: Char)中写成这样
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if((Key>='0')and(Key<='9'))or(Key='.')then
Edit1.text:=edit1.text+Key
end;
---------------------------------------------------------------------------Re:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9','.',Chr(VK_RETURN),Chr(VK_BACK)]) then
Key := #0;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if pos('.',Edit1.Text)>0 then if key = '.' then key := #0; //只允许存在一个.
if not (key in ['0'..'9','.',#8,#46]) then key := #0;
end;
其实我的问题大致就是要实现像windows下的计算器的按钮输入功能,只不过不同的是要在不同的edit中去输入罢了。谢谢
SetWindowLong(Edit1.Handle,GWL_STYLE,GetWindowLong(Edit1.Handle,GWL_STYLE) or es_Right);
有三个输入框Edit1,Edit2,Edit3和11个SpeedButton(分别标以9876543210.),当按动按钮时可在任一个有输入焦点的Edit中输入数字和小数点,功能类似计算器中的输入。谢谢了。
var
edit:Tedit; if Edit.Focused then
begin
Edit.Text := Edit.Text+'数字';
end;