Cocos2d-x cocostudio UIButton控件setEnabled(false)方法失效解决办法

1、UIbutton按钮有三个状态,一个是正常状态、一个是按下状态、另一个是禁用状态,当我们在Cocostudio编辑器上设置好我们的三个状态的图片时候,我们在我们的项目中使用setEnabled(false);方法的时候,发现UIbutton消失了,解决这样问题的办法如下:

①进入UIwidget.cpp

找到visit();方法,这里我们需要修改visit();方法,去掉if判断

结果如下:

void Widget::visit()

{

CCNode::visit();

}

②修改Widget::setEnable()方法,只需要添加一行代码就可以了,如下

void Widget::setEnabled(bool enabled)

{

_enabled = enabled;

if(_widgetChildren && _widgetChildren->count() > 0)

{

CCObject* child;

CCARRAY_FOREACH(_widgetChildren, child)

{

((Widget*)child)->setEnabled(enabled);

}

}

setBright( enabled );//增加此行

}

时间: 2024-10-17 19:44:18

Cocos2d-x cocostudio UIButton控件setEnabled(false)方法失效解决办法的相关文章

线程间操作无效: 从不是创建控件“”的线程访问它 解决办法(转)

线程间操作无效: 从不是创建控件“”的线程访问它 解决办法 http://blog.sina.com.cn/s/blog_568e66230101der7.html 利用FileSystemWatcher设计一个文件监控系统时,如果一个文件被修改或者新建,则文件修改事件会被多次触发而产生多条信息.为了将一个文件被修改一次而产生的多条信息归结为一条,在设计中新开了一个线程,在指定时间内(如2秒内)这个文件的修改被认为是一次修改,从而只产生一条信息. 这个工作完成后,又出现了另外一个问题:因为需要在

C#中引用第三方ocx控件引发的问题以及解决办法

调用OCX控件的步骤:1.在系统中注册该ocx控件,命令:regsvr32.exe 控件位置(加 /u 参数是取消注册)2.在.net的工具箱中添加该控件,拖到form中去就可以了. 不用工具箱的话,自己手工添加,需要注意一个问题,就是要用Aximp.exe来包装一下ocx控件的类,然后再程序中引用生成的dll就可以了.aximp [options]{file.dll | file.ocx}The following command generates MediaPlayer.dll and A

Delphi2010,DelphiXE 安装控件找不到DesignIntf 解决办法

今天安装了一个可以支持IP 地址输入的edit控件,安装后可以放到窗体上,但是编译提示找不到DesignIntf,DesignEditors 从Delphi6开始,就对DesignIntf,DesignEditors 进行了变化,以前安装也碰到过不同版本识别 DesignIntf,DesignEditors的问题,经过处理都可以用 但是这个IP地址控件,始终编译不了,在网上找到一个解决办法: Project > Options > Delphi Compiler> Compiling &

asp.net控件ControlToValidate同OnClientClick冲突解决办法

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="年龄不能为空!" ControlToValidate="txtAge" ValidationGroup="patient" Display="Dynamic"></asp:RequiredFieldV

UIButton控件属性

UIButton控件属性: 1.UIButton状态: UIControlStateNormal // 正常状态 UIControlStateHighlighted // 高亮状态 UIControlStateDisabled // 禁用状态 UIControlStateSelected // 选中状态 UIControlStateApplication // 应用状态 UIControlStateReserved // 保留状态 2.Uibutton类型: UIButtonTypeCustom

UIButton控件

-(void)viewDidLoad{ //初始化 self.btn1 = [UIBotton buttonWithType:UIButtonTypeRoundedRect]; //设置大小 self.btn1.frame = CGRectMake(20,20,100,50); //设置标题 [self.btn1 setTitle:@"Hello" forState:UIControlStateNormal]; //添加点击事件 [self.btn1 addTarget:self ac

【转】带checkbox的ListView实现(二)——自定义Checkable控件的实现方法

原文网址:http://blog.csdn.net/harvic880925/article/details/40475367 前言:前一篇文章给大家展示了传统的Listview的写法,但有的时候我们并不想在DataHolder类中加一个标识是否选中的checked的成员变量,因为在项目开发中,大部分的ListItemLayout布局都是大家共用的,有些人根本不需要checkbox控件,所以会在初始化的时候把这个控件给隐藏掉,但我们的DataHolder在构造的时候以及ListItemAdapt

C# CheckedListBox控件的使用方法

1. 加入项 checkedListBox1.Items.Add("蓝色"); checkedListBox1.Items.Add("红色"); checkedListBox1.Items.Add("黄色"); 2. 推断第i项是否选中,选中为true,否则为false if(checkedListBox1.GetItemChecked(i)) {      return true; } else {      return false; } 3

【转载】C#验证控件的使用方法(RegularExpressionValidator)的使用

ControlToValidate="要验证的控件名称" ValidationExpression="验证规则" ErrorMessage="所要显示的错误信息" 在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式介绍如下: 只能输入数字:“^[0-9]*$” 只能输入n位的数字:“^\d{n}$” 只能输入至少n位数字:“^\d{n,}$” 只能输入m-n位的数字:“^\d{m,n}$” 只能输入零和非