VS 2008编程
shiyunqiang
这个作者很懒,什么都没留下…
展开
-
VC++遍历文件夹中的所有文件
<br /> //CFileFind遍历文件<br /> CFileFind finder; <br /> BOOL bWorking = finder.FindFile(strPath+"/*.bmp"); <br /> while (bWorking) <br /> { <br /> bWorking = finder.FindNextFile(); <br /> if (finder.IsDots()) //判断是否是文件<br /原创 2010-08-10 09:06:00 · 787 阅读 · 0 评论 -
使用OpenGL对光照的设置
本篇文章主要解决两个问题:(1)OpenGL中光照设置与尺度缩放之间存在的问题;(2)OpenGL中光照初始化的位置与光照效果的关系。当使用glScalef对三维模型进行尺度缩放时,三维模型上的光照效果就会出现问题,主要是因为缩放尺度时更改了三维模型上面法线的长度,而为了进行光照计算,面法线的长度必须是1,所以缩放尺度时会对光照产生影响。解决这个问题只需要在尺度缩放时加入glEnable(转载 2011-12-21 15:43:15 · 1433 阅读 · 1 评论 -
三维空间绕坐标轴的旋转变换
三维空间中的旋转变换比二维空间中的旋转变换复杂。除了需要指定旋转角外,还需指定旋转轴。若以坐标系的三个坐标轴x,y,z分别作为旋转轴,则点实际上只在垂直坐标轴的平面上作二维旋转。此时用二维旋转公式就可以直接推出三维旋转变换矩阵。规定在右手坐标系中,物体旋转的正方向是右手螺旋方向,即从该轴正半轴向原点看是逆时针方向。绕X轴绕Y轴绕Z轴转载 2011-12-09 13:13:59 · 3653 阅读 · 1 评论 -
ShowPopupMenu显示自己创建的右键菜单
我们一般采用下面的语句弹出右键菜单:theApp.GetContextMenuManager()->ShowPopupMenu(IDR_POPUP_MY_VIEW, point.x, point.y, pWnd, TRUE);其中IDR_POPUP_MY_VIEW为自己创建的弹出菜单。但是直接使用是无法显示自己创建的菜单的,这是因为自己创建的菜单还没有被添加到系统菜单里。我们可以在原创 2011-12-08 10:15:57 · 4379 阅读 · 1 评论 -
VC++更改工程名称
在做软件开发时,经常会遇到中途更改应用程序名称的问题,也就是当程序运行时,显示在任务管理器里面的名称。下面的方法可以简单的实现该功能:以记事本方式打开工程目录下的.vcprj文件, 用新项目名替换前面的那个Name=" "内的名字,然后重新编译工程。原创 2011-08-04 16:23:24 · 4521 阅读 · 2 评论 -
编写自己的CMFCEditBrowseCtrl,实现打开指定类型的文件
在Visual Studio 2010和Visual Studio 2008 SP1中,微软采用了BCG库对应用程序界面进行美化,其中CMFCEditBrowseCtrl控件可以实现在Edit控件中浏览打开文件的功能。但是,问题出现了,该控件默认的打开文件类型是所有文件,要如何才原创 2011-08-04 14:15:30 · 6455 阅读 · 3 评论 -
高频笔试题strcpy()的写法
题目:已知strcpy函数的原型是1char * strcpy(char * strDest, const char * strSrc);不调用库函数,实现strcpy函数。解释为什么要返回char *。解说:1. strcpy的实现代码1char * strcpy(char *转载 2011-07-29 15:08:44 · 888 阅读 · 0 评论 -
编写符合WINAPI规范的DLL
extern "C " INT WINAPI Fun(DWORD dwP1); 然后新建一个def文件例如you.def中加上以下代码(ExportName是你的API的文件名): LIBRARY ExportName EXPORTS Fu原创 2011-07-19 11:21:23 · 589 阅读 · 0 评论 -
VC++无标题窗口以及控件拖动的方法
方法一:直接在OnNcHitTest中虚拟发送HTCAPTION消息LRESULT CaaaDlg::OnNcHitTest(CPoint point){ // TODO: Add your message handler code here and/or转载 2011-07-27 16:32:36 · 3102 阅读 · 0 评论 -
文档创建,文件的打开, 保存
<br /> Visual C++应用框架提供的强大功能,为我们的程序开发提供了极大的方便,利用其应用生成器可以很轻松地生成应用程序的框架.许多常用功能,例如文档的创建,文件的打开,保存等操作的大部分代码都由应用框架来完成.这些操作对于开发软件的用户而言,是透明的. Microsoft公司的设计Visual C++的初衷是尽量向用户提供尽可能简单的接口,但是,正是因为应用框架的这一透明性,使Visual C++的运行流程显得非常神秘,当涉及这些Visual C++已经提供的功能模块的软件开发时,用户(特转载 2010-08-21 14:53:00 · 705 阅读 · 0 评论 -
多文档结构中,CImage类读入图像,与保存图像方法
//读入外部图像:void CCMDITestApp::OnFileOpen(){ // TODO: 在此添加命令处理程序代码 CString ImageStyle=_T("Bitmap(*.bmp)|*.bmp|Txt(*.txt)|*.txt|All Files(*.*)|*.*||"); CFileDialog dlg(TRUE,NULL,NULL,NULL,ImageStyle,NULL); dlg.m_ofn.Flags |=OFN_ALLOWMULTISELECT|OFN_EXPLORER;//原创 2010-08-21 14:44:00 · 1534 阅读 · 0 评论 -
多文档中怎么更改MainFrme和各个视图(子窗口)的名字
<br />下面的提供的方法可以修改单文档/多文档的MainFrame的名字,和视图/子视图(子窗口)显示的名字。<br /><br />论坛上搜索了很久,也很多网站上的都相当模糊,或者无法实现,有一天同事给了一个网址,研读了之后发现方法可行,csdn是很写程序的人必来的论坛,转过来与大家分享。下面的内容为转载,再次向原创的前辈致敬!<br /><br /> <br /> <br />修改窗口标题的方法1:<br />有些时候,我们不得不改变所编Windows应用程序窗口的标题。比如,想编一个标题名为“Co转载 2010-08-18 16:49:00 · 3829 阅读 · 0 评论 -
多文档、多模板程序建立新的子框架类后,出现“建立空文档失败”问题的解决办法
<br />多文档、多模板程序建立新的子框架类后,出现“建立空文档失败”问题的解决办法<br /> <br />不知道大家的情况是否跟我的一样。<br /> <br />首先,建立一个继承自CMDIChildWndEx类的子框架类:<br /> <br />class CChildFrame2 : public CMDIChildWndEx<br /> <br />然后在App中连接视图类与文档类,结果就出现了“建立空文档失败”的问题。<br /> <br />其实这个问题很容易解决:<br /> <br原创 2010-08-19 15:18:00 · 1532 阅读 · 0 评论 -
框架类、视图类、文档类互相调用的方法总汇
MFC应用程序中指针的使用CMainFrame中获取View和Doc指针:<br />CMainFrame *pMain=(CMainFrame *)AfxGetApp()->m_pMainWnd;<br />CCameraCalibSDIView *pView=(CCameraCalibSDIView *)pMain->GetActiveView();<br />CDocument * pCurrentDoc =pMain->GetActiveDocument();1) 在View中获得Doc指针2) 在转载 2010-08-18 16:54:00 · 1654 阅读 · 0 评论 -
解决VS 2008使用多字符集后界面风格变回VC6.0风格的方法
<br />方法其实很简单,只需将stdafx.h中的下面的代码中的首行与末行的代码注释掉即可。<br />//#ifdef _UNICODE<br />#if defined _M_IX86<br />#pragma comment(linker,"/manifestdependency:/"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKe原创 2010-08-09 15:57:00 · 2451 阅读 · 5 评论 -
Warning: no document names in string for template #1300的解决办法
改错误是:使用了自己创建的文档模板,但是没有在字符串表中添加相关信息。 具体解决方法是在字符串表中添加相关内容。可以首先看一下默认的文档模板的内容,如:\nMyTestSystem\nTestSystem\n\n\nMyTestSystem.Document\nTestSystem.Document而我们只需要改最后一部分TestSystem.Document,为自己创建的文档模板原创 2011-12-31 15:39:55 · 1269 阅读 · 0 评论