自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 VC VSlistBox的debug Assertion Failed, afxvslistbox.cpp line: 177错误分析及解决方案

这个问题其实是MFC控件无法初始化引起的。通过debug发现错误在CDialogEx::OnInitDialog();原因是资源脚本编译时没有包含对MFC控件的支持!一般情况下,低版本的VS项目在高版本打开可能会出现这样的问题。解决方法如下:资源视图,右键点击->资源包括->编译时指令(TEXTINCLUDE 3);在//标准控件后面添加代码:#if !defined...

2019-11-13 12:52:55 367

原创 OpenGL绘图类带有模型旋转、平移与缩放功能,一句代码完成模型绘制,不需要学习opengl

特性:包含有opengl的配置,使你的项目不需要进行opengl配置,直接使用opengl. 一句代码便可使用,不需要了解opengl.下载:opengl绘图类安装好OpenGL,以下为使用实例:1. 在Visual Studio中新建一个对话框应用程序OpenglTest,添加Opengl绘图类的文件到该项目,在COpenglTestDlg头文件中添加 #include “Ope...

2019-08-18 16:13:47 853

原创 VC 属性表单CPropertySheet的标签添加图标

网上的方法基本上都是通过 m_psp的设置,典型的代码如下:// 设置标签的图标:这种方式添加的图标分辨率与颜色深度都很低。       HICON hIcon = AfxGetApp()->LoadIcon( IDI_PPAGE_COORDS );       ASSERT( hIcon != NULL );       m_psp.hIcon = hIcon;       ...

2018-10-28 00:23:31 393

原创 VC 从编辑框CEdit或富编辑控件CRichEditCtrl读取大容量文本并写入文件的方法

本文解决编辑框、富编辑控件的内容写入文件时,文本长度太大时写入内容被截断的问题!读取编辑框内容并写入文件,可能最常用的方法是创建文件,利用GetWindowText, 或GetDlgItemText读取编辑框或富编辑控件(Multiline)的内容到字符串,将字符串buffer写入文件。常见代码如下:CFile file("temp.txt", CFile::modeReadWrite | ...

2018-10-22 14:59:07 1112

原创 VC ListBox列表框实现自动水平滚动功能

利用CListBox::SetHorizontalExtent()成员可实现该功能。网上可行的方法主要是添加一个CListBox的派生类,并重载其AddString, InsertString方法。虽然使用方便,但是额外添加一个类。本文在不添加派生类的情况下实现该功能。1. 首先建立一个对话框CMyDlg的应用程序,添加一个列表框、三个按钮(添加、编辑、删除),列表框右键属性-》Horizon...

2018-09-01 17:00:39 1311 3

原创 VC对话框上Tab控件的各子标签及其与主对话框之间的数据传递

假设主对话框已经初始化好了Tab控件(具体参考:MFC的TAB控件使用详细说明),主对话框CMainDlg成员变量m_tab, m_d1, m_d2,分别代表Tab控件,子标签1,子标签2。主对话框及各标签的编辑控件绑定一个变量m_data。一、子标签调用主对话框的数据成员方法:在子标签的处理函数OnClickedBtn1中,使用GetParent()->GetParent()得到主...

2018-08-31 14:49:43 2257 1

原创 MFC VSListBox的Heap corruption detected错误分析及解决方法

VS2010对很多MFC开头的控件有BUG,典型的就是VSlistbox控件。在VS2010中,通常,我们在一个基于对话框的应用程序中,在工具箱中拖放一个MFC VSListBox控件,并关联一个成员变量。接着编译、运行。出现debug error: Heap corruption detected. 原因分析:是对象存储的大小超过对应的堆栈内存上限,超出的部分需要被存储在后面的内存地址中。然而在...

2018-04-18 20:21:04 568

原创 使用CArray实现长度可变的二维数组的方法

MFC CArray可实现大小可扩展的一维数组。实现二维数组一般有两种方法:1. 从CArray派生模板类,并实现operater=操作符。(这种方法网上资料很多,但大多都有问题)2. 本文方法---直接从CArray模板类嵌套产生,可实现任意类型的二维数组。这里以int类型为例,在基于对话框的应用程序中,添加按钮的消息处理函数:void CxxxDlg::OnBnClicked...

2018-04-16 22:25:20 2458

原创 MFC Toolbar工具栏的Tooltip信息提示显示乱码的解决方法

动态创建工具栏并启用Tooltip的步骤可参考: MFC对话框中的工具栏、状态栏设计小结然而,该方法的提示信息显示乱码,主要原因是程序启用unicode字符集,CString::GetBuffer函数返回LPTSTR,定义了Unicode宏的情况下为LPWSTR,奇怪的是在VS2010下就是有问题。正确的做法是修改消息响应函数OnToolTipNotify部分的代码如下:BOOL Cwar3Dlg...

2018-03-29 22:35:12 1081

原创 MFC TreeCtrl树形控件中限定右键点击节点弹出菜单

一、创建3个菜单,ID分别为IDR_MENU2,IDR_MENU3,IDR_MENU4,这些菜单必须要有子菜单项。二、在树形控件右键-》属性-》事件-》添加右键点击处理。三、在消息处理函数中添加代码void CGar3Dlg::OnRclickTreePhase(NMHDR *pNMHDR, LRESULT *pResult){ // TODO: 在此添加控件通知处

2018-03-28 00:52:56 4880

原创 MFC Tab控件初始化后看不见切换的对话框的原因分析

目前网上的教程创建的tab控件大多都有问题。主要有两方面原因:1: 组框覆盖了。组框不会盖住编辑框等控件,奇怪的是它会盖住tab控件。将组框设为透明即可。2: tab切换键看不见。是子对话框窗口的位置调节问题,tab切换键在上部的,需要将子对话框纵坐标下移。...

2018-03-27 23:53:16 2532

原创 MFC Toolbar 工具栏按钮添加消息响应

工具栏按钮消息响应需要的是对应按钮的命令ID。对于动态方式创建的工具栏,其按钮的命令ID在类向导ID列表中是找不到的,只能找到图标的ID。按下述步骤不能添加事件响应。(1)VS2010 打开类向导,选择“Message Maps”选项卡,在“Class name”列表框选择创建了工具栏的对话框类,在“Object Ids”列表中选择工具栏按钮ID,在“Messages”列表中选择“COMMAND”...

2018-03-27 23:49:31 7745

原创 VC Debug Assertion failed错误常见原因分析

1. 失去与控件关联的变量,常见情况为控件关联了变量,删除控件却忘了解除变量关联。2. 重复操作,对话框创建及点击OK时会自动执行UpdateData(), 在这附近调用update data()就会出现Assertion failed.3. 从一个不存在的对象获取数据,例如:HTREEITEM hRoot=m_maintree.GetSelectedItem(); //在没有选择节点的情况下为N...

2018-03-27 23:09:00 2709

opengl.zip

用于在VC应用程序的窗口中绘制三维模型,可实现旋转、平移、缩放等三维模型的预览功能。代码包含opengl的配置,你的工程不需要进行任何配置操作,直接用!

2019-08-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除