VC++ 学习笔记
greatriver007
好好学习天天向上
展开
-
vc++入门笔记1 CListCtrl类使用技巧
1、如何获取,CListCtrl 获取当前选定方法一void CListControlDlg::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control noti原创 2011-09-08 20:00:51 · 891 阅读 · 0 评论 -
C语言 BMP图片处理
BMP是bitmap的缩写形式,bitmap顾名思义,就是位图也即Windows位图。它一般由4部分组成:文件头信息块、图像描述信息块、颜色表(在真彩色模式无颜色表)和图像数据区组成。在系统中以BMP为扩展名保存。 打开Windows的画图程序,在保存图像时,可以看到三个选项:2色位图(黑白)、16色位图、256色位图和24位位图。这是最普通的生成位图的工具,在这里讲解的BMP位转载 2011-12-26 21:26:33 · 1163 阅读 · 0 评论 -
VC读写INI文件
在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下:一.将信息写入.INI文件中. 1.所用的WINAPI函数原型为:BOOL WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpS转载 2012-01-09 11:40:59 · 692 阅读 · 0 评论 -
vc2005 无法执行添加/移除操作,因为代码元素 只读
如题,在网上找了一下得到一下解决方法解决方案:1、重启VC2、打开Resource.h文件看看 一看就知道了 有些定义重复了 可以手动改掉 保存 编辑器重新加载 。。。。。。。。3、关闭解决方案,删除ncb文件重新添加即可4、实在不行就手动添加消息处理5、查看.h和.cpp文件的属性,有可能是只读的,修改属性后就可以了6、把你要添加事件的对话框相应的类文件(*.h和*.原创 2011-12-29 17:23:36 · 801 阅读 · 0 评论 -
MFC中 单文档程序 删除工具栏
方法一 、在创建工程的过程中可通过Docking toolbar 选择不生成工具栏。方法二 、已经生成工具栏以后可以使用 ShowControlBar(&m_wndToolBar,FALSE,FALSE);控制是否显示工具栏 //MainFrm.cpp m_wndToolBar为自带的工具关联的变量 //在int CMainFrame::OnCreate()中创建在Ma原创 2011-12-29 09:47:40 · 5952 阅读 · 0 评论 -
2012年开发者该做的11件事
2011年即将结束,2012正在靠近。你是否在专业领域给自己设定 2012 的目标?不管你的答案如何,我相信下面列出的 11 条建议里面总有一两条适合你 :) 1. 使用 Twitter - 如果你是一名程序员,如果你还没有使用 Twitter,你就 out 了。不是说你有多少粉丝,而是在 Twitter 上你可以更快的得到问题的答案,获取你关注的话题的最新资讯。 (作者没有考虑到天朝的程序转载 2011-12-30 16:20:56 · 524 阅读 · 0 评论 -
为什么在vs2005里运行程序,关闭程序后*.vshost.exe退出后有 读内存错误:
为什么在vs2005里运行程序,关闭程序后*.vshost.exe退出后有 读内存错误:c#里调用自写的delphi7的一个dll C#声明如下: [DllImport( "PB2RM.dll ", EntryPoint = "NewReportLOCAL ")] public static extern int NewReport(string templatefile, str转载 2011-12-31 11:22:52 · 1707 阅读 · 0 评论 -
vs2005 生成文件与win7兼容 \ 利用manifest提升程序为WIN7管理员权限
最近弄vs2005 可执行文件在win7上运行,发现兼容问题经过网上搜寻得到一下答案,谢谢网上分享的朋友建立文本文件, 命名为”可执行文件名.exe.manifest”,并加入以下代码:xml version="1.0" encoding="UTF-8" standalone="yes"?>assembly xmlns="urn:schemas-microsoft-co原创 2012-01-05 15:53:06 · 7752 阅读 · 3 评论 -
vs2005打开exe文件查看资源
1、打开软件2、文件->打开->文件 选择exe 打开就可以了原创 2012-02-27 18:17:16 · 2444 阅读 · 0 评论 -
用批处理判断操作系统是32位还是64位,并注册install服务。
@echo offif /i "%PROCESSOR_IDENTIFIER:~0,3%" == "X86" goto 1 /////通过参数判定操作系统位数,并跳转if /i "%PROCESSOR_IDENTIFIER:~0,3%" NEQ "X86" goto 2 ///此条语句后面可以改为 EQU "EM6":1 /////32位xp注册install服务%windir%\转载 2012-03-28 10:40:47 · 8138 阅读 · 0 评论 -
在串口通信开发中实现自动查找串口端口的方法
开发工具:visual studio 2010本机可用串口信息如下:1 、查询注册表 查询注册表的方法是比较常见的方法,通过查看“ HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM ”项来获取串口信息。该方法就是使用编程方法读取注册表内信息,相当于用户通过在运行框内输入 ”regedit” (或 regedit32 )直接打开注册表。转载 2012-10-30 19:19:02 · 3560 阅读 · 2 评论 -
error C2440 “static_cast” 无法从“void (__thiscall CPppView )(void)”转换为“LRESULT (__thiscall
error C2440 “static_cast” 无法从“void (__thiscall CPppView )(void)”转换为“LRESULT (__thiscall CWnd )(WPARAM,LPARAM)” 不能转换void (_thiscall CMainFrame::*)(void)to LRESULT (__thiscall CWnd::* )(WPA转载 2012-11-05 15:05:11 · 847 阅读 · 0 评论 -
VC中EDIT自动换行的设置方法
在网上找到的 设置 VC中EDIT自动换行的设置方法 Vertical Scrollbar = TRUEMultiLine = TRUEHorizontal Scrollbar = FALSEAuto HScroll = FALSEWant Return = FALSE Auto VScroll = TRUE这下比那些需要判断行数或者字符的方法简原创 2012-11-15 16:57:34 · 1002 阅读 · 0 评论 -
C++暂停黑窗口 system( “pause “);
在编写的c++程序中,如果是窗口,有时会一闪就消失了,如果不想让其消失,在程序结尾处添加:system("pause");注意:不要再return 的语句之后加,那样就执行不到了。分析:system() 是调用系统命令;pause 暂停命令;这样在运行到此处时,会显示“Press any key to continue . . .” 也就是 “按任意键继转载 2013-02-23 22:35:22 · 1168 阅读 · 0 评论 -
Edit 多行显示加滚动条
今晚添加了个Edit 发现不管如何设置都无法 实现多行显示调试自动添加滚动条,现在问题解决了所以记录下来。第一步添加Edit我就不多少了,下面是如何配置:仿照圈圈实现代码: CString str,str1; UINT i; GetDlgItemText(IDC_INF_OUT,str); str+=InS原创 2011-12-22 21:11:54 · 3790 阅读 · 0 评论 -
圈圈自定义USB VC2005打开出错
圈圈自定义USB VC2005打开出错最近调试自定义USB MyUsbDeviceTestApp以前用vc6.0打开调试没问题的,最近换了个vc2005调试方便许多,但是vc2005打开圈圈的 MyUsbDeviceTestApp出现错误编译没有通过,查了好久,现在终于解决了,现在特地记录起来。BEGIN_MESSAGE_MAP(CMyUsbDeviceTestAppDlg, CDialo原创 2011-12-22 21:00:29 · 951 阅读 · 0 评论 -
CString 转换为 char* (VC6.0与Visual Studio 2005兼容问题)UNICODE字符集
CString 转换为 char* (VC6.0与Visual Studio 2005兼容问题)UNICODE字符集引用:http://hi.baidu.com/proworkspace/blog/item/50cdee44b03f1d86b2b7dc44.html使用CString的GetBuffer方法 CString origCStri转载 2011-12-20 12:55:24 · 750 阅读 · 0 评论 -
VC++入门笔记2 listControl 多选
关于listcontrol 多选的方法(源之于网络): int count = m_DataList.GetSelectedCount(); if (count return; int *pITM = new int [count];原创 2011-09-15 10:19:55 · 1143 阅读 · 0 评论 -
VC/MFC之ListCtrl控件使用经验总结(转)
以下未经说明,listctrl默认view 风格为report相关类及处理函数MFC:CListCtrl类SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn------------------------转载 2011-09-15 16:27:52 · 1158 阅读 · 0 评论 -
ListCtrl Checkbox多选问题
ListCtrl Checkbox多选问题需求与目标:标准的Listctrl是支持多选的,但这个多选只是把那些选中行变成高亮而已,我想要的效果是像svn提交代码的那个listctrl那样:1.可以用鼠标框选,可以按ctrl或shift进行组合选择.这是listctrl转载 2011-09-16 10:49:35 · 3651 阅读 · 0 评论 -
判断鼠标是否 点在listctrl的checkbox上
判断鼠标是否 点在listctrl的checkbox上 void CListControlDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control原创 2011-09-16 11:06:57 · 1043 阅读 · 0 评论 -
Dev C++中的错误的解决[Linker error] undefined reference to `__dyn_tls_init_callback'
Dev C++中的错误的解决[Linker error] undefined reference to `__cpu_feat... 解决NOIP环境GUIDE和Dev之间的并存问题。 装上了NOIP的测试环境GUIDE后,想再用之前的Dev转载 2011-09-19 11:31:32 · 8588 阅读 · 2 评论 -
VC 2005 对于CString和char*转换的理解
文章转自:http://blog.csdn.net/hbaizj/article/details/2661034对于CString和char*转换的理解。 因为需要,接触C++一段时间了,其中最为困扰我的问题就是在使用C++的过程中CString和char转载 2011-09-23 17:15:19 · 705 阅读 · 0 评论 -
usb pc驱动及stm32usb数据交换
usb pc驱动及stm32usb数据交换要实现usb数据传输,如下要求:1、数据量200M以内 ,速度不要太慢;2、设备不需要安装驱动程序;自己情况分析:1、下位机:自己之初步学习过usb方面的知识,做过类似于鼠标,键盘和au原创 2011-10-11 09:39:54 · 7410 阅读 · 1 评论 -
USB 驱动彻底删除
最近做USB 自定义设备开发,遇到以下问题,应该算是解决了,特地写出来和大家分享。在进行USB设备开发的时候 ,经常需要更改USB设备的 名称或者pid 、vid等,特别是进行自定义USB设备,自己写驱动程序的时候,会出现一个问题就是:设计了一个USB设备,插到电脑上通过安装驱动可以正常试用。后来修改了USB设备的设备名称 pid、vid,再插上电脑,还是显示原来的设备名称原创 2011-11-16 19:04:18 · 37643 阅读 · 1 评论 -
USB自定义设备驱动开发——修改驱动后应用程序无法使用
USB自定义设备驱动开发——修改驱动后应用程序无法使用 ,这是为什么呢?前提是设备安装的驱动之前是可以使用的,但是后来修改了设备的一些信息如pid、vid或者端口 名称啊等等,修改后 如下图:这些信息要仔细看了,我就是因为这些信息没有仔细看所以驱动之前可以使用,修改后我默认选择是 所以生成的sys文件照样去安装到设备上,出现不可使用的情况。那是选择“是”之后原创 2011-11-16 19:22:36 · 2522 阅读 · 0 评论 -
memset ,memcpy 和strcpy 的根本区别
memset,memcpy,strcpy 的用法声明:以下内容为网络整理的结果!它们用处不同,但大部分情况下可以完成相同的要求。strcpy 原型:extern char *strcpy(char *dest,char *src); 用法:#include 功能:把src所指由NULL结束的字符串复制到dest所指的数组中。 说明:src和dest所指内存转载 2011-11-22 11:23:44 · 872 阅读 · 0 评论 -
进度条控制(Progress Control) 显示
进度条的使用说明网上应该一大把,现在我要分享的是 当你的进度条设置的时候最大值很大,m_progress->SetRange(0,8000); setRange里面的设置的范围是一个short类型,所以当你要设置的值大于short时候 你就需要做处理了,我的处理方法是m_progress->SetRange(0,100); int perce原创 2011-12-06 09:58:32 · 1319 阅读 · 0 评论 -
VC中为开发环境添加批量注释或取消注释(转)
打开VC,选择菜单(文件),新建,选择macro file,起个名字,确定输入如下代码:'------------------------------------------------------------------------------'FILE DESCRIPTION: 为开发环境添加批量注释或取消注释'---------------------------------原创 2011-09-08 11:25:46 · 1173 阅读 · 0 评论 -
VC开发常用技巧1
1.00、整体移动代码选中代码 Tab间 代码向右平移;Shitf+Tab反之整体向左平移。1.01 创建控制台应用程序 编译C和C++的时候 就不是创建mfc工程了,应该创建win32console application工程1.02、对齐编辑中凌乱的代码选中代码 Alt+F8 注意:在/* .......*/和// 屏蔽的代码中 Alt+F8无法对齐。1.03原创 2011-12-16 18:27:27 · 599 阅读 · 0 评论 -
创建一个对话框
void CModalFormDlg::OnButton3() {CDialog* dlg=NULL;dlg=new CDialog; dlg-> Create(IDD_DIALOG2,this);dlg-> ShowWindow(SW_SHOW);}这样就可以创建一个对话框了。原创 2011-12-18 22:14:58 · 558 阅读 · 0 评论 -
c语言面试题集-单片机) (转载+本人测试)
c语言面试题集(单片机)1.预处理器(Preprocessor)1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 注意: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表原创 2013-02-23 23:35:29 · 20225 阅读 · 1 评论