VC常见错误

CCommandLineInfo 在我们用向导创建MFC应用程序时,在App::InitInstance()中总会出现下面这样的代码到底是什么意思呢,我差了很多资料终于使其漏出庐山真面目。<br /><br />CCommandLineInfo cmdInfo;//定义命令行<br />ParseCommandLine(cmdInfo);//解析命令行<br /><br />// 调度在命令行中指定的命令。如果<br />// 用 /RegServer、/Register、/Unregserver 或 /Unregister 启动应用程序, 阅读详情

 

1)为什么某个类突然在工作区间里面突然看不见了?

只是类隐藏了,打开FILEVIEW,找到隐藏类的头文件,随便敲一下键盘的空格键,类就会在CLASSVIEW中显示了

2)在基于对话框的程序中,一按回车键,对话框就没了。

把确定按纽的缺省属性前面的对勾去掉,重载OnOk()函数,在OnOk()函数里注释掉调用基类的OnOk()函数那行代码

3 为什么我的VC6.0自动显示成员列表功能时有时无? 删除该项目扩展名为.ncb文件,重新打开该项目。

4)孙老师的视频教程第一课的程序,为什么在我机子上不行?

选菜单project->settings...在弹出的对话框中选Link,在最下边有Project Options,把里边的/subsystem:console删除就可以了

5)如何干净的删除一个类?

先从workspace中的fileview中删除对应的.h.cpp文件;再关闭项目,从实际的文件夹中删除对应的.h.cpp文件;再删除.clw文件。 最后打开项目,rebuild all

6)网络编程一课中的聊天室程序在为什么老是绑定失败?

一般这种问题是端口设置在6000监听,正好和QQ的端口冲突,多换几个端口试试就可以了

7)网络程序只能在debug运行,release不行,提示错误 error LNK2001: unresolved external symbol __imp__WSAStartup@8

Release下仍然需要添加Ws2_32.lib

8)我画了一条直线但是当窗口最大化时或者被其他窗口覆盖时,直线不见了,只剩下直线原先存在的窗口

这是因为窗口重绘,你可以在响应WM_PAINTOnDraw()函数中添加画线的代码

9)在安装VC时未安装MSDN, 自己再用MSDN安装盘安装后在VC中按F1无法调用?

修改注册表是最直接的方法,具体过程如下: HKEY_CURRENT_USER/Software/Microsoft/DevStudio/6.0/Help下增加Enable,Filename,State三个主键,注意其类型,含义如下: Enable 类型:DWORD,默认值是1,改变为0x00000001 Filename 类型:字符串改为c:/program files/..../MSDev98/help/Msdev.hlp State 类型:DWORD 默认值为0,改变为0x00000001 10)如何在应用程序中打开一个超级链接?

这个问题实际上很简单,只要使用ShellExecute API函数就行了

11)如何在没安装VC的环境下的机器也能打开运行用MFC编写的程序?

把编译模式改为RELEASE,然后点工程-》设置-》常规,选择使用MFC作为静态连接库

12)如何自定义一个消息?

1.#define WM_MY_MESSAGE WM_USER+12.头文件DECLARE_MESSAGE_MAP()前写消息响应函数原形;3. BEGIN_MESSAGE_MAP添加消息到函数的映射.4.写函数的实现部分

13)怎样改变VC++编辑器默认的颜色?

工具》选择》格式,选中注释的颜色即可改变。

14)复制了一段代码到当前工作空间里,可是代码排列很乱,如何调整?

简单,按下鼠标左键拖动鼠标将代码选择上,同时按下键盘的ALT+F8

15 _T("Option 1")_T()是什么意思?为什么要转换,直接用不可以? _T()自动将()内字符串转成unicode or Multibyte-character or SBCS (ASCII) 根据系统宏定义,为了将程序与vbunicode 编码的程序交互,为了程序的国际化,为了..

16)如何改变视图的背景色?

你可以通过处理WM_ERASEBKGND消息来改变CViewCFrameWndCWnd对象的背景色

17)如何建立多文档? 为了加入对附加文档类型的支持,你可以在CWinApp派生类中创建和注册附加CmultiDocTemplate对象。。将一个附加文档类型加入到MFC程序的一般步骤如下:用AppWizard来创建一个新的文档类和视图类。 用资源编辑器增加新的资源字串来支持新的文档类。要想知道关于文档样板字符串格式的更多内容,请参阅"如何理解文档样板字符串" 用资源编辑器增加附加的应用程序图标和菜单资源。注意,这些资源中每一个的ID都必须与在步骤2中创建的文档模板字符串的ID是相同的。这个IDCmultiDocTemplate类用来识别与附加文档类型相关的资源。 在应用程序的InitInstance()函数中,创建了另一个CMultiDocTemplate对象并且用CWinApp::AddDocTemplate()函数来注册。例如:

