(转) CCEditBox 编辑框
CCEditBox 编辑框
原文: http://blog.csdn.net/cloud95/article/details/8773470
新建工程,名为testEdit.
修改HelloWorld.h
#ifndef __HELLOWORLD_SCENE_H__
#define __HELLOWORLD_SCENE_H__
#include "cocos2d.h"
#include "cocos-ext.h"
usingnamespacecocos2d::extension;
class HelloWorld :
public
cocos2d::CCLayer,publicCCEditBoxDelegate
{
public:
// Method 'init' in cocos2d-x returns bool, instead of 'id' in cocos2d-iphone (an object pointer)
virtual bool init();
// there's no 'id' in cpp, so we recommend to return the class instance pointer
static cocos2d::CCScene* scene();
CREATE_FUNC(HelloWorld);
virtual void editBoxEditingDidBegin(CCEditBox *editBox);
virtual void editBoxEditingDidEnd(CCEditBox *editBox);
virtual void editBoxTextChanged(CCEditBox *editBox,const
std::string &text);
virtual void editBoxReturn(CCEditBox *editBox);
};
#endif // __HELLOWORLD_SCENE_H__
修改HelloWorld.cpp
#include "HelloWorldScene.h"
#include "SimpleAudioEngine.h"
usingnamespace
cocos2d;
usingnamespace
CocosDenshion;
#define testflag
CCScene* HelloWorld::scene()
{
// 'scene' is an autorelease object
CCScene *scene = CCScene::create();
// 'layer' is an autorelease object
HelloWorld *layer =
HelloWorld::create();
// add layer as a child to scene
scene->addChild(layer);
// return the scene
return scene;
}
// on "init" you need to initialize your instance
boolHelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !CCLayer::init() )
{
return
false;
}
switch (testflag) {
:
{
CCSize size=CCDirector::sharedDirector()->getWinSize();
CCScale9Sprite *sacel9SprY=
CCScale9Sprite::create("yellow_edit.png");
,
), sacel9SprY);
//设置编辑框内的文字
box->setText("");
//获取编辑框内的文字
CCLOG("Text:%s",box->getText());
//设置文本的颜色
box->,
, ));
//当编辑框中没有任何字符的提示
box->setPlaceHolder("请输入帐号");
CCLOG("PlaceHolder:%s",box->getPlaceHolder());
//最大输入文本长度
box->);
CCLOG("Length:%i",box->getMaxLength());
//设置输入模式
box->setInputMode(kEditBoxInputModeAny);
/**
// kEditBoxInputModeAny:
开启任何文本的输入键盘,包括换行
// kEditBoxInputModeEmailAddr:
开启 邮件地址
输入类型键盘
// kEditBoxInputModeNumeric:
开启 数字符号
输入类型键盘
// kEditBoxInputModePhoneNumber:
开启 电话号码
输入类型键盘
// kEditBoxInputModeUrl:
开启 URL 输入类型键盘
// kEditBoxInputModeDecimal:
开启 数字
输入类型键盘,允许小数点
// kEditBoxInputModeSingleLine:
开启任何文本的输入键盘,不包括换行
//
*/
//设置输入类型
box->setInputFlag(kEditBoxInputFlagSensitive);
/**
// kEditBoxInputFlagPassword:
密码形式输入
// kEditBoxInputFlagSensitive:
敏感数据输入、存储输入方案且预测自动完成
// kEditBoxInputFlagInitialCapsWord:
每个单词首字母大写,并且伴有提示
// kEditBoxInputFlagInitialCapsSentence:
第一句首字母大写,并且伴有提示
// kEditBoxInputFlagInitialCapsAllCharacters:
所有字符自动大写
// */
//设置返回类型
box->setReturnType(kKeyboardReturnTypeDone);
/**
// kKeyboardReturnTypeDefault:
默认使用键盘return 类型
// kKeyboardReturnTypeDone:
默认使用键盘return类型为“Done”字样
// kKeyboardReturnTypeSend:
默认使用键盘return类型为“Send”字样
// kKeyboardReturnTypeSearch:
默认使用键盘return类型为“Search”字样
// kKeyboardReturnTypeGo:
默认使用键盘return类型为“Go”字样
// */
box->setPosition(ccp(size.width*0.5,
));
addChild(box);
CCScale9Sprite *sacel9SprG=CCScale9Sprite::create("green_edit.png");
,
), sacel9SprG);
box2->setInputFlag(kEditBoxInputFlagPassword);
box2->setReturnType(kKeyboardReturnTypeGo);
box2->);
box2->setPlaceHolder("请输入密码");
box2->setPosition(ccp(size.width*0.5,
));
addChild(box2);
}
break;
:
{
CCScale9Sprite *sacel9SprG=CCScale9Sprite::create("green_edit.png");
,
), sacel9SprG);
box2->setPlaceHolder("Delegate");
box2->,));
addChild(box2);
box2->setDelegate(this);
}
break;
}
return true;
}
void
HelloWorld::editBoxEditingDidBegin(CCEditBox *editBox)
{
CCLOG("start edit");
}
void
HelloWorld::editBoxEditingDidEnd(CCEditBox *editBox)
{
CCLOG("end edit");
}
void
HelloWorld::editBoxTextChanged(CCEditBox *editBox,const
std::string &text)
{
CCLOG("textchanged");
}
void
HelloWorld::editBoxReturn(CCEditBox *editBox)
{
CCLOG("editboxreturn");
}
(转) CCEditBox 编辑框的更多相关文章
- cocos2dx基础篇(13) 编辑框之二CCEditBox
[3.x] (1)去掉"CC" (2)设置虚拟键盘的编辑类型 > EditBoxInputMode 变为强枚举 EditBox::EditBoxInputMode // SI ...
- cocos2dx基础篇(12) 编辑框之一CCTextFieldTTF
前面我们讲了精灵贴图.标签.菜单.按钮.感觉似乎少了点什么?UI控件里是不是应该还有一个很重要的控件--编辑框.在手机网游中,启动游戏,过了开场动画后,基本上显示的第一个界面应该就是游戏的登录界面了吧 ...
- MFC编辑框字体大小调节(转)
在学习MFC中需要调整编辑框中的字体大小,以下是我结合网上与自己实际操作总结的,希望对其它同学有所帮助. 首先,了解以下函数原型:BOOL CreateFont( int nHeight, ...
- MFC编程入门之二十一(常用控件:编辑框Edit Control)
上一节讲了静态文本框,本节讲的是编辑框(Edit Control)同样是一种很常用的控件,我们可以在编辑框中输入并编辑文本.在前面加法计算器的例子中已经演示了编辑框的基本应用.下面具体讲解编辑框的使用 ...
- MFC 编辑框中字体大小改变,行高不能改变,只能显示一半的问题,已解决。
CKagulaCEdit是CEdit的一个继承类,m_edit的CKagulaCEdit类型的一个变量 调用的时候,是这样的: 编辑框中字体大小改变,行高不能改变,只能显示一半的问题,问题如下: 这时 ...
- NGUI 使用EventDelegate.Add与UIInput.onSubmit、UIInput.onChange限定编辑框中的内容
Unity中,使用NGUI,通常为某个控件(如按钮)绑定事件(单击.双击.拖拽.滚轮.选择等)都是用UIEventListener,比如: public void Bind() { UIEventLi ...
- java报表工具FineReport的SQL编辑框的语法简介
感谢大家捧场,这里继续分享关于SQL编辑框的一些语法心得总结,因为数据集定义的面板,也是FineReport报表中最常用的模块之一. 1.我理解的执行过程. 这里其实是生成一个字符串,FineRepo ...
- java报表工具FineReport的公式编辑框的语法简介
FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式, ...
- java报表工具FineReport的JS编辑框和URL地址栏语法简介
JS编辑框: 1.FineReport的js. 作为一款BS产品,browser端的JavaScript是必不可少的. FineReport中的js是已经调用了finereport.js的. 大家知道 ...
随机推荐
- hdu Dragon Balls
这题是一道简单的并查集的运用.龙珠所在的城市.该城市龙珠数目都是很简单的问题,稍微麻烦一点的就是龙珠被移动的次数,因为每一次要移动的是一个城市中所有的龙珠,所以每次移动该城市中所有龙珠的移动次数都要加 ...
- log4net 添加自定义日志到数据库
添加操作日志到数据库举例: (一)建立数据库的操作日志表,如下我建立了一个简单的日志表 (二)配置文件中的配置如下 <log4net> <!--错误日志记录数据库--> < ...
- 模拟实现ORM实例
https://git.oschina.net/wenjieyatou/hibernate_OR_Mapping 请参考git代码.基本原理是自己写了一个session,然后用反射机制模拟数据库存储机 ...
- 内省操作javabean的属性
import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector ...
- equals和=,==的区别
一. ==和equals的区别 1. ==是运算符 2. equals是String对象的方法 一般有两种类型的比较 1. 基本数据类型的比较 2. 引用对象的比较 1. 基本数据类型的比较 ==和e ...
- centos安装后iptables基本设置
一.首先关闭防火墙#service iptables stop 二.查看状态,确认关闭#service iptables status 三.清除掉防火墙规则#iptables -F#iptables ...
- shell更改目录编码
#!/ in/bash for i in `find ./laravel -type f` do iconv $i -f gbk -t utf8 -o ${i}.tmp && mv $ ...
- Android WebView常见问题及解决方案汇总
Android WebView常见问题解决方案汇总: 就目前而言,如何应对版本的频繁更新呢,又如何灵活多变地展示我们的界面呢,这又涉及到了web app与native app之间孰优孰劣的争论. 于是 ...
- IIS应用程序池最大进程数设置
1.当工作进程数>1时,如果有多个连接请求就会启动多个工作进程实例来处理,所启动的最多工作进程数就是你设置的最大进程数,后续更多的连接请求会循环的发送至不同的工作进程来处理.每个工作进程都能承担 ...
- C#编程之委托与事件四(一)【转】
C#编程之委托与事件(一) 本文试图在.net Framework环境下,使用C#语言来描述委托.事件的概貌.希望本文能有助于大家理解委托.事件的概念,理解委托.事件的用途,理解它的C#实现方 ...