动态创建出来的checkbox控件,怎么判断他是否被选择呢?
比如varcheckbox:Tcheckbox;-bagincheckbox:=Tcheckbox.Create(form1);checkbox.Parent:=form...
比如 var checkbox:Tcheckbox; -
bagin
checkbox:=Tcheckbox.Create(form1); checkbox.Parent:=form1;;
checkbox.Top:=10;
checkbox.Left:=10;
checkbox.Caption := 'checkbox1'; CheckBox.Name := 'checkbox1';
end; -
动态创建完了,屏幕上看到了这个控件,那我怎么判断它是否被选择了呢?
比如: button1的单击事件中写下;
checkbox1.checked := true; //这样delphi说不知道checkbox1是什么?
-
怎么判断它是否被选择了呢? 谢谢回答! 展开
bagin
checkbox:=Tcheckbox.Create(form1); checkbox.Parent:=form1;;
checkbox.Top:=10;
checkbox.Left:=10;
checkbox.Caption := 'checkbox1'; CheckBox.Name := 'checkbox1';
end; -
动态创建完了,屏幕上看到了这个控件,那我怎么判断它是否被选择了呢?
比如: button1的单击事件中写下;
checkbox1.checked := true; //这样delphi说不知道checkbox1是什么?
-
怎么判断它是否被选择了呢? 谢谢回答! 展开
2个回答
2013-07-30
展开全部
{别用动态创建的控件不能用它的name来设置属性的,因为它是个字符串. 不是有效的对象标识符.可以用下边三种办法访问动态创建的控件,第一种就是直接用你定义控件的变量直接操作控件就行了,第二第三种就是通过控件名访问了,但也不是直接通过控件的name访问,是通过查找控件名(name)找到控件先,再转换类型使用就行了.}begin
SHOWMESSAGE('方法一: 用你定义的控件变量名checkbox直接访问, 别用控件的名称(name), 因为控件名只是个字符串');
checkbox.checked := true;
SHOWMESSAGE('直接用控件变量checkbox: 点击"确定"恢复!');
checkbox.Checked := false;
SHOWMESSAGE('方法二:这个方法可以通过控件名使用控件了, 用父窗口的FindChildControl方法查找, 然后强类型转换, 就能设置属性了');
if FindChildControl('checkbox1')<>nil then
begin
(FindChildControl('checkbox1') as tcheckbox).Checked:=True;
SHOWMESSAGE('Self.FindChildControl: 点击"确定"恢复!');
(FindChildControl('checkbox1') as tcheckbox).Checked:=False;
end; SHOWMESSAGE('方法三: 用Application的FindComponent方法查找');
if Application.FindComponent('checkbox1')<>nil then
begin
tcheckbox(Application.FindComponent('checkbox1')).Checked:=True;
SHOWMESSAGE('Application.FindComponent: 点击"确定"恢复!');
tcheckbox(Application.FindComponent('checkbox1')).Checked:=False;
end;
end;
SHOWMESSAGE('方法一: 用你定义的控件变量名checkbox直接访问, 别用控件的名称(name), 因为控件名只是个字符串');
checkbox.checked := true;
SHOWMESSAGE('直接用控件变量checkbox: 点击"确定"恢复!');
checkbox.Checked := false;
SHOWMESSAGE('方法二:这个方法可以通过控件名使用控件了, 用父窗口的FindChildControl方法查找, 然后强类型转换, 就能设置属性了');
if FindChildControl('checkbox1')<>nil then
begin
(FindChildControl('checkbox1') as tcheckbox).Checked:=True;
SHOWMESSAGE('Self.FindChildControl: 点击"确定"恢复!');
(FindChildControl('checkbox1') as tcheckbox).Checked:=False;
end; SHOWMESSAGE('方法三: 用Application的FindComponent方法查找');
if Application.FindComponent('checkbox1')<>nil then
begin
tcheckbox(Application.FindComponent('checkbox1')).Checked:=True;
SHOWMESSAGE('Application.FindComponent: 点击"确定"恢复!');
tcheckbox(Application.FindComponent('checkbox1')).Checked:=False;
end;
end;
2013-07-30
展开全部
if(checkbox1.checked = =true)记得把控件的name改成 checkbox1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询