CMultiDocTemplate* pDocTemplate2 = new CMultiDocTemplate(
  IDR_DOC2TYPE, RUNTIME_CLASS(CDoc2),
  RUNTIME_CLASS(CMDIChildWnd),RUNTIME_CLASS(CView2));
  AddDocTemplate(pDocTemplate2);
最后,将定制的序列化和绘图代码加入到你的新文档和视图类中。

18)如何使我的程序在启动时不创建一个新文档? 在程序的InitInstance中的ProcessShellCommand函数之前加入: cmdInfo.m_nShellCommand = CCommandLineInf:FileNothing

19 如何获取应用程序的实例句柄? 应用程序的实例句柄保存在CWinApp m_hInstance ,可以这么调用AfxGetInstanceHandle获得句柄.

20)如何得到程序中其它类的指针(例如框架类,视类,文档类等等)?

请看此贴:    [转帖]MFC应用程序中指针的使用 


21)为什么创建类的时候我不能直接生成从CDialogBar派生的类?

ClassVizard的确没有提供这个功能,要从没有提供的类派生类的时候只能通过手动修改来完成

22)我用classwizard 给静态文本框加变量时,为什么里面没有它的ID??

因为所有的静态文本控件的ID都被默认为了IDC_STATIC,你只需要修改这个ID号就可以了

23)获得各种目录信息 Windows目录: Use "GetWindowsDirectory" Windows下的system目录: Use "GetSystemDirectory" temp目录: Use "GetTempPath" 当前目录: Use "GetCurrentDirectory"

24)如果让控制台应用程序支持MFC类库? 可以在控制台应用程序中include 来引入mfc库,但是控制台应用程序缺省是单线程的,mfc是多线程的,为解决该矛盾,在project setting->c/c++ 选项,选择code generation,use run-time library 下拉框中选择debug multithread

25 我怎样才能在我的应用程序中循环浏览已经打开的文档?

使用CDocTemplate中未公开的GetFirstDocPosition()GetNextDoc()函数。


26)才能在我的应用程序中循环浏览已经打开的视?

使 CDocument GetFirstViewPosition() GetNextView() 数。

27)数PreCreateWindow是干什么用的?

PreCreateWindow CreateWindow 性。

28)该怎样防止MFC在窗口标题栏上把文档名预置成应用程序名?

PreCreateWindow FWS_PREFIXTITLE 式: cs.style &= ~FWS_PREFIXTITLE;


29 我应该怎样防止MFC在窗口标题栏上添加文档名?

PreCreateWindow FWS_ADDTOTITLE 式: cs.style &= ~FWS_ADDTOTITLE ;


30 我应该如何改变视窗口的大小?

口,所 小,而 口。使 CView GetParentFrame() 针,然 MoveWindow() 小。这 使 口。

31 我有一无模式对话框。我怎样才能在窗口退出时删除CDialog对象?

“delete this” PostNcDestroy 中。这 合。


32 为什么把“delete this”放在PostNcDestroy中而不是OnNcDestroy?

OnNcDestroy 用。如 ( PreCreateWindow ),则 WM_NCDESTROY 息。PostNcDestroy 除,在 OnNcDestroy 后,甚 的。

(33):如何为一个MFC应用程序添加ODBC功能? 1)在文件Stdafx.h文件末尾添加下面一行: #include // MFC ODBC database classes 2)在文本模式下编辑RC文件(利用File->Open As text 方式) 在下面的程序行(共有两处) #include "l.chs/afxprint.rc" // printing/print preview resources 添加下一行: #include "l.chs/afxdb.rc" // Database resources (34):数据库表修改后,如何快速更新一个绑定到表的CrecordSet记录集? 利用ClassWizard Member Variables标签下选中记录集类后,利用UpdateColoumnsBind All

(35):怎么才能让窗口最大化显示啊? 我在框架的PreCreateWindow cs.styles|=WS_MAXIMIZE 不行啊, OnCreate SetWindowLong(m_hWnd,GWL_STYLE,WS_MAXIMIZE);也不行啊

