MFC 对话框编程要点

Android10(Q)源码查看和下载 Android10源码查看和下载一 在线查看二 源码下载安装 Repo更新 Repo替换国内清华的镜像 android10 推出来已经有一段时间了,现在手机厂商们最新的手机系统基本都是基于android10了,在此记录下android10的几个源码的获取路径,方便大家研究android10系统。 一 在线查看 https://source.android.com/source/ 首先当然是官方网站,可能需要翻墙 https://github.com/aosp-mirror github网站上的AOSP源码 阅读详情
 
MFC 对话框编程要点
 
(一)对话框基本要点和生命周期
        MFC对话框支持WYSIWYG编程模式,即What you see is what you get.。其类型分为模式对话框和非模式对话框
        对话框由一个rc资源文件描述外观;与一个cpp类相连接(通过ID);对话框内的控件使用基于ID的变量映射来通讯。
        模式对话框对象被定义后,通过调用DoModal()函数来显示对话框并进行相关操作,此函数当对话框被关闭时返回。其返回值标明了对话框是点击OK退出(1),还是被Cancel(2)。
   
        非模式对话框需要与某个View相关联,以便对话框退出时发送消息给对应的View进行必要的处理。
   
        在对话框显示前,系统会调用OnInitDialog()函数,在这个函数中你可以设置一些控件属性,进行一些初始化工作。比如,设置滚动条的最大最小值,设置List列表的初始值等。其方法是将控件ID作为参数,调用GetDlgItem函数获得控件的对象的指针(指针类型是CWnd*)然后使用对象提供的函数进行操作。
        ID对于一个组件来说非常重要,通过向导,我们可以将一个变量和一个组件进行关联(映射)来实现数据交换,而这种绑定的关键就是将一个组件的ID与成员变量关联。
 
(二)数据交换机制
        UpdateData(BOOL b)函数可以进行变量和组件内容的交换,当UpdateData函数的参数为TRUE时,数据从对话框控件传递给数据成员;参数为FALSE时,数据从数据成员传递至对话框成员。数据交换的实现是通过调用 CDialog::DoDataExchange函数。
        当我们想改变获得到个别控件中的数据时,可以使用GetDlgItem函数得到对应控件的指针,对指针进行操作。
 
(三)特殊的Radio Button
        Radio Button控件是分组的,同一组的Radio Button只能有一个被选中。这个机制的实现依赖于TAB顺序,在资源视图下按Ctrl-D键将显示对话框的TAB焦点顺序。举一个例子来说明:
        Radio1,Radio2,Radio3是三个不同的Radio Button控件,其焦点顺序为1,2,3。为了实现分组Radio1的Group属性应该为TRUE,其余两个为FALSE。如果又有两个Radio4,Radio5焦点顺序为6,7。则Radio4的Group属性应为TRUE,Radio4,Radio5被分为一组。
        需要注意的是,Radio以Group属性来分组,为了结束前一个组,你应该将焦点顺序为4,8的控件的Group属性设为TRUE,否则编译器会产生一个警告。
 
(四)一些技巧
        通过向导,我们可以将一个类成员变量和控件关联以进行数据交换,例如将一个CString类型的变量和Edit控件关联。将一个int变量和一组Radio Button关联。但是,人总有犯错的时候,当我们修改或需要删除这种关联时,麻烦就来了。
        在我的使用过程中没有发现VS2005提供了删除“已被关联的控件成员变量”的向导,所以我使用的是比较麻烦的手动删除。
1、 在对话框头文件中删除成员变量的定义
2、 在对话框cpp文件中删除构造函数初始化列表中的对应变量的初始化
3、 在对话框cpp文件中删除DoDataExchange函数中的对应语句(根据变量名)
此时,在class view中的向导中,已经可以重新设定控件所关联的成员变量了。
 
        登录框的制作:
        在显示主窗口之前显示一个模式对话框来提示用户登录是一个常用的功能。只需要在PreCreateWindow函数中加入显示对话框的代码就可以完成这个功能。
 
        有些时候,我们可能需要从一个控件对象来得到它的ID。比如,你的对话框中有好几个滚动条,那么这些滚动条的事件都在OnHScroll ,OnVScroll中被响应。如何区分是哪个滚动条就需要确定ID。
        在这两个函数的参数中有一个CScrollBar* pScrollBar指针,我们可以通过调用
pScrollBar->GetDlgCtrlID()来获得ID,ID是一个整数。
        在对话框编程中往往需要改变某个控件的文字,比如Edit控件和static text控件。此时使用SetDlgItemText(int nID, LPCTSTR lpzString)函数比较方便。
 
 
 
实战篇(一):从零构建领域知识图谱——基于Protege的本体建模与知识表示 本文详细介绍了如何从零构建领域知识图谱,重点讲解了基于Protege的本体建模与知识表示方法。通过游戏和电影领域的实战案例,展示了类层次结构设计、属性关系定义、推理验证等关键步骤,帮助读者掌握知识图谱构建的核心技术。 阅读详情

相关推荐

Android源码你是怎么看的?

记录一下我查看Android源码的网站,同时也可以帮助一下大家 点击查看是我经常在用的网站。 可以从左侧选择不同版本的Android源码查看 然后输入搜索内容,就可以看到自己想看到的源码了

知道的越多,不知道的越多。 1383

MFC学习

1.  GetDlgCtrlID() CKKZ::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) {     if(pWnd->GetDlgCtrlID()==IDC_STATIC_Notice)pDC->SetTextColor(RGB(255,0,0)); }   你获得了某个控件的指针,如CWnd*p;然后就可以用p->GetDlg

cffishappy的专栏 904

HyperLynx(二十二)DDR(五)DDRx总线时序模型设计

