问个小白的问题,怎么对控件属性进行修改?

ok1411 2009-08-19 02:18:05
由于新接触C++程序,对语法结构方面的不太了解,原先主要用Delphi开发的
现在就是有在别人写的原有程序中做一些修改,主要就是屏蔽界面上的一些控件(按钮、菜单等)属性(如可见、变灰等),
我看添加控件时都是指定一个控件ID,是不是没有控件名的定义的?问下怎么获取到控件,然后对其属性值作出修改?
还有Visual Studio有没有什么快捷键可以提示键入内容?(像Ctrl+Space之类的)
...全文
264 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
路人乙2019 2009-08-20
  • 打赏
  • 举报
回复
在控件的界面上面,选中控件---右键---属性 可以修改一些属性
如果这下控件在对话框上面,可以通过GetDialogItem来取得,然后在程序中设置属性。
最好不要双击,有时候不一定是弹出属性设置哦.
janyming 2009-08-20
  • 打赏
  • 举报
回复
帮顶
jdxwind 2009-08-20
  • 打赏
  • 举报
回复
唉,LS的头像咋跟我一样哩~
  • 打赏
  • 举报
回复
如果是VC6的话,有两种方式:可以右键然后属性,也可以选中控件后直接敲回车键
如果是EVC4的话,修改控件属性的方式和VC6一样
wu_qing_yun 2009-08-20
  • 打赏
  • 举报
回复
对话框的话,比较好改,选中控件,按回车,就是。

如果是SDI或者MDI,就用代码实现吧 : GetDlgItem(IDC_XXX)->ModifyStyle(.....)
你妹的特盗不 2009-08-20
  • 打赏
  • 举报
回复
用代码这样实现

先在界面上摆放一个Button 他的id为 IDC_BUTTON1

拿button举例说明
//在.h文件中创建一个CButton button1;
//然后在.cpp文件中以下操作
void CXXXDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_BUTTON1, button1); //增加这行 这个为button1的ID
}
然后在需要的地方用就行了
button1.function 很多函数,供你操作
comeon_atm 2009-08-20
  • 打赏
  • 举报
回复
属性里改
chm_8611 2009-08-20
  • 打赏
  • 举报
回复
控件上右击-》属性-》然后选择你所需要改的
xin_zzq1 2009-08-20
  • 打赏
  • 举报
回复
使用EnableMenuItem()来控制菜单项的变灰
zyq5945 2009-08-20
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 ok1411 的回复:]
谢谢各位
不过我还是有些不明白,首先我要的是通过代码修改,
还有我想修改菜单中项的属性,
像delphi中直接
menuitem.enabled := false;
menuitem.enabled := true;
怎么VC中要这么复杂呢?
[/Quote]
就是多写几个字,可以再类向导里关联控件变量后
m_edit1.EnableWindow(TRUE);
m_edit1.EnableWindow(FALSE);
ok1411 2009-08-20
  • 打赏
  • 举报
回复
谢谢各位
不过我还是有些不明白,首先我要的是通过代码修改,
还有我想修改菜单中项的属性,
像delphi中直接
menuitem.enabled := false;
menuitem.enabled := true;
怎么VC中要这么复杂呢?
  • 打赏
  • 举报
回复
VC6就双击!
VC2005
点菜单->右键属性->disable
ok1411 2009-08-19
  • 打赏
  • 举报
回复
谁能给个具体例子啊,就像一个Menu资源,我想对其中的一些菜单项做可见或灰掉修改,该怎么做呢?
这个菜单是单独定义的,如IDR_MAINFRAME,其中的菜单项如ID_VIEW_CCMDVIEW、ID_WINDOWS_OUTPUT;
怎么做呢,最好给点具体代码。
谢谢了
ok1411 2009-08-19
  • 打赏
  • 举报
回复
要在代码中修改,可能是某个命令触发
怎么我用GetDlgItem得到的都是空呢?一个工程中不能靠IDC_XXX/IDC_XXX之类的窗口指针吗?
郁闷中。。。
shakeyou123 2009-08-19
  • 打赏
  • 举报
回复
按钮就直接选中右击选择属性,VS的话选中按钮,属性列会在VS界面的右边侧栏
shakeyou123 2009-08-19
  • 打赏
  • 举报
回复
按钮就直接选中右击选择属性,VS的话选中按钮,属性列会在VS界面的右边侧栏
shakeyou123 2009-08-19
  • 打赏
  • 举报
回复
按钮就直接选中右击选择属性,VS的话选中按钮,属性列会在VS界面的右边侧栏
yuhudie203 2009-08-19
  • 打赏
  • 举报