上面两种方法都不行,要是窗口最大化显示,应改变ShowWindow()的参数,

InitInstance()中将

m_pMainWnd->ShowWindow(...)改为

m_pMainWnd->ShowWindow(SW_SHOWMAXINIZE);Ok

36)怎么把别人程序中设计好的对话框放到自己的程序中??

VC打开自己的程序,选择资源视图;然后点FILE->OPEN菜单项,打开设计好的对话框的资源文件(后缀名为。RC),这里注意一定只打开后缀名为。RC的资源文件,然后在VC编辑器的文档区域就会有你刚打开的另一个程序的资源文件中资源的一个树型结构图,然后找到你要复制的对话框资源ID,鼠标左键按住ID号,然后拖放到资源视图中,这个时候你再看看自己程序的资源视图,是不是已经复制过来了。罗嗦了这么多,其实问题的关键是在一个编辑器中同时打开自己的项目和另一个项目的资源文件。

37[求助]急!!!关于installshield制作中的注册表问题

我用installshield 制作安装程序,怎样在注册表中写入用户单位的名称,请大家帮帮忙啊

InstallShield选择Resources,在其中的Registry Entry部分输入要添加的注册项

(38) VC6下如何对程序进行调试   在主菜单"Build"中,有一个Start Build的子菜单,它下面包含了Go菜单(快捷键为F5),选择后,程序将从当前语句进入调试运行,直到遇到断点或程序结束。将鼠标移动到要调试的代码行,单击鼠标右键选择“Insert/Remove Breakpoint”,或者按下F9,可以在该行上添加断点,此时断点代码行前面出现一个棕色的圈,再次选择将清除断点。进入调试状态后,Debug菜单将取代Build菜单出现在菜单栏中,它下面包含常用的调试操作,如Step Over,单步运行并不跟踪到调用的函数内部;其他还包括Step IntoStep Out, Stop Debugging等调试方法。

(39)简介对话框应用程序中UpdateData函数的作用及其参数含义与使用场合。   UpdateData只有一个BOOL类型的参数,UpdateData(FALSE)一般用于对话框控件连接的变量值刷新屏幕显示;UpdateData(TRUE)用于获取屏幕数据到对话框控件连接的变量中。

(40)、如何单击除了窗口标题栏以外的区域使窗口移动

当窗口需要确定鼠标位置时Windows向窗口发送WM_NCHITTEST信息,可以处理 该信息使Windows认为鼠标在窗口标题上。对于对话框和基于对话的应用程序,可 以使用ClassWizard处理该信息并调用基类函数,如果函数返回HTCLIENT 则表明 鼠标在客房区域,返回HTCAPTION表明鼠标在Windows的标题栏中。

UINT CSampleDialog : : OnNcHitTest (Cpoint point )

{

UINT nHitTest =Cdialog: : OnNcHitTest (point );

return (nHitTest = =HTCLIENT)? HTCAPTION : nHitTest ;

}

上述技术有两点不利之处,其一是在窗口的客户区域双击时, 窗口将极大; 其二,它不适合包含几个视窗的主框窗口。还有一种方法,当用户按下鼠标左键 使主框窗口认为鼠标在其窗口标题上,使用ClassWizard在视窗中处理WM_LBUTTODOWN 信息并向主框窗口发送一个WM_NCLBUTTONDOWN信息和一个单击测试HTCAPTION

void CSampleView : : OnLButtonDown (UINT nFlags , Cpoint point )

{

CView : : OnLButtonDow (nFlags , pont );

//Fool frame window into thinking somene clicked on

its caption bar .

GetParentFrame ( ) —> PostMessage (

WM_NCLBUTTONDOWN , HTCAPTION , MAKELPARAM (poitn .x , point .y) );

}

该技术也适用于对话框和基于对的应用程序,只是不必调用CWnd : : GetParentFrame

void CSampleDialog : : OnLbuttonDown (UINT nFlags, Cpoint point )

