在form1上面有一个combobox,两个groupbox。一个groupbox上放置很多edit,另一个groupbox上也放置了很多edit。如何在combobox.onchange事件里判断edit上的数据被更改了呢?
解决方案 »
- PrintDialog和PrinterSetupDialog 打印机选择以及打印份数控制
- StringGrid问题:有一StringGrid,里面有很多行数据,我想在最上面插入一行,解决马上揭帖,决不食言!
- 求TidHTTP和TidHTTPServer的使用文档,找到立即给分,给我一个简单的编程的例子也行。
- 初学者关于强制类型转换的问题!
- 问一下几个元件在元件盒的位置,急!
- delphi中可以把stringgrid和button控件绑在一起吗,在线等待~~~
- 一个很菜的问题!请大家帮帮忙!
- 有能够将exe和dll(或几个exe)打包成一个可执行文件的工具吗?
- 如何将文本文件的内容显示到TMemo中。加分
- 继承的窗体不能执行线程的疑问
- 现在学delphi是不是晚了
- DBGrideh的相关问题,急
比如 sString := edt1.text + edt2.text + ...这样就可以直接 判断sString是否发生变化。
在onShow时组合一下字符串,在保存时组合一下字符串。比较是否相符!
如果显示的数据是一个对象,则为对象加一个toXML的功能,来实现组合字符串的功能。这样在onShow与保存时比较2个变量就OK了
例如第一次edit1.text为1,edit2.text为2,改变后edit1.text为‘’edit2.text为12,你能判断出来变没变?
还是5楼说得靠谱,就是所有edit使用统一的一个onChange方法。
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
if Edit1.Modified then
showmessage('changed');
edit1.Modified := false;
end;
很多edit控件,这个事件难道要一一写出来吗
使用统一的OnChange事件,比如上面的代码可以改成procedure TForm1.ComboBox1Change(Sender: TObject);
begin
if (Sender As TEdit).Modified then
showmessage('changed');
(Sender As TEdit).Modified := false;
end;
我只是举个例子如12楼所说,可以在需要的控件onchange或者exit事件统一写。。procedure TFMmain.Edit1Exit(Sender: TObject);
begin
inherited;
if TEdit(Sender).Modified then
begin
...
...
...
TEdit(Sender).Modified:=false;
end;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
if (Sender As TEdit).Modified then
showmessage('changed');
(Sender As TEdit).Modified := false;
end;
如果将一个数据修改成其它数值,然后再修改回来,这样modified的也是改变的