2011年学习笔记
文章平均质量分 70
zyrr159487
这个作者很懒,什么都没留下…
展开
-
error RC2135 : file not found: 0
这是由于修改资源或版本信息导致 error RC2135 链接错误,可在RC源码中修改:本人遇到的情况是在rc文件的对话框ID后添加DIALOGEX后即修改成功,显然是因为缺少关键字。另外还有网上看到的几种情况,摘录如下:①将这段代码中的“语言 4、2”改为“LANGUAGE 4,2”后即可#if !defined(AFX_RESOURCE_DLL) || defined(AFX_原创 2012-01-10 11:34:05 · 13832 阅读 · 2 评论 -
标题栏的帮助功能
单击问号,直接弹出自定义的帮助对话框1修改标题栏风格ModifyStyleEx(0, WS_EX_CONTEXTHELP);2响应函数void CBGridDotDlg::OnNcLButtonDown(UINT nHitTest, CPoint point){ //单击的是问号 if (nHitTest == HTHELP) { CBParamHelpDlg d原创 2012-01-10 11:40:13 · 1246 阅读 · 0 评论 -
常识
1 定时方法1:setTimer onTimer方法2:getCurrentTime getTickCount2 产生随机数0-255rand()%256rand()产生0 - 327673 批量修改程序代码的缩进选中需要调整的代码,然后按下ALT+F8, 代码就会变得整齐了4 转换磁盘格式FAT32到NTFS运行cmdconvert D:/原创 2011-12-27 10:34:26 · 623 阅读 · 0 评论 -
VS2008 "当前不会命中断点。源代码与原始版本不同"解决方法
全选CPP文件内容,选择 “编辑”-“高级”-“设置选定内容的格式”,保存,重新编译。转载 2012-01-10 11:30:17 · 1004 阅读 · 0 评论 -
通过二分法将曲线转换为直线
void CBTapParser::convertToLine(CBPoint startPt, CBCurveTo* pCurve, CBObList* pLineList){ CBObList curveList; CBPoint midPt; bool bBreak = false; CBCurveTo *pCv1, *pCv2; curveList原创 2012-01-10 11:25:36 · 1739 阅读 · 0 评论 -
字符串用法集合
1查找int Find( TCHAR ch ) const;int Find( LPCTSTR lpszSub ) const;int Find( TCHAR ch, int nStart ) const;int Find( LPCTSTR lpszSub, int nStart ) const;返回值:返回此CString对象中与需要的子字符串或字符匹配的第一个字符的从零开始的索引原创 2011-12-07 11:56:25 · 560 阅读 · 0 评论 -
WinAPI: ShellExecute - 打开外部程序或文件
ShellExecute( hWnd: HWND; {指定父窗口句柄} Operation: PChar; {指定动作, 譬如: open、print} FileName: PChar; {指定要打开的文件或程序} Parameters: PChar; {给要打开的程序指定参数; 如果打开的是文件这里应该是 nil} Directory: PChar; {转载 2011-12-15 16:44:35 · 833 阅读 · 0 评论 -
"automation服务器不能创建对象"解决方法.
问题:新建一个项目,系统报告“automation服务器不能创建对象”错误。解决方法:运行regsvr32 scrrun.dll 即可原创 2012-01-10 10:15:19 · 723 阅读 · 0 评论 -
初谈制作注册表REG脚本文件(上)
一、制作REG文件的相关知识REG文件实际上是一种注册表脚本文件,通过约定的格式,可以利用REG文件直接对注册表进行任何修改操作。制作注册表REG脚本文件,不仅要了解注册表的相关知识,而且还要对注册表内容在REG文件中的表现形式有所了解。1、注册表中的键值项、键值概述 在注册表中,左栏是路径的主键、子键,右栏是键值项内容,我们只要单击左栏中的任一键,则在右栏中就显示转载 2012-01-05 13:17:26 · 1479 阅读 · 0 评论 -
注册表的基本知识
从Windows 95开始,微软就在Windows操作系统中引入了注册表(REGISTRY)的概念。作为Windows系统的核心数据库,注册表中存放着系统自身及应用软件的各种参数,直接控制着Windows的启动和运行、硬件驱动程序的装载以及应用程序的正常运行,我们通常所作的系统优化或者系统参数的修改都要涉及到对注册表的修改,但如果注册表由于某种原因受到了破坏,就会导致系统出现各种异常的故障,甚至会转载 2012-01-05 11:55:17 · 971 阅读 · 0 评论 -
图形旋转90度计算
1原地旋转90度 double cx = (bBox.top + bBox.bottom) * 0.5;; double cy = bBox.left + fabs(bBox.bottom - bBox.top) * 0.5;; double dRotateRadian = -90.0 / 360.0 * TWO_PI; double dCos = cos(dRo原创 2011-12-27 13:59:41 · 2632 阅读 · 0 评论 -
虚拟机错误提示VMware Workstation unrecoverable error:(vmui)Unable to create VmappPoll object:没有注册类别.
如果你点击VMware图标发现弹出一个对话框,内容如下时, VMware Workstation unrecoverable error:(vmui)Unable to create VmappPoll object:没有注册类别. VMware Workstation unrecoverable error:(vmui)Unable to create VmappPoll object:转载 2011-12-27 13:51:59 · 11464 阅读 · 4 评论 -
添加lib库的方法
方法一 静态加载:点击菜单命令 “项目/属性”,弹出项目属性对话框; 或者在解决方案视图或类视图中,右击项目名称,选“属性”,弹出项目属性对话框;在弹出对话框的活动配置中,选择 “配置属性/链接器/输入/附加依赖项”,即可输入待加入的lib库文件,添加完毕点击“应用”或“确定”按钮。如果要对所有的配置添加lib库文件,可 先将活动配置切换为“所有配置”。 在“配置属性”---“原创 2011-12-27 13:48:38 · 1001 阅读 · 0 评论 -
HBITMAP和CBitmap的互相转换
1 HBITMAP转成CBitmapHBITMAP hBmp; 方法①CBitmap* pBmp = CBitmap::FromHandle(hBmp); 方法②CBitmap bmp; bmp.Attach(hBmp); 方法①转换出来的临时CBitmap对象似乎并不是可靠的!MSDN上说这个临时只在某一时间段内有效。等到某个空闲的时候,这个临时CBit转载 2011-12-29 13:59:37 · 3960 阅读 · 0 评论 -
CBITMAP转为BYTE数组
//用GetBitmap获得图像数据大小 //用GetBitmapBits获得数据数组 BITMAP temBmp; pBmp->GetBitmap(&temBmp); iDataSize = ((temBmp.bmWidth + 31 ) / 32 * 4) * temBmp.bmHeight;//图像数据大小 pBmp->GetBitmapBits(iDataSize, p原创 2012-01-10 11:48:08 · 1731 阅读 · 0 评论 -
注册表操作技巧
1 用REG删除注册表项[-HKEY_CURRENT_USER\Software\应用程序向导生成的本地应用程序\LaserCA]加-即可2 XP像Win7一样在右键菜单中加入“打开文件位置”REGEDIT4[HKEY_CLASSES_ROOT\*\Shell\打开所在文件夹(&O)][HKEY_CLASSES_ROOT\*\Shell\打开所在文件夹(&O)\Comman原创 2011-12-30 15:58:23 · 573 阅读 · 0 评论 -
初谈制作注册表REG脚本文件(中)
三、制作REG文件的具体操作1.创建新键创建新键的写法:[路径\新键名]例1,在 HKEY_CLASSES_ROOT\*\shell 下创建主键,键名为:NewWindow。 脚本写法:---------------------------------------------------------------------------------------转载 2012-01-05 13:23:20 · 1897 阅读 · 0 评论 -
初谈制作注册表REG脚本文件(下)
四、如何修改注册表REG脚本文件用REG文件修改注册表,应该对键值项有所了解,尤其是默认键值项的相关知识,为此下面先作个简单的介绍,供参考! ①在注册中,对每一个主键或子键,系统只允许一个默认键值项,不允许多于一个或没有默认键值项。因此,在创建新键或没有默认键值项时,系统将自动对每一个键给出一个默认键值项,它的键值名为(默认),键值类型是字符串,键值“数值未设置”状态。根据转载 2012-01-05 13:26:10 · 1762 阅读 · 0 评论 -
使用IE8后 MFC添加类报错
Windows Registry Editor Version 5.00[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1000]"1207"=dword:00000000添加以上代码到注册表到记事本,改为REG,运行即可转载 2011-12-30 16:00:28 · 566 阅读 · 0 评论 -
界面设计技巧
1 截获键盘消息的函数BOOL CBApp::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class CBDevice* pDevice = m_pSetting->getCurrentDevice(); if(pDevice !=原创 2011-12-30 16:09:28 · 568 阅读 · 0 评论 -
执行添加删除操作时提示代码元素类名是只读的
基本按下列步骤能解决:1、关闭解决方案,删除工程目录里的.ncb文件,再重新打开基本上就行了。2、打开Resourse.h文件看一下,可能有两个宏对应同一个值,删除多余的就行了。另外,一个可能的原因是头文件和CPP文件都必须从服务器中CHECK OUT转载 2011-12-30 15:59:46 · 529 阅读 · 0 评论 -
控件技巧
1 如果控件相互遮挡,则可通过传递消息的方式来响应操作SendMessage消息::SendMessage(hwnd, WM_SETTEXT, 0, "hello ") GetParent()->SendMessage(WM_LBUTTONUP, (WPARAM)this->m_hWnd); //发送消息至父窗口2 对话框指针传递//得到主对话框指针(在子对话框类中取得)原创 2011-12-27 13:31:19 · 629 阅读 · 0 评论 -
图像编程常识
1 载入ICONHICON hicon = NULL;hicon = ::LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_LOCK));((CButton*)GetDlgItem(IDC_KEEPRATIO))->SetIcon(hicon);2 平面内坐标旋转公式任意一点A(ax,ay),按旋转中心点(x,y)逆时针旋转原创 2011-12-29 14:00:54 · 636 阅读 · 0 评论 -
判断点是否在不规则区域范围内
发布了一个帖子向坛友请教,整理如下1原帖http://topic.csdn.net/u/20110711/13/01cb1ff3-162c-4e5a-8220-4be89964f1b7.html2方法方法①可以先将你的不规则图形转换为区域(Region),然后可以用函数PtInRegion来判断。CreatePolygonRgn()PtInRegion()方法原创 2012-01-10 11:53:01 · 2543 阅读 · 0 评论 -
对话框最大化问题
ShowWindow(SW_SHOWMAXIMIZED);//窗口最大化问题:在写程序时,如果包含了标题栏,但是没有包含最大化按钮或者最小话按钮。那么人工用ShowWindow(SW_MAXIMIZE),窗口会盖住任务栏,并且窗口最大化后还可以拖动!解决方法:1 窗口最大化可以拖动的问题就是在最大化时不让其拖动, 只要响应WM_NCLBUTTONDOWN时判断是否最大化 I原创 2012-01-10 14:13:51 · 1462 阅读 · 1 评论 -
注册表读写字符串类型数据
方法1 //读取键值 DWORD lValue = 256; TCHAR *pBuf = new TCHAR[lValue]; if (ERROR_SUCCESS == RegQueryValueEx(theKey, TEXT("savePath"), NULL, NULL, (LPBYTE)(LPCTSTR)pBuf, &lValue)) m_s原创 2012-01-10 11:09:15 · 1633 阅读 · 0 评论 -
创建启动画面相关问题
1 如何创建启动画面始终置顶不必担心被切换 void CBSplashWindow::CreateSplash(){ //Create Splash Window CWnd::CreateEx(WS_EX_TOPMOST, AfxRegisterWndClass(0), NULL, WS_POPUP, 0, 0, m_bmBitmap.bmWidth, //原创 2011-12-27 13:42:52 · 515 阅读 · 0 评论 -
关于VS2008 SP1和 VS2010备忘
1 调用VS2008的新控件,但是又没有用2010的框架,则需要在析构时加入以下,否则会内存泄露CMFCVisualManager::DestroyInstance(TRUE);2 VS2010绘图CDrawingManager3 VS2005转换成VS2010时提示类未定义在 stdafx.h中加入 #include原创 2011-12-27 10:42:59 · 580 阅读 · 0 评论 -
Visual studio 2008/2010 MFC程序Menu、Toolbar字体偏小解决办法
首先,这是一个MFC的Bughttp://connect.microsoft.com/VisualStudio/feedback/details/505466/mfc-visual-style-font-size-too-small-to-display-chinese-character-clearly-on-windows-xp MFC visual style font si转载 2011-12-12 11:37:36 · 1475 阅读 · 0 评论 -
SetWindowRgn,可用于创建不规则窗口
函数功能描述:设置窗口区域.函数原型int SetWindowRgn( HWND hWnd, // 要设置其区域的窗口句柄 HRGN hRgn, // 区域句柄 BOOL bRedraw // 重画标志);参数hWnd要设置其区域的窗口的句柄.hRgn区域的句柄.该函数把窗口的区域设置成由此参数指定的区域.系统将仅绘制窗转载 2011-12-12 11:34:29 · 1131 阅读 · 0 评论 -
VB下继承VC接口生成COM组件
在VB下调用VC写的COM动态库,并生产COM组件。程序很简单,只是当时写的时候因为对VB语言的不熟悉,就弄得很困难。此处是原帖:http://topic.csdn.net/u/20110313/09/f2b56748-3cf8-4b0d-91cd-ee9035f3c130.htmlPublic Class Css Implements laserca.ICAMenu'接口继承原创 2011-12-12 11:23:24 · 853 阅读 · 0 评论 -
用TlbImp.exe生成程序可调用的Dll
在很多项目当中需要安装某些程序并调用接口...虽然配置服务器上也安装了程序,但是发布的程序却不能直接调用...后来发现在VS里调试重新引用一下Dll就没有问题了.但是不可能每安装一次就重新调试一下...因为需要配置的机器未必会安装Visual Studio...有个办法可以解决配置的问题...主角就是:TlbImp.exe,它是Visual Studio自带的类型库导入程序,路转载 2011-12-12 11:09:34 · 902 阅读 · 0 评论 -
VC/MFC按钮(CButton)控件
1如何在按钮控件上显示图片 首先确定你要显示在按钮控件的图片类型是什么,这里我是ico图标,由于要在按钮里显示ico图标,所以要把按钮控件的属性改一下,方法是右击按钮控件,选择属性,单击样式选项卡,把图标这一项给勾上。然后为这个按钮控件关联一个变量如:m_Quit,类型是"Control",以后不做说明的话,类型都是"Control".按钮控件类(CButton)类转载 2011-12-19 16:45:11 · 4248 阅读 · 0 评论 -
VC - MFC鼠标拖动效果编程
要实现的功能实际上很简单,一般人都用到见惯不惯了,但是实现起来还是有点意思的。问题详细描述:(三步)单击鼠标左键时记录下单击点;鼠标拖动时,显示的矩形框能够动态的跟随显示;释放鼠标左键时擦出矩形框。这样分析其实问题就简单一些了,只需要对鼠标的三个事件进行相应就可以了。代码主要在三处地方修改了:第一处:VIEW类中设置私有变量(VIEW类.h文件中)priva转载 2011-12-12 11:48:52 · 3903 阅读 · 0 评论 -
推导坐标旋转公式
在《Flash actionScript 3.0 动画教程》一书中有一个旋转公式:x1=cos(angle)*x-sin(angle)*y;y1=cos(angle)*y+sin(angle)*x;其中x,y表示物体相对于旋转点旋转angle的角度之前的坐标,x1,y1表示物体旋转angle后相对于旋转点的坐标 从数学上来说,此公式可以用来计算某个点绕另外一点旋转转载 2011-12-12 11:43:02 · 1015 阅读 · 0 评论 -
MFC并列显示多个工具栏
创建两个工具栏合并时第二个工具栏总是跑回下一行,终于折腾到放一行了,呵呵。。。第一个工具栏:if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_FLOAT_MULTI | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_F转载 2011-12-12 11:32:21 · 3041 阅读 · 0 评论 -
三角函数公式
pi 是派的意思(如果你没有切换到公式版本)^是次方的意思,常见角度sin(pi/6)= 1/2 sin(pi/3)=根号3 / 2sin(pi/2)=1sin(pi)= 0cos(pi/6)=根号3 / 2cos(pi/3)=1/2cos(pi/2)=0cos(pi)=-11.诱导公式sin(-a)=-sin(a)cos(-a)=cos(a)sin(pi原创 2011-12-12 11:17:55 · 2213 阅读 · 0 评论 -
读取二进制文件
CByteArray m_sendData; FILE* fpFile = _wfopen(strFilePath, _T("rb"));//打开 if (!fpFile) return false; unsigned char* bytebuff = 0; fseek(fpFile, 0, SEEK_END);//读取 int file_len =原创 2011-12-07 11:53:26 · 671 阅读 · 0 评论 -
VC中使用ListCtrl经验总结
ListCtrl在工作中,常常用到,也常常看到大家发帖问怎么用这个控件,故总结了一下自己的使用经验,以供参考使用。 先注明一下,这里,我们用m_listctrl来表示一个CListCtrl的类对象, 然后这里我们的ListCtrl都是report形式,至于其他的如什么大图标,小图标的暂时不讲,毕竟report是大众话的使用。其次,我们这里用条款一,条款二 来描述第一点,第二点,这个是参照《E转载 2011-12-07 11:47:59 · 514 阅读 · 0 评论 -
Hot Key Control快捷键控件
hot key control用法:A "hot key control" is a window that enables the user to create a hot key. A "hot key" is a key combination that the user can press to perform an action quickly. (For example, a转载 2011-12-21 13:27:03 · 3856 阅读 · 0 评论