全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VC程序实例学习及心得 属性表单及向导的制作一,属性表单属性表单是由属性页组成的,每一个属性页都是一个对话框(属性页对话框是对话框的后三个),具体制作步骤如下1,创建一个单文档应用程序2,属性页在Insert/Reserous/Dialog中添加,添加完成以后对属性进行修改,将Language改成Chinese(P,R,C),可以适当调整字体大小,将每个属性页的ID和Caption改成自己想要的;在每个属性页上添加相应的控件3,分别对三个属性页创建对应的三个类,这里基类选择CPropertyPage,4,新创建一个类CPropertySheet,在这个类中为每一个属性页创建一个成员变量,通过在CPropertySheet的构造函数中调用AddPage();(参数是指针,可以通过在成员变量前加&取地址)来实现。 AddPage(&m_prop1);AddPage(&m_prop2);AddPage(&m_prop3);5,添加一个菜单项,用来弹出制作的属性表单,关联一个函数,最后通过调用DoModal实现属性表单的制作void CPropView:OnPropertysheet()/TODO:Add yourmand handlercode hereCPropSheet m_propsheet(属性表单);m_propsheet.DoModal();这里的对象m_propsheet()括号里的参数不能省略,他是属性表单的名称二,向导其实向导的创建和属性表单的创建具有同样的步骤,当创建完成一个属性表单以后在调用DoModal()之前调用SetWizardMode(),及m_propsheet.SetWizardMode();但是这时的向导并不完善,因为当在第一页时不应该有上一步,最后一页时不应该还有下一步,应该是一个完成按钮。 在属性表单这个类中有这样的一个专门控制按钮的成员函数及CPropertySheetSetWizardButtons()但是这个函数应该在哪里调用么,从MSDN中可一知道应该从CPropertyPage:OnSetActive这个函数中调用(OnSetActive是一个虚函数),因此在每个属性页的类中都应该添加这样的一个虚函数,方法右键类,添加虚函数由于OnSetActive和SetWizardButton不是同一个类的成员函数,但是属性表单是属性页的父窗口,所以通过获取父窗口的指针然后来调用SetWizardButtons(),GetParent()返回的是一个CWnd类型的指针,我们需要的是以一个属性表单类型的,通过转换可以实现(CPropertySheet*)GetParent()-SetWizardButtons();在SetWizardButtons()可以设置我们需要的效果第一页应该是:(CPropertySheet*)GetParent()-SetWizardButtons(PSWIZB_NEXT);中间页是:(CPropertySheet*)GetParent()-SetWizardButtons(PSWIZB_BACK|PSWIZB_NEXT);最后一页是(CPropertySheet*)GetParent()-SetWizardButtons(PSWIZB_BACK|PSWIZB_FINISH);这样一个向导的框架就创建完成类了在类向导的创建中用一用到了一个虚函数OnWizardNext()当下一个按钮被点击时调用返回值0是自动跳转到下一个页面,-1防止跳转到下一个页面还有一个虚函数是OnWizardFinish(),这个函数是在点击完成时调用的心得MSDN中为我们提供了编程的很多信息,学会有效利用MSDN非常重要三,一些控件的使用方法1)单选钮的一些使用方法单选按钮的属性中有一项,组(Group),当它被选中的时候才能在类向导里关联一个成员变量,否则在类向导中不会显示,一组单选按钮只需要将第一个单选按钮的Group勾选,分组以后当它被选中时他所关联的成员变量的值就是0,选中第二个时相应的成员变量是1,以此类推,直到遇到下一个单选按钮被分组为止。 当没有被选中是他的默认值是-1,因此如果想要判断一个单选按钮是否被选中可以通过if语句对它的值进行判断2)列表框的一些使用方法向列表框里添加内容用到一个函数叫CListBox类的一个成员函数AddString()具体添加方法(CListBox*)GetDlgItem()-AddString(“”);GetDlgItem()返回的是一个CWnd类型的指针,因此要用CListBox类型强制转换一下3)复选按钮是个布尔型的值,选中时值为真,否则为假4)组合框的一些用法向组合框中添加一些选项(CComboBox*)GetDlgItem()-AddString(“”);显示一项缺省值时可以用(CComboBox*)GetDlgItem()-SetCurSel();实现,SetCurSel()为0时选中第一项,为-1时,没选中任何项对应的是GetCurSel()这个歌成员函数时获得当前选择条目的索引值CComboBox有个成员函数叫GetLBText()它有两个参数,一个是索引值,一个是取出用户的选择的变量。 例如先定义一个存放内容的变量m_abc intIndex;Index=(CComboBox*)GetDlgItem()-GetCurSel();/获取指定索引值(CComboBox*)GetDlgItem()-GetLbText(Index,m_abc);/将索引值对应的内容存放到m_abc中快捷的数组初始化方法用指定的字符设置内存buff void*memset(void*dest,intc,size_t,count);第一个参数是内存buff的首地址,第二个参数是0或者1(非零为真,零为假)第三个参数是内存buff的大小例如有一个数组m_art对它进行初始化,值全为假Memset(m_art,0,sizef(m_art);atof():将字符串转换成浮点型数返回转换后的浮点型数实例#include#includeint main()float f;char*str=12345.67;f=atof(str);printf(string=%s float=%fn,str,f);return0;atoi()将一个字符串转换成一个数值例如int num;Char ch1;num=atof(ch1);itoa()将一个数值转化成字符串char*_itoa(int value,char*string,int radix);第一个参数是将要被转化的整数值,第二个参数是指结果字符串及设置一个buff来接收转化的结果,第三个参数是进制(二进制,十进制,十六进制)人有了知识,就会具备各种分析能力,明辨是非的能力。 所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑垃圾分拣工安全操作规程
- 2026年康复师物理因子疼痛治疗专项试卷及答案
- 冷凝器安全操作规程
- PCB电测岗位专业试题及详细答案
- 血栓后综合征肢体水肿长期管理共识
- 自身免疫性肝病骨代谢监测方案共识
- 2025内镜清洗消毒知识考核试题(护理、洗消)及答案
- 农田喷灌系统安装调试方案
- NPDP产品开发专业认证模拟试题
- 高压旋喷桩止水帷幕施工方案
- 肠镜的肠道准备培训课件
- 2026教师考试时事政治热点题库及完整答案
- 2026年《学校体育学》考试复习题库(新版)
- 2026中国人民保险招聘考试历年参考题库含答案详解
- 2026年秋季开学初三学困生转化主题班会课件
- 高中二年级政治 挑战与应对 教学设计
- 2026贵州银行面试题目及答案
- 2026导游证考试高频考点试题汇编
- 应急照明安装施工方案模板
- 2025年一级消防工程师继续教育考题及答案
- 2025海南国际经济发展局事业单位笔试试题
评论
0/150
提交评论