在线等候,马上给分!!!
在c++Build中实现
1、在一个EDIT中要控制其输入float数据?请将用到的头文件附上 20分
2、如何让通过showmodual方法生成的对话框中的控件(EDIT)显示时就有初始数据,初始数据由数据库中提取?30分
问题点数:50、回复次数:12Top
1 楼Libran()回复于 2002-10-08 13:24:28 得分 30
1,在Edit的OnPress里依据Key的值判断如字符的合法性(例如只能输入数字及小数点)。代码:
if ((Key<'0'||Key>'0')&&Key!=".") Key=NULL;
2,在Form的构造函数或OnCreate事件里赋初始值Top
2 楼Libran()回复于 2002-10-08 13:26:01 得分 0
错了:
if ((Key<'0'||Key>'9')&&Key!=".") Key=NULL;
Top
3 楼lihuitomo(李辉)回复于 2002-10-08 13:48:29 得分 0
再form的oncreate事件里赋值出现一个提示“can not focus a disable or invisible windows"
Edit1->Text=FloatToStr(float(2.5));Top
4 楼qiqi0934(绮绮)回复于 2002-10-08 14:00:23 得分 20
1、if(Edit1->Text>='0'&&Edit1->Text<='9'||Edit1->Text=='.')
{ }
else
{
...//正常代码
}
2、若用ADO连接数据库
Edit1->Text=ADOTable1->FieldByName("name")->AsString;Top
5 楼qiqi0934(绮绮)回复于 2002-10-08 14:03:25 得分 0
不太明白你的意思,其实根本不用FloatToStr()就能够直接显示浮点数。Top
6 楼lihuitomo(李辉)回复于 2002-10-08 14:05:04 得分 0
sorry,能不能把代码加在什么地方告诉俺呢?俺试了好多次了,都不成Top
7 楼qiqi0934(绮绮)回复于 2002-10-08 14:07:06 得分 0
就加在OnFormCreate事件下:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Edit1->Text=2.5;
}Top
8 楼lihuitomo(李辉)回复于 2002-10-08 14:28:19 得分 0
为什么上述方法在主表单适用,但通过showmodual方法生成的对话框中的控件(EDIT),就出了麻烦!
void __fastcall TMainForm::C2Click(TObject *Sender)
{
if(FeeDlg->ShowModal()==mrOk)
。。。
}
void __fastcall TFeeDlg::FormCreate(TObject *Sender)
{
Edit1->Text=fee1[0];
}
can not focus a disable or invisible windows"
Top
9 楼tony808(文君)回复于 2002-10-08 15:17:57 得分 0
你的feel[0]是什么类型的,你要想给Edit1写上数据库中的初值,你就要先取数据,后写入
Edit1->Text=ADOTable1->FieldByName("name")->AsString;
上面就是写入初值的例句,
方法有多种,你要自己去试Top
10 楼lihuitomo(李辉)回复于 2002-10-08 15:47:12 得分 0
can not focus a disable or invisible windows这句话好像是说edit控件
不能设置焦点并赋值,我改Edit1->Text=2.0,结果还是一样。Top
11 楼airspace(笨鸟)回复于 2002-10-08 16:07:18 得分 0
可以写到OnShow事件中试试Top
12 楼lingbin(吴斌)回复于 2002-10-08 16:10:13 得分 0
你是不是设置了Edit1的Enabled为false了,你把Edit1的Enabled设为True看看。Top




