-
关于cocos2d studio中添加按钮发布在vs中然后通过csb文件写回调函数
2015-12-22 11:24:30在cocos2d studio做好了按下效果,现在就不需要在vs里写按下效果了,直接写回调函数 就行了,但是我现在不知道是要写检测按下动作还是绑定精灵create的时候加载回调函数。我现在 auto rootNode = CSLoader::... -
menu
2011-08-12 22:03:57Android第五讲--Menu ...以前写程序存在一种思维,就是前台控件放在div里的。顺着这种思想把Menu控件也认为是在Activity中,居然在Activity的onCreate函数中寻找Menu的触发函数。 Android中的Menu是由父
以前写程序存在一种思维,就是前台控件放在div里的。顺着这种思想把Menu控件也认为是在Activity中,居然在Activity的onCreate函数中寻找Menu的触发函数。
Android中的Menu是由父类的构造函数构造,Menu也不在Activity的生命周期中,Menu是由键盘上单独的Menu键调用。
http://hi.baidu.com/yuki%D0%A1%CC%C7/blog/item/8a75b1c906356d187e3e6fe7.html
在一个android创建菜单menu时,需要重写Activity的onCreateOptionsMenu(Menu menu)方法,这个方法只在第一次创建的时候调用一次,所以如果之后想对menu进行动态的修改,那么就不要再对 onCreateOptionsMenu做什么手脚了。
而需要动态修改menu的情况多用于多个activity的android app中,然而,如果在其他的activity中再使用onCreateOptionsMenu创建当前activity的menu的话,就无济于事了。。。(至少我是这样的,创建出的menu还是第一次产生的那个menu)。
于是onPrepareOptionsMenu(Menu menu)就登场了!onPrepareOptionsMenu与onCreateOptionsMenu不同的是,他在每次按下menu硬键之前会被调用,所以可以在这里动态的改变menu。如果需要创建一个全新的菜单,那么可以在onPrepareOptionsMenu中menu.clear()一下,然后重新add想要的菜单项。
public boolean onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
menu.clear();
menu.add(Menu.NONE, MenuGlobal.MENU_ITEM_ADD, 1, "添加").setIcon(android.R.drawable.ic_menu_add);
menu.add(Menu.NONE, MenuGlobal.MENU_SEARCH, 2, "查看").setIcon(android.R.drawable.ic_menu_search);
menu.add(Menu.NONE, MenuGlobal.MENU_ABOUT, 3, "关于...").setIcon(android.R.drawable.ic_menu_help);
menu.add(Menu.NONE, MenuGlobal.MENU_QUIT, 4, "退出").setIcon(android.R.drawable.ic_menu_close_clear_cancel);
return true;
}
如果没有clear而直接add的话,那么菜单中菜单项是会“追加”的,这样,随着你不停的点menu键,菜单项就不停的增加。
另外,android系统默认的菜单样式是支持最多3个一行,如果有4项就每行2个有2行...如果想自定义样式,可以使用xml文件定义样式。 -
【c-WinAPI】 程序运行崩溃(自己写的函数出错),求大神帮忙!!!
2019-07-06 15:19:36嗯,这里在重申一下,那个TextPrint函数是低配版的DrawText函数,功能就是指定一个矩形,然后向矩形范围内输出(每行填满后自动换行)(假如要输出的内容填满了整个矩形都没有输出完,那就停止输出)。 ## 一些... -
【c-WinAPI】 程序运行崩溃(自己写的函数出错),求大神帮忙!!!!
2019-07-06 15:21:53嗯,这里在重申一下,那个TextPrint函数是低配版的DrawText函数,功能就是指定一个矩形,然后向矩形范围内输出(每行填满后自动换行)(假如要输出的内容填满了整个矩形都没有输出完,那就停止输出)。 ## 一些... -
在对话框里面使用ON_UPDATE_COMMAND_UI映射工具条(toolbar和菜单(menu)的心得
2003-02-11 14:01:00这几天为了写个小程序,在对话框上添加工具条(toolbar)和菜单(menu),网上友好多程序教你怎么在对话框上添加工具条和菜单,但是很少提到怎么样对工具条和菜单添加ON_UPDATE_COMMAND_UI映射,后来网上搜了好久,找到了...这几天为了写个小程序,在对话框上添加工具条(toolbar)和菜单(menu),网上友好多程序教你怎么在对话框上添加工具条和菜单,但是很少提到怎么样对工具条和菜单添加ON_UPDATE_COMMAND_UI映射,后来网上搜了好久,找到了一些方法,都比较复杂。其实只要在对话框类中添加下面的函数就可以了
BOOL CMyDlg::ContinueModal()
{
if( m_wndtoolbar.IsWindowVisible() )
{
CFrameWnd* pParent = ( CFrameWnd* ) m_wndtoolbar.GetParent();
if( pParent )
m_wndtoolbar.OnUpdateCmdUI( pParent, ( WPARAM ) TRUE );
}CMenu* pMainMenu = GetMenu();
CCmdUI cmdUI;
for (UINT n = 0; n < pMainMenu->GetMenuItemCount(); ++n)
{
CMenu* pSubMenu = pMainMenu->GetSubMenu(n);
cmdUI.m_nIndexMax = pSubMenu->GetMenuItemCount();
for (UINT i = 0; i < cmdUI.m_nIndexMax;++i)
{
cmdUI.m_nIndex = i;
cmdUI.m_nID = pSubMenu->GetMenuItemID(i);
cmdUI.m_pMenu = pSubMenu;
cmdUI.DoUpdate(this, FALSE);
}
}
return CDialog::ContinueModal();
}
然后再对应的.h中添加 BOOL ContinueModal();
这样你就可以使用N_UPDATE_COMMAND_UI了。另外,提醒一下就是,有些文章使用WM_KICKIDLE消息。我在使用后发现cpu的使用率为100%。建议不要使
该函数又一个缺点:
如果用键盘切换了VIEW,这个函数就不响应了,也就是说,如果使用右键菜单中间如果包括了根据VIEW变化的变量,那么就无法操作。
-
民工甲在Swing是一把刀里面写用xml制作菜单,我没看懂,是用xml写出菜单然后用Java调用?
2015-09-11 07:53:05而我们只要在这个函数处插入监听,就可以拦截具体动作码,执行我们想做的任何事情,例如格式化C盘、往aobama@whitehouse.com邮箱发个垃圾邮件啥的。 ``` <?xml version="1.0" encoding="UTF-8"?> <menubar>... -
QT传输函数控件设计4 接着进行融合
2019-11-03 11:56:06在头文件类中声明: pravite: QAction *action; QToolBar *mainToolBar; QStatusBar *statusBar; QMenuBar *menuBar; QMenu *menu; void setup(); 然后写实体:(注意这里面有些东西是从以前...既上节之后,我们要定义一个打开文件的菜单,用于打开我们想用来可视化的文件:
在头文件类中声明:
pravite: QAction *action; QToolBar *mainToolBar; QStatusBar *statusBar; QMenuBar *menuBar; QMenu *menu; void setup();
然后写实体:(注意这里面有些东西是从以前自己生成的.ui文件里拷贝的,所以有些内容其实可以去掉,比如setObjectName函数。这里懒得去掉了。)
action = new QAction(this); action->setObjectName(QStringLiteral("action")); mainToolBar = new QToolBar(this); mainToolBar->setObjectName(QStringLiteral("mainToolBar")); addToolBar(Qt::TopToolBarArea, mainToolBar); menuBar = new QMenuBar(this); menuBar->setObjectName(QStringLiteral("menuBar")); menuBar->setGeometry(QRect(0, 0, 1017, 23)); menu = new QMenu(menuBar); menu->setObjectName(QStringLiteral("menu")); setMenuBar(menuBar); menuBar->addAction(menu->menuAction());
定义菜单栏,没有什么可解释的。
setWindowTitle(QApplication::translate("MyMainWindow", "Feimos", Q_NULLPTR)); action->setText(QApplication::translate("MyMainWindow", "Choose Dir", Q_NULLPTR)); menu->setTitle(QApplication::translate("MyMainWindow", "File", Q_NULLPTR));
设置标题。
action->setShortcuts(QKeySequence::Open);//设置快捷键 action->setStatusTip(tr("打开文件夹"));//添加状态栏的提示语句。状态栏就是主窗口最下面的一条。现在我们的程序还没有添加状态栏,因此你是看不到有什么作用的。 connect(action, &QAction::triggered, this, &MyMainWindow::open); menu->addAction(action);
然后连接动作,动作函数的名字叫 open()。
然后我们在MyMainWindow类(我们的主窗体类)里声明:
private: QString DcmPathName; private: void open();
在VS上不一定需要声明到槽函数,这里也不做过多解释,反正输出程序提示如果找不到槽,就声明为:
private slots: void open();
包含下面几个头文件:
#include <QMessageBox> #include <QString> #include <QFileDialog> #include <QFileInfo> #include <QStringList>
之后我们开始定义open()函数:
void MyMainWindow::open(){ do { int questionResult = 0; DcmPathName = QFileDialog::getExistingDirectory(this, tr("dcm file path"), QDir::currentPath()) + "\\"; if (DcmPathName == QString("\\"))//如果直接关闭了对话框 { break; } QDir dir(DcmPathName); dir.setFilter(QDir::Files); QStringList filters;//加过滤器 filters << "*.dcm";//只找后缀为.dcm的文件 dir.setNameFilters(filters); QFileInfoList list = dir.entryInfoList(); QFileInfo fileInfo; QStringList filelist; foreach(fileInfo, list) { filelist << fileInfo.fileName(); } //上面主要是在统计路径下,我们目标.dcm文件数量 int dcmCount = filelist.count(); //调试用的,可以注释掉 //DebugText::getDebugText()->addContents( QString::number(dcmCount)); if (dcmCount>20) { break; } else { //数量太少,或者出现中文路径文件读不到,或者目录里没有.dcm文件,都不行 questionResult = QMessageBox::question(this, tr("dcm file path"), "Do not use path in Chinese ! \n Or no dcm file exists !\ \n Do you want to find another path ?", QMessageBox::Yes, QMessageBox::No); if (questionResult == QMessageBox::No) { break; } } } while (1); }
Open()函数的意义在于找到一个里面有一堆用来显示的dcm数据的文件夹。
现在我们的菜单功能已经设计好了,下一节争取我们就能显示出整个图像。
-
cocos2d,设置了一个图片按钮,点击后按钮后回调函数执行了两次是怎么回事呢?
2017-05-31 10:24:24回调函数如下(在函数里写了CCLOG(),发现1,2出现了两次): void GameMain::pause() { CCLOG("1"); Size visibleSize = Director::sharedDirector()->getVisibleSize(); RenderTexture* renderTexture = ... -
Menu不是放在Activity中的控件
2011-03-10 12:57:00以前写程序存在一种思维,就是前台控件放在div里的。顺着这种思想把Menu控件也认为是在Activity中,居然在Activity的onCreate函数中寻找Menu的触发函数。 Android中的Menu是由父类的构造函数构造,Menu也不在 ...以前写程序存在一种思维,就是前台控件放在div里的。顺着这种思想把Menu控件也认为是在Activity中,居然在Activity的onCreate函数中寻找Menu的触发函数。
Android中的Menu是由父类的构造函数构造,Menu也不在 Activity 的生命周期中,Menu是由键盘上单独的Menu键调用。
-
解决手动输入地址,antd的Menu切换没有相应改变的bug
2020-05-24 17:47:56这里我们把Menu写进一个NavBar组件里 所以我们在父组件打印props是可以获取到pathname的,我们要把它作为props传递给子组件 子组件在cdm(componentDidMount)函数中处理 componentDidMount() { // loc -
cocos2dx android 返回键 Menu键 事件
2012-04-16 21:49:18如果想要对android 返回键 或者 Menu键 进行事件处理,只需要重写两个...这两个函数是在CCKeypadDelegate类里,下面是CCLayer类图 红圈。写一个类继承CCLayer,并实现那方法即可。前提是先将setIsKeypadEnabled设为tr -
Drupal最好的web2.0菜单模块 Nice Menu 模块简介
2008-01-03 16:13:00对于建立一个普通站点来说,菜单的设计是必不可少的一步,在以往的经验,总是从菜单模块开始,在template里面写出相应的theme函数,然后在page.tpl.php中使用。 对于不同的应用,需要写不同的函数。特别对于具有web... -
终于知道ExtJS里面的scope的作用了
2020-06-05 20:22:23点击时它的事件处理里面,如果不写scope,那么传到onPrintPDF函数里的对象就是这个按钮本身, 写了scope,就是panel let me = this; let t_print_menu = { xtype: 'splitbutton', text: report.Message.print... -
“华而不实”的转盘菜单(pie menu)
2010-11-24 22:11:01实现了一个比较有立体感的圆盘菜单效果(抄袭的ipod里打砖块游戏的菜单效果)。 老规矩,先上图。 当用户点击某一项时,圆盘会滚动,将点击项显示在最前端。当用户点击最前端项时,菜单项会向四周退去并渐隐,... -
关于ASP.NET里面的onmenuitemclick事件不被触发的问题
2011-08-02 11:05:00在这次动态编写MenuItem的时候,Boss要求触发事件调用其他函数,而不是选择一般的URL传导。然后在MENU控件中有一个onmenuclick的单击事件。但是在开始的时候始终不能触发这个事件。经过一番折腾终于知道了其中的原因... -
学习不久的c++,想要用类做这个作业,自己写的一部分,但总是出错,很苦恼,有没有大佬写出来参考一下。
2017-05-25 11:53:09较好的实现方法是定义一个单独的函数例如menu( )实现显示菜单的功能,主函数里调 用menu( )函数显示菜单。 2.定义数据结构 一个任务应该至少包括任务标题,任务具体的描述,任务的截止日期,任务的完成状态等信 ... -
[转发]vue页面切换,滚动条始终固定在顶部
2019-03-20 10:01:08转发 在使用vue脚手架做页面的时候,发现一个小bug…当你在一个页面的中间位置点击按钮进行组件跳转的时候,你会发现,你跳转到的新页面不是从顶部开始...1.methods里面直接写一个函数:(函数名随便叫) menu() { ... -
getLayoutParams()和setLayoutParams()方法源码
2014-11-24 15:21:23今天在写侧滑菜单的时候发现了这个一个问题,初始化的时候在onCreate函数里面设置menu的leftMargin: menulParams = (LayoutParams) menu.getLayoutParams(); menulParams.width = menuWidth; menulParams.... -
getLayoutParams()和setLayoutParams()方法源码,有需要的朋友可以参考下。
2016-07-27 20:07:24getLayoutParams()和...今天在写侧滑菜单的时候发现了这个一个问题,初始化的时候在onCreate函数里面设置menu的leftMargin: menulParams = (LayoutParams) menu.getLayoutParams(); menulParams.width -
有没有大神可以帮我写一下删除成绩
2020-06-18 13:13:47void menu()//在这里进行主菜单的调用 { printf("\n ********************** \n"); printf("\n 学生成绩记录簿设计 \n"); printf("\n ********************** \n"); printf("\n"); printf("\n ----------... -
MFC 单击菜单弹出对话框
2014-03-30 11:02:141. 在工程的资源里面加1个菜单和3个对话框(假设ID是IDR_MENU1, IDD_DIALOG1, IDD_DIALOG2, IDD_...3. 在主对话框的OnInit函数里写以下代码 CMenu* menu = new CMenu; menu->LoadMenu(MAKEINTRESOURCE(IDR_MENU1)); -
c语言小程序之三子棋
2017-11-21 21:27:56第一次写这么长的程序,...2)写一个menu函数,作用是打印游戏菜单界面。 3)写一个game函数,主要在函数内部调用各个步骤的函数,实现一个玩游戏的过程,并且输出谁赢谁输。 game.c内部主要实现各个test.c里各个函数 -
(学习笔记1)c语言结构体搭建菜单目录
2020-09-26 01:04:25最近在用ssd1306的128x64大小oled屏幕,设计多级菜单的时候需要大量重复写相同结构的代码。特别是返回父目录,进入子目录,执行子目录对应回调函数的时候比较复杂,而且有大量重复的结构,就想着能不能用函数实现。... -
MFC中的菜单操作
2014-08-07 16:01:40如下:在框架类的构造函数里面写如下代码: GetMenu()->GetSubMenu(0)->CheckMenuItem(0,MF_BYPOSITION | MF_CHECKED); 2设置缺省菜单项(菜单成黑体加粗,且只能有一个): 第一步:获取Menu 第二步:获取... -
Xadmin左侧菜单——菜单栏排序
2020-09-27 11:21:31我们在使用xadmin后台时,使用Golabsettings来修改界面的全局配置,网上搜索xadmin的常用包括了主题、menu_style、apps_icons、site_title和site_footer。重写菜单函数为get_site_menu。这样写的菜单不需要admin里... -
WordPress 单页面上一页下一页的实现方法【附代码】
2020-11-22 01:39:15WordPress的文章页页有实现上一篇下一篇的功能函数,不过我们想在单页page.php里面实现上一页下一页的功能,previous_post_link()和next_post_link() 函数还不能完全满足我的需要,所以就自己写函数实现。... -
QT——小结
2018-08-23 16:42:18写项目的时候用QT遇到了几个小问题,一个mainwindow窗口我想在里面的工具栏里面添加部件,我一开始不想用button,用的是action出现了一个问题当我往其中一个action添加menu菜单栏的时候发现虽然有setMenu这个函数... -
请教一下VC++MFC一段代码的意思
2015-02-22 10:35:45在鼠标右键菜单ONCONTEXTMENU函数里面,有这么一段 CMenu menu; VERIFY(menu.LoadMenu(CG_IDR_POPUP_TYPING_TEST_VIEW)); CMenu* pPopup = menu.GetSubMenu(0); ASSERT(pPopup != NULL); CWnd* pWndPopupOwner = ...