有四个小问题,请大虾帮忙解答一下。谢谢。

3xcom 2004-09-20 08:58:53
1窗体的最大化、最小化,用语句控制是在FORMCREATE中么?如何控制呢?Form1->BorderIcons[biSystemMenu,biMinimize,biMaximize]=false;不行。。一般[]里的属性如何控制呢??
2 我想判断当Edit1->Text="";ShowMessage("");---怎么每次都出不来呢,(只出现工程文件的异常)
一般异常都放到工程文件中吗?如果自己编写的异常处理,一般放到那里??
3 TEdit的TEXT的文字居中,如何处理呢?好象他自己的属性里没有???
4我想通过Edit的TEXT为空,让BUTTON的ENABLE为FALSE。。。
这样怎么不行呢?if(Edit1->Text="")Button1->Enable=False; 放到FormCreate函数里。。
...全文
91 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
3xcom 2004-09-22
  • 打赏
  • 举报
回复
最近测试报告如下:
1 解决啦。还有问题如下:我想控制窗体的最小化,按钮和关闭是否可用的,如何弄呢?[]里的参数怎么用?我只想有最小化和关闭可用。。。
2 我把这个判断放到BUTTONCLICK中没作用。。要放到哪儿才可以呢?放到FORMCREATE中一运行就出现信息框,非我所需啊???
3居中,还没试Api函数。。。
4关于ENABLE,我解决啦,不过比较苯。把
if (Edit1->Text =="")
{
Button1->Enabled = false;
}
放到FORMCREATE和FORMCHANGE中呢。。。
特招 2004-09-20
  • 打赏
  • 举报
回复
1.Form1->BorderIcons 里面的[biSystemMenu,biMinimize,biMaximize]是控制窗体最大化,最小化,按钮和关闭是否可用的,不是控制窗体直接最大化,最小化的
2.
void __fastcall TForm1::Button2Click(TObject *Sender)
{
if (Edit1->Text == "")
{
ShowMessage("");
}
}
这样可以运行啊 我点击按钮的时候,弹出窗口,没有异常啊
3.居中的问题我也没搞明白
4.
void __fastcall TForm1::FormCreate(TObject *Sender)
{
if (Edit1->Text =="")
{
Button1->Enabled = false;
}
}
可以运行,也可以控制按钮的Enable状态
你判断的时候if(Edit1->Text="")这里少了一个=号
constantine 2004-09-20
  • 打赏
  • 举报
回复
建议楼主把C++复习一下,还有找本bcb基础的书看看,4个问题都是很基础的
CB1013 2004-09-20
  • 打赏
  • 举报
回复
1.Form1->WindowState=wsMaximized; 最大化
Form1->WindowState=wsMinimized; 最小化
2.if(Edit1->Text.Trim()=="")
ShowMessage("...");
3.搜索一下
4.if(Edit1->Text=="")Button1->Enable=False;
constantine 2004-09-20
  • 打赏
  • 举报
回复
1.窗体的最大化、最小化控制不是用BorderIcons,是在WindowState里面设置就可以了
BorderIcons是用来控制窗体上的按钮的
2.Edit1->Text="";--> "=="不是=
3.TEdit要居中用TMemo代理,处理不能换行,处理TMemo居中就ok
4.一样的问题
if(Edit1->Text="")Button1->Enable=False
改为
if(Edit1->Text=="")Button1->Enable=False
Maconel 2004-09-20
  • 打赏
  • 举报
回复
edit居中是这样的,要用api:

DWORD ExStyleLeft;
DWORD ExStyleRight;
DWORD ExStyleCenter;
//初始化变量
ExStyleLeft = GetWindowLong(Edit1->Handle, GWL_STYLE);
ExStyleRight = ExStyleLeft | ES_RIGHT;
ExStyleCenter = ExStyleLeft | ES_CENTER;
//居右
SetWindowLong(Edit1->Handle, GWL_STYLE, ExStyleRight);
Edit1->Invalidate();
//居中
SetWindowLong(Edit1->Handle, GWL_STYLE, ExStyleCenter);
Edit1->Invalidate();
//居左
SetWindowLong(Edit1->Handle, GWL_STYLE, ExStyleLeft);
Edit1->Invalidate();
3xcom 2004-09-20
  • 打赏
  • 举报
回复
各位的意见全部接收。。。。谢谢。
3xcom 2004-09-20
  • 打赏
  • 举报
回复
我晚上回去试试。。。
有一些是我确实不懂。如1和3
2,4是我的错误。。。昨天我好象试if(Edit1->Text=="")ShowMessage("");我放到SWITCH 。。。CASE里是不行。。。
明天在报告战果并结贴。谢谢大家。。。。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