初学C++常遇到的问题(二)

1.窗口与窗口对象的关系,窗口是资源,窗口对象中的窗口常用窗口句柄表示,窗口消亡,但窗口对象并没有消亡

 

2.m_常表示类中的实例变量

 

3.DDX_表示与控件关联的函数

 

4.对话框控件访问七种方式

nGetDlgItem()->Get(Set)WindowText()

nGetDlgItemText()/SetDlgItemText()
nGetDlgItemInt()/SetDlgItemInt()
n将控件和整型变量相关联
n将控件和控件变量相关联
nSendMessage()
nSendDlgItemMessage()
 
5. 窗口的Z次序表明了重叠窗口堆中窗口的位置,这个窗口堆是按一个假想的轴定位的,这个轴就是从屏幕向外伸展的Z轴。Z次序最上面的窗口覆盖所有其它的窗口,Z次序最底层的窗口被所有其它的窗口覆盖。应用程序设置窗口在Z次序中的位置是通过把它放在一个给定窗口的后面,或是放在窗口堆的顶部或底部。

 

6.响应是CView-->CDoc-->CFrame-->CAPP

 

7.标准消息

      除WM_COMMAND之外,所有以WM_开头的消息。

      从CWnd派生的类,都可以接收到这类消息。

命令消息

      来自菜单、加速键或工具栏按钮的消息。这类消息都以WM_COMMAND呈现。在MFC中,通过菜单项的标识(ID)来区分不同的命令消息;在SDK中,通过消息的wParam参数识别。

  从CCmdTarget派生的类,都可以接收到这类消息。

通告消息

      由控件产生的消息,例如,按钮的单击,列表框的选择等均产生此类消息,为的是向其父窗口(通常是对话框)通知事件的发生。这类消息也是以WM_COMMAND形式呈现。

  从CCmdTarget派生的类,都可以接收到这类消息。

 

8.开发工具选择

VS2010开始,VC++的IDE终于成为VS的一等公民了。

微软基本重写了符号解析和智能感知的代码,使用SQL CE作为智能感知的索引的存储。

所以VS2010相比VS2008就C++的开发环境体验的改进而言是一个飞跃。另外VS2010也是微软第一个正式把BCG集成到MFC中的版本,这使得默认的MFC库就可以开发类似Office、VS一样的用户界面。

VS2012有两个问题,一个是早期版本不支持生成XP平台的可执行文件,一个是它本身不支持XP。VS2013可以为XP编写程序,但是它也只能在Win7以上运行。但是VS2013对C++ 11的标准支持更好,所以如果你的系统是Win7或更新,建议使用VS2013

 

9.fatal error C1083: 无法打开包括文件:“iostream.h”: No such file or directory  

2012-02-18 12:40:17|  分类:编程时遇到过的问|  标签:c++  |举报|字号 订阅

原因:
#include<iostream.h>是原来的C语言里面的。
而#include<iostream>是c++的标准库里的,而要调用这个这个标准库需要: using namespace std;
解决方法:
#include<iostream.h>
改为
#include<iostream>
using namespace std;
问题解决
 
10.WinInet:MFC类库提供了专门的 Win32 Internet 扩展接口,也就是WinInet。MFC将WinInet封装在一个标准的、易于使用的类集合中。在编写WinInet客户端程序时,你既可以直接调用Win32函数,也可以使用WinInet类库。
 
11. 讲VC++免不了要提MFC,MFC全称Microsoft Foundation Classes,也就是微软基础类库。它是VC++的核心,是C++与Windows API的结合,很彻底的用C++封装了Windows SDK(Software Development Kit,软件开发工具包)中的结构和功能,还提供了一个应用程序框架,此应用程序框架为软件开发者完成了一些例行化的工作,比如各种窗口、工具栏、菜单的生成和管理等,不需要开发者再去解决那些很复杂很乏味的难题,比如每个窗口都要使用Windows API注册、生成与管理。这样就大大减少了软件开发者的工作量,提高了开发效率。

       当然VC++不是只能够创建MFC应用程序,同样也能够进行Windows SDK编程,但是那样的话就舍弃了VC++的核心,放弃了VC++最强大的部分。MFC也不是只能用于VC++中,它同样也可以用在Borland C++等编译器中,当然没有几个人这样做。

 

12.&在C++中是什么意思?
(1)取地址的符号。
(2)引用。
(3)按位与 运算符
 
13.Debug通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。
Debug 和 Release 的真正秘密,在于一组编译选项。
 
14.C++程序常,少dll的问题,是客户机上没有安装VC2010(或更低)运行库所致。如果不想在客户机上安装VC运行库,尝试设置项目使用静态库。谁带一提,发布项目不要发布Debug版应该发布Release版,怎么教教我怎样设置使用静态库,怎么发布Release版呢?我就是程序运行成功后直接把整个文件夹拿到别的电脑上去试了。
     
     
回答:默认工具栏上就有编译选项,有个写着“Debug”的下拉菜单(在“启动调试”的绿色箭头右边),改为“Release”即可。没有的话,右键菜单栏的空白处勾选“标准”。 右键“解决方案资源管理器”中项目的名字,选择“属性”,“配置属性”->“常规”->“MFC的使用”下拉菜单改为“在静态库中使用MFC”。(静态库这个问题还请你亲自试一下是否可行。)

15.ATL是ActiveX Template Library 的缩写,它是一套C++模板库。使用ATL能够快速地开发出高效、简洁的代码(Effective and Slim code),同时对COM组件的开发提供最大限度的代码自动生成以及可视化支持。为了方便使用,从MicrosoftVisual C++5.0版本开始,Microsoft把ATL集成到Visual C++开发环境中。1998年9月推出的Visual Studio 6.0 集成了ATL 3.0版本。ATL已经成为Microsoft标准开发工具中的一个重要成员,日益受到C++开发人员的重视。


 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值