回复
VC6? 控件上右键->属性 然后根据需要修改 也可以向3楼那样通过代码修改
fandh 2009-08-19
  • 打赏
  • 举报
回复
在控件的界面上面,选中控件---右键---属性 可以修改一些属性
如果这下控件在对话框上面,可以通过GetDialogItem来取得,然后在程序中设置属性。
fishion 2009-08-19
  • 打赏
  • 举报
回复
GetDlgItem(IDC_XXX)->ModifyStyle(.....)
加载更多回复(2)
第7章 Qt基于Widget的控件 137 7.1 QLabel控件 137 设置QLabel字体的大小和颜色 137 使用QLabel显示图片 138 图片自适应QLabel的大小 138 7.2 QPushButton控件 138 QPushButton的基本应用 139 QPushButton设置图片 140 7.3 QLineEdit控件 141 QLineEdit基本应用 141 QLineEdit限制输入数字 141 setPlaceholderText()设置提示文字 142 setReadOnly设置不可编辑 142 setMaxLength()设置可以输入的最多字符数 142 setEchoMode()设置模式 142 7.4 QTextEdit控件 143 简介 143 提示占位文本 143 文本内容设置 144 7.4 QPlainTextEdit控件 145 QPlainTextEdit简介 145 QPlainTextEdit富文本 145 QPlainTextEdit用法 145 7.5 QSpinBox控件 146 QSpinBox简介 146 QSpinBox的主要属性 147 QSpinBox案例分析 147 7.6 QRadioButton控件 148 简介 148 在UI界面中加入QRadioButton控件 148 对QRadioButton控件进行分组 149 多个QRadioButton控件响应同一个槽函数 149 7.7 QCheckBox控件 152 简介 152 QCheckBox开启三态模式 152 在UI界面中加入QCheckBox控件 153 stateChanged()信号 153 猜猜你喜欢 154 7.8 QSlider滑动条控件 155 QSlider简介 155 QSlider案例 156 7.9 QComboBox下拉选择框 157 QComboBox简介 157 QComboBox列表项的访问 157 QComboBox的currentlndexChanged信号 157 QComboBox添加图标 159 用代码添加项 159 添加项 159 7.10 列表框QListWidget类 160 QListWidget简介 160 列表项的显示设置 161 列表框常用操作 162 添加操作 162 删除操作 162 7.11 表格控件QTableWidget 163 简介 163 界面设计器中编辑 163 代码方式修改QTableWidget 164 7.12 树控件QTreeWidget 167 简介 167 操作步骤与分析 167 7.13 Qt的日期、时间、日历等控件 169 QDateEdit控件 169 QDateTimeEdit控件 169 QCalendarWidget控件 170 7.14 QDialog 171 简介 171 操作 171 QMessageBox 172 QFileDialog 173 QFontDialog 174 QColorDialog 175
# 项目 实现自动抢火车票(基于Python3.6+splinter) # splinter使用 plinter.brower是一个开源工具,通过Python自动化测试web,通过电脑自动操作网页。 Splinter模块是python egg,下载当然很简单,安装: pip install splinter 同时还需要浏览器的驱动,Splinter的Browser类默认优先调用的驱动是firefox,所以用chrome的话需要在初始化Browser时候指定driver_name="chrome"参数,建议都明确指定浏览器! 注意:Chrome的驱动chromedriver,注意版本要对应,不然基本上会有unknown error,打不开浏览器 splinter.brower基础知识: 创建一个Browser实例,就会打开相应的浏览器。 visit(url): 故名思议,访问指定网站 findbyid("控件的id").first: 根据控件属性id找到控件,一般控件都有独立唯一的id。不然,Splinter api还提供byname,byid,by_tag等方法!first表示返回第一次找到的控件。 fill("要填充的内容"): 用指定的内容填充相应控件 控件是指对数据和方法的封装。控件可以有自己的属性和方法,其中属性控件数据的简单访问者,方法则是控件的一些简单而可见的功能、控件创建过程包括设计、开发、调试(就是所谓的3Ds开发流程,即Design、Develop、Debug)工作, 然后是控件的使用。 设计控件是一项繁重的工作。自行开发控件与使用控件进行可视化程序开发存在着极大的不同,要求程序员精通面向对象程序设计。创建控件的最大意义在于封装重复的工作,其次是可以扩充现有控件的功能。 click(): 点击控件 登录后,browser.cookies.all()中保存了本次登录的cookie信息(dict类型),可以打印出来或者保存下次使用 quit_browser(browser)函数: 要求用户交互输入q再退出。否则,程序跑完之后就直接退出了,释放Browser的实例,调用quit()方法,浏览器也就关闭了。 reload() 方法用于重新加载当前文档 # 实现思路: 首先我们需要登陆12306网站,登录时需要输入用户名与密码,然后需要输入蛋疼的验证码,然后选择起、始站,时间,车次类型,点击查询,再选择车次,乘客,提交订单。如果按照这样的手动操作下来,票早已经没有了 # 实现目标: 整个流程全自动,自动登陆,自动查询,自动订单,自动提交订单 -------- 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! <项目介绍> 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
!!!当前版本:2014.11.15 !!!更新内容: !!!          [+]支持编写静态库(至于步骤请往下看) !!!          [+]增加静态库转换工具, 在随本模版的压缩包内(源码) !!!          [+]增加 类_写易库.设置_静态库模式() 方法, 用于指定静态库的导出函数名 !!!          [-]对 类_写易库.添加命令() 做了改动,主要修改链接名 !!!          [-]修复易语言无法读取链接名的BUG ========== 1.易支持库机制 ========== !!!易支持库的库信息、命令信息等等均使用某个结构储存 !!!易源码中的自定义数据类型、类模块、组件即为支持库中的库定义数据类型 !!!易语言通过 GetNewInf() 获取支持库信息 !!!所以支持库必须导出这个函数 ========== 2.支持库命令调用 ========== !!!支持库的命令调用方式也比较特殊 !!!每个命令需要三个参数:返回值指针,参数数目,参数信息指针 !!!做个一个库定义数据类型的方法,每个方法的第一个参数为指向该对象的结构指针 ========== 3.简单说下易源码 ========== !!!易保存源码时没有保存各信息名称(比如命令名、数据类型名),而是保存了索引 !!!所以支持库内的各信息有必要时可以修改 !!!但不要改动TA们的顺序,这会导致前期版本的源码出现问题 ========== 4.模版说明 ========== !!!本模版整天来说思路清晰,代码连小白都能理解 !!!模版多数的参数使用通用型,使得模版简便 !!!模版内没有多说废话, 直接把关键的过了一遍, 足够写支持库了 !!!每条命令都演示了支持库的各种操作,能想到的都先写了 !!!暂时没写组件,目前没什么时间了,玩着电脑也冷~ !!!尽量抽时间将组件的开发也模块化 !!!或者各位有心人士可参考 e\sdk\cpp\samples\HtmlView 写一下 ========== 5.关于静态库 ========== !!!静态库的编译本人提供了两种方式,不过两种方式都必须要符合下面的要求 !!!必须导出(易语言里打上公开属性)库信息通知函数, 函数名必须符合 libName_ProcessNotifyLib 的规则 !!!必须导出所有命令实现函数,函数名必须符合 libName_xxx 的规则 !!!必须导出所有窗口单元信息函数,函数名必须符合 libName_GetInterface_控件英文名。2014.11.13这个版本的模版包括前面的暂时木有组件,所以不会有这个函数 !!! !!!第一种方法(#静态库模式_SalHe) !!!将支持库编译 !!!此时还不能做为静态库发布 !!!使用本人写的工具 FNE转LIB 将编译后的支持库转换 !!!转换之后的文件即可作为静态库发布了 !!!工具的使用方法详见工具的自我介绍 !!! !!!第二种方法(#静态库模式_WonderWall) !!!下载一个易语言支持库(插件):WonderWall !!!易语言勾上这个支持库之后并开启静态库编译功能(易语言菜单 -> 工具 -> WonderWall) !!!易语言菜单 -> 编译 -> 静态库编译 !!!此时再拖入工具中加工(进行符号重命名) !!! !!!至于我写的那个工具也放得有源码, 所以要知道原理的话可以看看源码 !!! !!!那么WonderWall编译静态库为什么要另外弄个模式呢?请转到 类_写易库.添加命令() 查看, 看的更清楚 ========== 6.为何选择支持库 ========== !!!其实用模块扩展程序也是足够了 !!!选择做支持库还是安全的 !!!而且支持库有许多模块做不到的功能 ========== 7.关于易功能函数 ========== !!!顾名思义, 就是易内部提供给支持库的函数 !!!主要的用法呢还是得参考 lib2.h(位于 e\sdk\cpp\elib\lib.h) !!!虽说是一个C++头文件,但是语文好点、懂易语言就能理解 !!!小学生的语文水平就差不多啦 !!!我还是把一些常用的写到了 类_易功能 这个类里面

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