CCEditBox 编辑框

原文: http://blog.csdn.net/cloud95/article/details/8773470

分类: cocos2d-x 2013-04-08 19:18 4356人阅读 评论(3) 收藏 举报

新建工程,名为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 编辑框的更多相关文章

  1. cocos2dx基础篇(13) 编辑框之二CCEditBox

    [3.x] (1)去掉"CC" (2)设置虚拟键盘的编辑类型 > EditBoxInputMode 变为强枚举 EditBox::EditBoxInputMode // SI ...

  2. cocos2dx基础篇(12) 编辑框之一CCTextFieldTTF

    前面我们讲了精灵贴图.标签.菜单.按钮.感觉似乎少了点什么?UI控件里是不是应该还有一个很重要的控件--编辑框.在手机网游中,启动游戏,过了开场动画后,基本上显示的第一个界面应该就是游戏的登录界面了吧 ...

  3. MFC编辑框字体大小调节(转)

    在学习MFC中需要调整编辑框中的字体大小,以下是我结合网上与自己实际操作总结的,希望对其它同学有所帮助.       首先,了解以下函数原型:BOOL CreateFont( int nHeight, ...

  4. MFC编程入门之二十一(常用控件:编辑框Edit Control)

    上一节讲了静态文本框,本节讲的是编辑框(Edit Control)同样是一种很常用的控件,我们可以在编辑框中输入并编辑文本.在前面加法计算器的例子中已经演示了编辑框的基本应用.下面具体讲解编辑框的使用 ...

  5. MFC 编辑框中字体大小改变,行高不能改变,只能显示一半的问题,已解决。

    CKagulaCEdit是CEdit的一个继承类,m_edit的CKagulaCEdit类型的一个变量 调用的时候,是这样的: 编辑框中字体大小改变,行高不能改变,只能显示一半的问题,问题如下: 这时 ...

  6. NGUI 使用EventDelegate.Add与UIInput.onSubmit、UIInput.onChange限定编辑框中的内容

    Unity中,使用NGUI,通常为某个控件(如按钮)绑定事件(单击.双击.拖拽.滚轮.选择等)都是用UIEventListener,比如: public void Bind() { UIEventLi ...

  7. java报表工具FineReport的SQL编辑框的语法简介

    感谢大家捧场,这里继续分享关于SQL编辑框的一些语法心得总结,因为数据集定义的面板,也是FineReport报表中最常用的模块之一. 1.我理解的执行过程. 这里其实是生成一个字符串,FineRepo ...

  8. java报表工具FineReport的公式编辑框的语法简介

    FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式, ...

  9. java报表工具FineReport的JS编辑框和URL地址栏语法简介

    JS编辑框: 1.FineReport的js. 作为一款BS产品,browser端的JavaScript是必不可少的. FineReport中的js是已经调用了finereport.js的. 大家知道 ...

随机推荐

  1. js 禁止表单提交的方法(文件上传)

    添加图片上传的表单,在form 添加属性onsubmit,提交之前会执行其中的方法,若返回FALSE,不会提交,返回TRUE,才会提交 <form method="post" ...

  2. Hibernate的延迟加载

    我们会分析load和get两种加载方式: 一.load加载方式 当使用load方法来得到一个对象时,此时hibernate会使用延迟加载的机制来加载这个对象,即:当我们使用session.load() ...

  3. 配置DNS实验一例

    1安装bind软件 2查看当前DNS服务 3修改配置文件 4测试

  4. 【HDU 2853】 KM算法

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2853 题意:有n个公司,m个任务,每个公司做每个任务都有一个效率值,最开始每个公司都指派了一个任务,现 ...

  5. Password Attacker

    Passwords are widely used in our lives: for ATMs, online forum logins, mobile device unlock and door ...

  6. 用Scala实现集合中相邻元素间的差值

    欢迎转载,转载请注明出处,徽沪一郎. 概要 代码这东西,不写肯定不行,新学Scala不久,将实际遇到的一些问题记录下来,日后也好查找. 今天讲的是如何计算同一集合中元素两两之间的差值,即求开始集合(a ...

  7. Thinking in Java——笔记(3)

    Operator Using Java operators Some operators change the value of an operand. This is called a side e ...

  8. PHP->利用GD库新建图像

    1.确认php中GD库是否开启 在PHP配置文件php.ini中查找extension=php_gd2.dll,去掉前边的(分号) ';' 即可,一般php是默认开启的 2.绘画步骤 创建一个画布(画 ...

  9. A quick renice command rescheduled the upgrade to a lower priority and I was back to surfing in no time.

    https://www.nixtutor.com/linux/changing-priority-on-linux-processes/ Changing Priority on Linux Proc ...

  10. web页面隐藏鼠标

    Java web项目需求需要做一个在页面中,鼠标隐藏,来浏览页面,让客户不能点金页面 重要代码: $('*').css('cursor','none!important'); 示例: <styl ...