DDR3 的数据选通信号与时钟信号的频率是一样的,在数据选通信号写操作时,控制器典型的输出方式是数据选通信号边沿与时钟近似对齐。该界面中显示了所有需要编辑的参数,包括地址/命令信号的时序、控制信号的时序、读和写操作的数据选通和数据信号时序、写操作的数据选通和数据掩码信号时序,以及建立和保持时间的降额参数。由于DDRx总线对时序的要求非常严格,随着速率的提升,时序的要求会更高。反之也是一样的,如果数据选通信号的上升沿在时钟信号上升沿的后面到达 DRAM,那么数据选通信号的下降沿就会在时钟信号的前面到达。

小幽余生不加糖 1882

MFC学习笔记基础

1. MFC中控件的group属性可以将相同的属性归为一组,直到遇到下一个也标记有group属性的控件。在vs2008中,当将一组控件用一个变量来关联(DDX)时,在构造函数里面是将其默认为选择了第一个空间。起码将radiobutton设置为一组是这么做的。2. 函数名前有ON一般来说是在消息处理之前会调用。跟DXUT挺像,但感觉更难用,更不方便。3. DoDataExchan

DirectD的专栏 652

MFC获取当前焦点的控件

前言: 实际开发中,很多情况下我们需要获取当前焦点的控件ID以便于进行特殊的操作。 方法1: GetDlgItem(IDC_EDIT) == Getfocus() //判断焦点是否在某个控件上 方法2:(同1) CWnd * pWnd = GetFocus(); int nId = pWnd->GetDlgCtrlID(); //获取焦点控件的ID 特殊说明: 对于...

半雨微凉 7160

1.4 MFC控件设置

1.4.1 设置控件字体颜色、背景透明 1.打开对应对话框的类向导ClassWizard。   2.在消息映射MessageMaps中添加消息Message:WM_CTLCOLOR。   3.然后程序代码中会添加进函数: OnCtlColor(CDC*pDC, CWnd* pWnd, UINT nCtlColor)   4.在这个函数中添加if语句,其中的条件表达式改成想要设置的控

文森特 1312

MFC控制IDC_STATIC的大小和颜色

根据函数GetDlgCtrlID对指定的控件进行操作。类向导添加消息WM_CTLCOLOR得到函数。

weixin_51287642的博客 1842

android源码常用网站

1.泡在网上的日子http://www.jcodecraeer.com/plus/list.php?tid=31

纸上得来终觉浅,绝知此事要躬行 471

android常用源码网站

http://www.android-fans.net/portal.php

djun100的专栏 906

android tab选项卡火车票,Androd开源库

优质Android 源码现有各类源码接近6000套,视频教程100套,主要涉及.net网站、软件与安卓系列源码,每套源码都已经经过测试,必须附加使用说明或帮助文档。靠谱不坑爹! 需要打包下载合集地址请的朋友,欢迎您与我交流 QQ群: 258450620 或QQ:50841662Android 源代码大约6000套,源代码数据大约8G,源代码视频教程大约30G$$$$$$$$$$$$$$$$$$$$...

weixin_30663839的博客 231

【Android -- 开发】常用网站汇总

Android 开发经常用到的网站进行了汇总,希望能对大家有所帮助

Kevin Learn Android 1679

Android学习网站

Android 学习网站汇总,总有你可以用上的知识点

u012514113的专栏 1734

Android学习常用网站

相信很多Android开发的小伙伴在开发或者自学中,当想找某个资源的时候却忘记了去哪找,那本篇博客的主要目的是记录Android开发中常用的资源网站,以便学习和开发。 1)Android应用源码下载 http://www.javaapk.com/ 2)Android面试常见71道笔试题: http://blog.csdn.net/ai_ma_ai/article/details/50884

znouy的博客 796

Android开发常用网站

文章目录重要SVG地图下载Gradle贝塞尔曲线在线画图一般网络课程相关 重要 Android 开发官网:https://developer.android.google.cn/ Android源码在线查看:https://www.androidos.net.cn/sourcecode Android源码在线查看:http://androidxref.com/ Material Design:https://www.mdui.org/design/|https://material.io/component

Gyso的博客 1654

开发者可视化全栈资源网站

这是一个可视化全栈资源网站,一个方便开发者的网站。 www.leachchen.com 本站主要包含: 1:常用网站导航,常用文档网站导航。 2:Android、IOS、Flutter、VUE、游戏、优秀网站模板、博客模板等资源,大部分资源均可下载源码及收藏,github资源直接关联github作者信息,资源均关联原资源地址,再也不用担心资源出处了。即时的搜索,不用担心资源不好找...

我的博客 2790

Android十个常用使用网站

1、首先推荐当然是开发工具网站: http://www.androiddevtools.cn/该网站Android大部分开发工具都有资源,最好的一点事不用翻墙。 2、用于开发遇到的问题: http://www.csdn.net/开发过程中会遇到很多问题,那百度是避免不了的,我首先会看CSDN的资源解答,简单明了、条例清晰;同时也有资源供大家学习。 3、开发资源网站(源码): http:/

yanxuxu123的博客 1034

Android 开发常用的工具网站

1 图片资源https://cloudconvert.com/ 图片格式转化https://tinypng.com/ PNG压缩https://icons8.com 图片资源库https://thenounproject.com 图片资源库http://www.iconfont.cn/ 矢量资源库http://...

qq_34300472的博客 421

atistream-1.4.0_beta-winxp321.exe

ATI stream SDK1.4工具,适合windowXP32

上一篇: MFC应用程序的初始化过程
下一篇: MFC 多线程总结
lesky
博客等级 码龄23年 91粉丝 35原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值