hive怎么实现join不hive 非等值连接接?

& VS2010/MFC编程入门之八(对话框:创建对话框类和添加控件变量)
VS2010/MFC编程入门之八(对话框:创建对话框类和添加控件变量)
&&&&&& 前两讲中鸡啄米为大家讲解了如何创建对话框资源。创建好对话框资源后要做的就是生成对话框类了。鸡啄米再声明下,生成对话框类主要包括新建对话框类、添加控件变量和控件的消息处理函数等。&&&&&& 因为鸡啄米给大家的例程Addition是基于对话框的程序,所以程序自动创建了对话框模板IDD_ADDITION_DIALOG,并自动生成了对话框类CAdditionDlg,它是从CDialogEx类派生的。大家用过 6.0的可能记得,我们定义的对话框类都是从CDialog类派生的,但在中,一般对话框类都是继承自CDialogEx类。&&&&&& 创建对话框类&&&&&& 如果是自己新添加的对话框模板,怎样为它创建对话框类呢?&&&&&& 1.首先鸡啄米就按中说的那样,在Resource View的&Dialog&节点上右键,然后在右键菜单中选择&Insert Dialog&创建一个新的对话框模板,ID就使用默认的IDD_DIALOG1。&&&&&& 2.在中间区域会显示新建的对话框模板,然后选中此对话框模板,点右键,在右键菜单中选择Add Class。&&&&&&& 3.选择&Add Class&后会弹出一个对话框,在对话框中&Class name&下的编辑框中写入自定义的类名就可以了,例如CMyDialog。&&&&&& 4.最后点&Finish&完成。&&&&&& 最终你就可以在Class View中看到新生成的对话框类CMyDialog了,并且在Solution Explorer中有相应的MyDialog.h头文件和MyDialog.cpp源文件生成。CMyDialog类同样派生于CDialogEx类。&&&&&& 注意,一般类名都以C打头,又比如,CTestDlg。&&&&&& 为对话框中的控件添加变量&&&&&& 在上一讲中,包括三个静态文本框,三个编辑框,一个按钮控件。程序自动生成的Cancel按钮保留,作为退出按钮,而OK按钮删除掉了。&&&&&& 静态文本框只是为了说明后面紧跟的编辑框中数据的意义,是被加数、加数还是和,所以它们是不会变的,我们就不为它们添加变量了。按钮控件是用来操作的,这里也不为它们添加变量。编辑框中的数据可能会经常变化,有必要为它们每个控件关联一个变量。&&&&&& 首先为被加数的编辑框IDC_SUMMAND_EDIT添加变量。&&&&&& 1.在编辑框上点右键,在右键菜单中选择&Add Variable&。弹出添加成员变量的向导对话框。&&&&&& 2.我们想为其添加值变量而不是控件变量,所以对话框中&Category&下的组合框中选择Value。&&&&&& 3.&Variable type&下的组合框此时默认选中的是&CString&,CString是字符串类,显然不能进行加法运算。我们可以选择double、float、int等。这里我们选择double,即编辑框关联一个double类型的变量。&&&&&& 4.在&Variable name&中写入自定义的变量名。鸡啄米为其取名m_editSummand。&&&&&& 5.点&Finish&完成。&&&&&& 注意,类的成员变量名一般以m_打头,以标识它是一个成员变量。&&&&&& 参照此方法,再分别为加数的编辑框IDD_ADDEND_EDIT添加double型变量m_editAddend、和的编辑框IDD_SUM_EDIT添加double型变量m_editSum。&&&&&& 对话框类的数据交换和检验&&&&&& 在程序运行界面中,用户往往会改变控件的属性,例如,在编辑框中输入字符串,或者改变组合框的选中项,又或者改变复选框的选中状态等。控件的属性改变后会相应修改控件关联变量的值。这种同步的改变是通过MFC为对话框类自动生成的成员函数DoDataExchange()来实现的,这也叫做对话框的数据交换和检验机制。&&&&&&&我们为三个编辑框添加了变量以后,在AdditionDlg.cpp中CAdditionDlg的DoDataExchange()函数的函数体中多了三条DDX_Text调用语句。下面是函数体代码和鸡啄米添加的注释。
void&CAdditionDlg::DoDataExchange(CDataExchange*&pDX) &&
&&&&CDialogEx::DoDataExchange(pDX); &&
&&&&DDX_Text(pDX,&IDC_SUMMAND_EDIT,&m_editSummand); &&
&&&&DDX_Text(pDX,&IDC_ADDEND_EDIT,&m_editAddend); &&
&&&&DDX_Text(pDX,&IDC_SUM_EDIT,&m_editSum); &&
}&&&&&&&& 鸡啄米再以Addition程序为例简单说下数据交换机制。如果我们在程序运行界面中输入被加数,则通过CAddition的DoDataExchange()函数可以将输入的值保存到m_editSummand变量中,反之如果程序运行中修改了变量m_editSummand的值,则通过CAddition的DoDataExchange()函数也可以将新的变量值显示到被加数的编辑框中。&&&&&& 但是这种数据交换机制中,DoDataExchange()并不是被自动调用的,而是需要我们在程序中调用CDialogEx::UpdateData()函数,由UpdateData()函数再去自动调用DoDataExchange()的。&&&&&& CDialogEx::UpdateData()函数的原型为:&&&&&& BOOL UpdateData(BOOL bSaveAndValidate = TRUE);&&&&&& 参数:bSaveAndValidate用于指示数据传输的方向,TRUE表示从控件传给变量,FALSE表示从变量传给控件。默认值是TRUE,即从控件传给变量。&&&&&& 返回值:CDialogEx::UpdateData()函数的返回值表示操作是否成功,成功则返回TRUE,否则返回FALSE。&&&&&& 在下一讲中鸡啄米将具体演示CDialogEx::UpdateData()函数如何使用。&&&&&& 鸡啄米本节主要讲的是新建对话框类和添加控件变量,控件的消息处理函数将在下一讲详细介绍。依然欢迎大家常回鸡啄米博客学习和讨论。&
除非特别注明,文章均为原创
转载请标明本文地址:
作者:鸡啄米
&&( 22:15:37)&&( 22:36:0)&&( 23:17:45)&&( 19:46:26)&&( 22:7:57)&&( 23:32:16)&&( 1:53:2)&&( 23:22:54)&&( 22:18:8)&&( 22:47:28)
MFC没学了,直接用C#鸡啄米 于
10:58:03 回复嗯,现在用C#的也很多。
先顶再看132 于
14:59:26 回复111
你的文章对我帮助很大,如果我想做两个对话框,一个是对话框里全是参数,自己输入,另一个全是运算结果,请问如何实现?我是新手,希望能详细点,非常感谢!鸡啄米 于
21:19:10 回复比较简单的是通过全局变量来保存第一个对话框里的参数,第二个对话框计算并显示结果InitWaiter 于
19:32:28 回复建议用结构体实现,需要设置的参数都放置在结构体中,虽然该结构体也是全局的,不过可控性更强,有点类似于命名空间,主要还是模块化的思想。
你好!你的文章对我太有用了,非常感谢您!
鸡啄米你好!我在看这一讲时遇到了困难,在给控件添加变量时,右键之后单击add variable可是我的vs2010却没有任何反应,也就是说不能添加变量,请问你知道这是什么原因吗?鸡啄米 于
11:28:15 回复首先确定是否生成了对话框类,如果有了对话框类还是不行,就关闭工程,删除sdf等中间文件,再打开试试。实在不行就手动添加吧。jiayaosmile 于
12:21:57 回复我也遇到了5楼的问题,按照楼主的方法,没有用呀。鸡啄米 于
17:04:31 回复可以再试试class wizard,应该可以jiayaosmile 于
17:01:55 回复是我自己的问题了,没有添加类就直接添加变量,就没反应了。谢谢鸡啄米,你的博客很好,很适合我这种初学者。plcwoaini 于
21:14:06 回复enum=IDD_xx这个对话框的IDD不同时,双击对话框,不能弹出类向导.可以手动修改.
这个文章很好,呵呵,虽然我没有看任何内容。但是它已经帮我解决了问题。其实MFC默认生成的对话框其实是不关联任何类的,所以你就无法添加变量,因为VS不知道你添加的变量到底应该放到哪个类之中!如果我们自己派生一个对话框类的话,那么是可以添加的,原因是我们此时已经派生了类,并且关联了资源。
读过你的文章,觉得写的很好,简单明了,这里支持你一下。希望你能继续写下去。
我又来了 问的是控件如何关联变量问题 就是我定义了一个MFC的类 就比如把class CEditLimit : public CEdit
比如我想关联一个我的edit控件的Control的变量 可为什么没有我的CEditLimit呐
是所有的vs都是这呐 还是我的vs是这啊 都是自己手动的更改嘛 刚从vc6转过来 好多的都不熟悉 还希望版主都赐教啊 鸡啄米 于
22:43:21 回复自定义的类是不会显示到那个列表里的,你可以先关联一个CEdit类型的控件变量,然后到头文件中手动修改为CEditLimit类型。
谢谢啊 还有就是 每次更改以后都得是生成解决方案 在调试运行嘛我以前每次用vc6.0都是直接Ctrl+F5 就是问下 在vs中怎么办啊 每次修改以后不能直接点运行 是嘛 很困惑 对与vs的一些基本操作 还请博主都体谅
你好,我在看这章的时候也出现了5楼的问题,在AdditionDlg.cpp中CAdditionDlg的DoDataExchange()函数的函数体中没有变化,只有一条CDialogEx::DoDataExchange(pDX);语句。在AdditionDlg.h中有新加的变量名。只能手动添加,有什么其他方法吗?鸡啄米 于
20:04:40 回复呵呵,真是什么问题都有啊。如果你的添加方法正确的话,只加一半还真是没有道理的。这种情况下,只能手动加了
谢谢啊,学习了,可是第六讲的时候我评论中提出了一个小问题,后来咋找不到回复及我的原帖了,记得好像成功了的,觉得这边好多资源供学习,还有交流群么?
之前在公司用的VC6.0,自己电脑刚装上了VS2012,想业余时间自己学学VS,感谢你的文章,给了我不少的帮助。祝你工作顺利,身体健康!鸡啄米 于
23:17:54 回复很高兴能帮到你。同祝工作顺利!
类似于CDialogEx类。我看到它是CMyDialog的一个基类那么这样的的类又是什么样的含义呢!!博主你真的太好了!非常受用!
CDialogEx::UpdateData()函数是在哪里呢?本文来源于鸡啄米 / , 原文地址:/software/153.html
你好,我在这章照做的时候遇见了问题,就是在Add Class的时候填写Class name后点击完成,就弹出不是正当的.....h文件鸡啄米 于
22:45:30 回复sorry,这种问题从没遇到过未来记忆 于
10:16:21 回复谢谢你了。我知道了,是我在安装的时候吧一个开发工具给去掉了,我现在解决了。西子麻麻 于
15:18:08 回复你好,请问你是重新安装了还是直接添加了工具了呢,我现在也是这个问题
非常好的博客。论述简单明了,针对性强!
非常有用的文章。感谢你的奉献!
你好!读了你的文章感觉很好,谢谢!现在有个问题请教:我用MFC做了一个界面,上面添加了2个对话框,在对话框1上有滑拉条、文本框以及spin控件,想实现当这些控件的值变化时能实时地反应到对话框2中。我不想在每个控件上都添加处理函数,能在对话框中找到一个共同的函数,处理对话框1中所有的变化?谢谢!
鸡啄米老师,你好!我想实现直接鼠标双击就可以进行文字输入,并把文字直接显示在屏幕上,按回车回到正常状态。不想用弹出对话框,接收输入文字那种,那种太麻烦了。请教下先生这个该真么实现呢?我看好多软件比如world,金山文字都这么搞的,想知道下他们是怎么弄的?谢谢
给控件添加成员变量:1.在Dialog对话框上添加一个Edit控件。2.选中Edit控件,鼠标右键点击,选择“类向导”(我用的汉化版,就不打英文了)3.在“类向导MFC”对话框中,中间部分有一个“成员变量”选项卡。点击。在下部会显示“成员变量”列表框。4.根据你自己设定的Edit的ID,在列表中选择。5.点击右侧的“添加变量”按钮。打开“添加成员变量”对话框。默认已经有“m_”。6.“类别”“变量类型”就不要改了。然后确定。7.DoDataExchange函数中会自动添加。然后直接使用关联的成员变量就行。其他也是一样。鸡啄米 于
23:19:38 回复很高兴有如此热心的网友,欢迎常来Caramel 于
9:22:04 回复我试了下这种方法,我的还是不能关联呢。。。好奇怪。。。
嗯,写的很简单明了。支持一下鸡啄米 于
21:36:56 回复谢谢支持,常来看看啊
继续学习,争取先做一个加法的简单MFC程序
谢谢楼主哦 嘿嘿
我都很认真的看啦鸡啄米 于
22:43:04 回复不用谢,常来逛逛啊
楼主,我刚接触这些,不过看你的这个觉得真心不错,我会很认真的看了,支持你哦鸡啄米 于
16:19:14 回复加油,常来交流啊
我添加对话框类的时候,右键单击 add class没反应,用class wizard 时报错?鸡啄米请问我的问题出在哪?还是软件安装的有问题
博主这样具体形式的例子比起其他长篇大论从WINDOWS原理开始介绍的MFC教程要好很多,前段时间我看了《深入浅出MFC》,书前半部分全是理论,我看完了还是编不出一个最基本的程序,那样的书可能不适合入门。感谢您的文章。鸡啄米 于
16:19:06 回复个人认为,那种书适合作工具书
很喜欢你把问题分成一部分一部分来讲,很容易理解接受~
我一直很困惑,对话框程序文档程序有啥区别么?还有 win32 程序
这三个项目模版都是干啥用的?应用场景是啥?能给讲讲不?
鸡啄米,你好,我觉得你这句话应该是写错了:“参数:bSaveAndValidate用于指示数据传输的方向,TRUE表示从控件传给变量,FALSE表示从变量传给数据。”最后的应该是“FALSE表示从变量传给控件。”你的文章写得简单明了,非常适合入门。在此感谢你。鸡啄米 于
16:34:27 回复已经修正,谢谢提醒。
我出现了和10楼相同的问题,即添加变量之后CAdditionDlg::DoDataExchange中没有自动增加DDX_Text函数。我发现了问题所在原因,按照教程,这个窗口是在一个单窗口的MFC工程中自己新建的窗口。它的变量是无法自动关联到AdditioniDlg.cpp中的。如果对项目本来自动创建的窗口进行操作,就可以自动建立函数了。
vs2010能不能像vc 6.0
一样将一个对话资源与一个已有的类关联,比如说我从CFileDialog 派生一个类CCustomDialog ,如何将这个类和一个对话框资源关联?
你好,我的VS2010里面的I没有IDC_SUMMAND_EDIT和那两个,手动修改后在addiondlg.cpp里错误ID没定义.怎么办?南风 于
21:30:35 回复我的也一样南风 于
21:31:33 回复怎么解决?
跪谢,太厉害了~
作者您好 我右键按完添加变量后 没有任何反应 怎么办
一开始DoDataExchange() 里面没有自动生成。。。后来就手动添加了。 看了评论应该是有问题的。 然后参考了 秦风 的方法
。解决了。。这下问题就来了, 我按照楼主的方法为什么出错了?最后我找到问题了: 添加变量的时候,太疏忽了,类别没有切换到value。所以关联不上拉,不能自动生成代码。
大家是不是和我犯的错是一样的呢。 呵呵。。。本人新手,鸡啄米老师给力哈!~~~
请问QQ交流群号是多少?
请问一下,添加了控件变量之后忘记了自己添加的变量名了,怎么可以方便的查看米 于
10:31:15 回复一个就是在DoDataExchange里看,一个就是在添加变量的对话框内,会显示之前添加的变量的,为灰色。我也是新手、
您好,我按你的说明写了以后,就是提示:m_editsum,未声明的标识符。另外,请问CDialogEx::UpdateData()这个函数写在哪个位置?
求问不小心修改了主dilogID之后,修改回来依旧无法右键添加变量的解决方法QAQ。
你好,我用vs2013按照你所说的方法去操作(加法计数器),但是一直没有成功。错误列表如下:IntelliSense:
无法用 &double& 类型的值初始化 &CWnd && 类型的引用(非常量限定)error C2664: “void DDX_Control(CDataExchange *,int,CWnd &)”: 无法将参数 3 从“double”转换为“CWnd &”请问应该如何解决?
新手求教:如果控件的变量信息填错了,怎么修改,比如我把其中“和”的变量类型填错了,怎么修改,在点击添加变量的时候,原有的修改项都灰了,不能改。琥珀 于
11:16:40 回复GO TO DEFINITION ?
请问我按照这两节的课程完成Addition对话框的创建,控件添加,变量添加。为什么在对话框类的头文件中没有实现函数的声明,在实现类的文件中也没有消息映射,在void CAdditionDlg::DoDataExchange(CDataExchange* pDX) 函数中也没有控件和变量的数据交换自动生成。请问是不是有什么内容没有设置好呀?琥珀 于
11:21:24 回复同问
为什么运行之后结果是最开始Addition的窗口而不是我后来自己插入的那个窗口呢
楼主,我这有个问题就是在给编辑框添加变量时,弹出“无法给成员变量添加到控件中”的窗口
#error 指令: Please use the /MD switch for _AFXDLL builds d:\program files (x86)\microsoft visual studio 10.0\vc\atlmfc\include\afxver_.h 81这是怎么回事
完全随机文章经常一个大的中很多类很多 &一般情况下 我们是从名称中直接判断的,但有时也不好找!那就有下下面的方法:打开资源视图中的对话框:项目--》类向导
版权声明:本文为博主原创,未经博主允许不得转载。& VS2010/MFC编程入门之七(对话框:为对话框添加控件)
VS2010/MFC编程入门之七(对话框:为对话框添加控件)
&&&&&& 创建对话框资源需要创建对话框模板、修改对话框属性、为对话框添加各种控件等步骤,前面一讲中鸡啄米已经讲了,本节继续讲如何为对话框添加控件。&&&&&& 上一讲中鸡啄米创建了一个名为&Addition&的工程,目的是生成一个实现加法运算的应用程序。实现加法计算有几个必要的因素:被加数、加数、和。被加数和加数需要输入,和需要输出显示。那么这几个因素都需要相应的控件来输入或显示,下面鸡啄米就一步步讲解如何添加这些控件。&&&&&&&1.为对话框添加一个静态文本框(Static Text),用于显示字符串--&被加数&。&&&&&&&上一讲中生成的资源模板中自动添加了一个标题为&TODO:Place dialog controls here.&的静态文本框,我们可以修改它的标题继续使用,也可以删掉它。这里为了从头讲解静态文本框的添加过程,将它删掉,继续添加新的静态文本框。&&&&&&&删除控件时,可以使用鼠标左键点击选中它,选中后控件的周围会出现虚线框,然后按Delete键就可以将其删除了。在&Addition&工程的Resource View中打开上一讲中创建的对话框模板IDD_ADDITION_DIALOG,自动添加的静态文本框就可以使用这种方法删除。&&&&&& 在添加新的静态文本框以前,先看看Toolbox视图是否显示了,如果没有显示,在菜单栏上点击View-&Toolbox即可。Toolbox视图如下图:&&&&&& Toolbox中列出了一些常用控件,其中有一个是Static Text,即是我们要添加的控件。在Toolbox中的Static Text上点下鼠标左键不放开,并拖到IDD_ADDITION_DIALOG对话框模板上,模板上会出现一个虚线框,我们找到合适的位置松开鼠标左键放下它。&&&&&& 用鼠标左键选中控件后周围出现虚线框,然后鼠标移到虚线框上几个黑点的位置会变成双向箭头的形状,此时就可以按下鼠标左键并拖动来改变控件大小了。我们可以这样改变新添加的静态文本框控件的大小,以更好的显示标题。当然,整个对话框模板也可以用这种方法改变大小。&&&&&& 接下来就该修改静态文本框的文字了。鼠标右键点击静态文本框,在右键菜单中选择&Properties&,Properties面板就会显示出来,在面板上修改Caption属性为&被加数&,ID修改为IDC_SUMMAND_STATIC。此时模板如下图:&&&&&& 2.为对话框添加一个编辑框(Edit Control),用来输入被加数。&&&&&& 添加编辑框的过程与静态文本框类似,在Toolbox中选中Edit Control控件拖到对话框模板上,并使其与之前的静态文本框水平对齐(为了美观),然后调整其大小使之适合被加数的输入。&&&&&& 在编辑框上点右键,仍然在右键菜单中选择&Properties&显示出属性(Properties)面板,修改其ID为IDC_SUMMAND_EDIT。此时模板如下图:&&&&&& 3.按照1的方法添加一个标题为&加数&的静态文本框,用于显示字符串--&加数&。并将其ID改为IDC_ADDEND_STATIC。&&&&&& 4.按照2的方法添加一个ID为IDC_ADDEND_EDIT的编辑框,用来输入加数。&&&&&&&5.按照1的方法添加一个标题为&和&的静态文本框,用于显示文字--&和&。并修改其ID为IDC_SUM_STATIC。&&&&&& 6.按照2的方法添加一个ID为IDC_SUM_EDIT的编辑框,用来显示最终的加和。&&&&&&&7.类似的添加按钮(Button)控件到对话框模板,用于在被点击后触发加法计算。修改其标题为&计算&,ID为IDC_ADD_BUTTON。&&&&&& 到此,对话框模板如图:&&&&&& 8.删除OK按钮。打开Cancel按钮的属性面板,将标题改为&退出&,并使其与&计算&按钮水平对齐。&&&&&& 9.根据控件的布局,适当调整整个对话框模板的大小,使其相对控件布局来说大小合适,界面美观。&&&&&& 这样在对话框模板中就把我们在本例中需要用到的控件就添加完了。最终效果如下:&&&&&& 至此,我们的对话框资源就基本创建完了。应用程序运行后的界面效果已经很清楚了。后面鸡啄米会讲如何在对话框类中实现加法计算功能,并能很好的和界面交互。欢迎继续到鸡啄米博客交流。
除非特别注明,文章均为原创
转载请标明本文地址:
作者:鸡啄米
&&( 22:36:0)&&( 23:17:45)&&( 19:46:26)&&( 22:7:57)&&( 23:32:16)&&( 1:53:2)&&( 23:22:54)&&( 22:18:8)&&( 22:47:28)&&( 21:5:7)
正在学习JAVA的来支持一下鸡啄米 于
22:52:29 回复嗯,java我也在看。
学习学习。。
每天来看看 能看懂多少算多少鸡啄米 于
22:52:54 回复呵呵,常来看啊。
挺不错,值得好好学习
技术帖,支持下!欢迎博主回访!
这个可以有
大哥速度更新 期待ing.....
都是好帖子,博主快点更新啊鸡啄米 于
20:51:51 回复我会尽量抓紧的
互联网需要每一位地球公民奉献知识,赞一个鸡啄米 于
19:51:12 回复每个人都要有分享精神,积极参与
太感激了鸡啄米 于
00:03:36 回复不用客气,常来看看啊
最近在看您的教程学习,不能一篇一篇的回复,偷懒了,对 您的分享十分感激
我现在就在用vc++6.0编写MFC有关的,还望大侠以后多帮助,谢谢。
目前是每天的大半时间都逗留在楼主的博客上。嘻嘻鸡啄米 于
23:02:55 回复谢谢这么支持鸡啄米!希望鸡啄米给你带来了些帮助
鸡啄米先生什么时候出个Java的教程啊!很期待很期待!!!鸡啄米 于
23:03:47 回复嗯,记下了。谢谢你的建议
1.给控件关联变量;CEdit m_edit1;CEdit m_edit2;CButton m_btnACEdit m_editA2.将三个编辑框的属性Number改为True;第三个求和的编辑框ReadOnly属性改为True;3.双击求和按钮,自动创建单机按钮的消息响应。在响应函数中输入:
CString lv_editString1; CString lv_editString2;
m_edit1.GetWindowText(lv_editString1); m_edit2.GetWindowText(lv_editString2); int lv_edit1=_ttoi(lv_editString1); int lv_edit2=_ttoi(lv_editString2); int lv_edit3=lv_edit1+lv_edit2; CString lv_editString3; lv_editString3.Format(_T(&%d&),lv_edit3); m_editAdd.SetWindowText(lv_editString3);4.运行,求和运算。//不能上传图片,就这样吧。
运行出来界面蛮喜人的,虽说还没有实现具体功能。ps:怎么没有在文章中发现萌物图片了
为什么要修改ID呢?我没有修改,结果运行后三个Edit Control的值都是默认0,是修改ID的关系吗?求博主解答
博主很细心,写的很详细,学习起来就容易一些了,谢谢博主
鸡啄米你好:
我是一名C++初学者,看你对MFC的介绍挺好的,所以就想继续看下去,但是在其中我一直被一个问题给困扰:那就是你的网站索引做的也太垃圾了吧,每次点完目录后就当页跳转(当前页直接跳到所选连接页内容,这样我想要看看内容的话,就有得重新去选择大目录,然后一页一页的跳),能不能改一下网站后台代码,每次点击目录后新页面跳转也行,要不你就给每个大类下面再做一个子目录嘛,不至于有时候看完这一节,下一节还得重新找,或者看着这节想看之前的内容又很麻烦,这只是网站用户体验方面的问题
支持支持,大神给力~
虽然觉得你说的挺好的,但我完全看不懂啊,是因为我太笨了吗??
如果在对话框里设置里最大化、最小化。如何在最大化是让总体最大化,而不是仅仅对话框的边框最大化。
楼主我想请问怎样在dialog上再添加一个dialog或者form,类似Qt里的界面添加一个frame或者widget
完全随机文章查看:3601|回复:3
如何动态设置edit控件只读,网上百度了一下,用CEdit *pEdit=(CEdit*)GetDlgItem(IDC_EDIT_ID),
pEdit-&SetReadOnly(true),但我运行的时候编译没错,运行则死掉了,调试了一下,发现那个pEdit指针不对,问怎样修改?补充一下层次关系:主对话框是login,登陆后进入manage对话框,里面有个修改按钮,查看按钮,他们都调用bookinfo对话框,修改的话有个edit控件设为只读。
版规,发帖可获2无忧币
ModifyStyle应该可以实现,可以查查!!
版规,回帖可获2无忧币
bookinfo怎么调用的
如果是模态调用可以在调用前设置一个成员变量用来标记是否只读
然后再OnInitDialog里设置
如果是非模态调用直接bookinfo的对话框指针即可
如果是模态调用可以在调用前设置一个成员变量用来标记是否只读
然后再OnInitDialog里设置
如果是非模态调用直接bookinfo的对话框指针即可
版规,回帖可获2无忧币VC++(142)
&在使用mfc的时候经常遇到自定义类访问主对话框控件的问题,例如自定义类中的方法要输出一段字符串到主对话框的EDIT控件、控制对话框的进度条等。
&&&要在自定义的类中访问主对话框空间,须获得主对话的指针。主对话框的对象在app类的InitInstance()方法中声明。查看app类的cpp文件,在InitInstance()方法中有如下语句:
&&&m_pMainWnd = &
&&主对话框指针被传给m_pMainWnd 成员,按f12查看其定义,发现m_pMainWnd 是在afxwin.h中声明的成员:&CWnd* m_pMainW&&&&&&&// main window (usually same AfxGetApp()-&m_pMainWnd)
由于MFC中的自定义类会自动包含stdafx.h头文件,且stdafx.h包含afxwin.h,因此根据注释,在自定义类中可以直接使用
&&&&AfxGetApp()-&m_pMainWnd
来获取主对话框的指针。之后可通过
&&&&AfxGetApp()-&m_pMainWnd-&GetDlgItem(&&);
来获得要访问的主对话框控件的指针,以对其进行访问。
子对话框得到父对话框的方法
1. extern CMainApp theA
CMainDlg* dlg = (CMainDlg*)theApp.m_pMainW
获得主对话框指针就可以调用它的成员的
2.主对话框创建子对话框时把this传入,那么在子对话框中就可以得到主对话的指针&
3.用GetParent()获取父窗口指针。
设你主对话框类为CMyDialog.
CMyDialog *pDlg = (CMyDialog *)GetParent()-&GetParent();
pDlg-&函数或变量;
第一个GetParent()获取的是tab control指针,再通过tab control获取主对话框指针。
获取对话框的指针--全局变量的使用
假设CMyDialog为对话框类
1.先在CMyDialog.cpp中声明一个全局变量CMyDialog* pD
2在OnInitDialog()的时候,pDlg =
3.在别的类使用他的时候,在别的类的Cpp中添加extern CMyDialog* pD
4.pDlg-&yourfunction();
获取对话框句柄
dlg.GetSafeHwnd();
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:101043次
积分:2513
积分:2513
排名:第13727名
原创:146篇
转载:58篇
(2)(13)(4)(6)(30)(13)(2)(1)(6)(4)(8)(7)(2)(1)(13)(75)(2)(14)(3)

我要回帖

更多关于 hive 非等值连接 的文章

 

随机推荐