{

Cdialog : : OnLButtonDow (nFlags, goint ); //Fool dialog into thinking simeone clicked on its caption bar . PostMessage (WM_NCLBUTTONDOWN , HTCAPTION , MAKELPARM (point.x , point. y ) )

 

assertion failed: mfc140d.dll Line925 报错的一种可能解决方法 最近在调试一个上位机数据采集软件,由于是祖传代码,编译环境可能是VS2005版本,自己的新电脑环境为VS2017,打开解决方案直接进行项目升级后,居然发现断点功能一直不正常,经常暂停不了期望的位置,于是直接新建了一个MFC项目,将源程序的.cpp、.h与.rc文件添加进来。但是调试时发现会显示 报错对话框: assertion failed: mfc140d.dll Line925...... 单步跟进后,发现函数是死在了 InitInstance()函数的 if (!Proc... 阅读详情

相关推荐

vc6常见错误

VC6.0编译常见错误    第一部分 编译错误  1. error C2001: newline in constant 编号:C2001  直译:在常量中出现了换行。 错误分析:  (1) 字符串常量、字符常量中是否有换行。  (2) 在这句语句中,某个字符串常量的尾部是否漏掉了双引号。  (3) 在这语句中,某个字符创常量中是否出现了双引号字符“"”,但是没有使用转义符“\"”。

qq_34204094的博客 1454

VC开发常见错误备忘

 

fenglinuestc的专栏 329

VC常见错误

 

喜怒形于色 704

VC常见的一些编译链接错误的解决

http://hi.baidu.com/sakiwer/item/f505493da6d797fbdf222166 VC常见的一些编译链接错误的解决 问题1: Linking... nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external  symbol __endthreadex nafxcwd.lib(th

jiangxinyu的专栏 5124

VC常见错误总结

VC常见错误总结(一)   2010-02-08 22:47:09|  分类: 计算机和编程  |  标签:bk1506  lnk4098  error  vc++  |举报|字号 订阅   1、fatal error C1010:  在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”? 解决

u011978022的专栏 444

VC6.0 编译常见错误

 VC6.0编译常见错误第一部分 语法错误1、变量没有区分大小写    例如:变量X 与x 不同;2、关键字写错   例如:void 写成了viod等,cout写成count等3、把英文符号写成了中文符号   例如:常见错误包括单引号、双引号、分号等4、混肴了“=”与“==”的区别5、复合语句没有使用{ }6、把“x>5 && x”写成“5” 

jianbisb的专栏 1390

VC 调试中一些常见错误信息及解决方法

VC 调试中一些常见错误信息及解决方法: 1、调试时出现 LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main 错误 原因:需要 MFC 支持的程序需要用 win32 Application 来生成,如果用 win32 的控制台程序 就会出现上面的错误信息。 2、error C2018: unknown

波大菜菜 2677

vc编译常见错误

<br />哈,加颜色的部分为原因<br /><br />[1] x264路径带空格<br />错误:<br />正在执行自定义生成步骤  <br />nasm: error: more than one input file specified  <br />type `nasm -h' for help  <br />Project : error PRJ0019: 工具从"正在执行自定义生成步骤"<br />特征:<br />nasm出现错误  <br />原因:<br />你的x264文件夹的路径中

未来软件 2428

VC(VS)常见编译错误

1.IntelliSense: #error 指令: Please use the /MD switch for _AFXDLL builds 解决方法: 工程(Project)-> 属性(Properties)-> 配置属性(Configuration Properties)-> c/c+±> 代码生成(Code Generation)->运行库 (Use run-...

随心漂流的博客 1426

VC6调用高版本LIB常见错误

VC6里调用更高版本的VS编译的LIB(2005/2008/2018等),经常会出现一些错误。 现在把常见错误整理一下,方便下次查询: error LNK2001: unresolved external symbol ___CxxFrameHandler3 Q: VS2005编译的静态库, 在vc++6.0中连接出现错误 error LNK2001: unresolved external symbol ___CxxFrameHandler3 A: vs2005, c/C++ Code ge...

邓学彬(泪闯天涯)的专栏 1729

VC6.0常见错误之::Debug Assertion Failed!

初学者编程常遇到的断言错误,最近遇到比较多,在此整理,方便以后查阅。 绝大部分内容来自topic.csdn.net论坛,在此感谢各位大牛的解答,感谢各位大牛的指点!~ 本文将不断更新。 下面进入正题: 1、VC6.0常见错误之:Debug Assertion Failed!在winocc.cpp第301行错误 断言错误,如图: 找到winocc中的源代码如下: BOO

xjkstar的专栏 1万+

VC 6.0 常见断言错误总结

VC 6.0 常见断言错误总结 收藏 VC 6.0 常见断言错误总结 断言 所在函数 具体位置 意义 ASSERT(m_hWnd==NULL) CWnd::Attach() WINCORE.CPP文件中的第320行 这个断言通常可能是

Mirage520的专栏 1822
wuli1020
博客等级 码龄18年 11粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值