
C++
rach09
一片蓝天下的绿茵、一杯喜爱的清茶,谱写简单随和的人生。
展开
-
OSG实现按像素大小显示节点
OSG添加像素级的节点原创 2023-02-02 14:18:23 · 563 阅读 · 0 评论 -
osgearth设置osgEarth::Util::Viewpoint视口
osgearth osgEarth::Util::Viewpoint原创 2022-09-15 19:58:47 · 1990 阅读 · 0 评论 -
osg绘制坐标轴(XYZ)代码
【代码】osg绘制坐标轴(XYZ)代码。原创 2022-09-14 14:11:57 · 1119 阅读 · 0 评论 -
OSG3.6.5帮助文件档编译
OSG帮助文件编译: html chm qch原创 2022-09-08 11:09:25 · 791 阅读 · 0 评论 -
osg3.6.5+oe2.10.2+osgqt编译
osg3.6.5+oe2.10.2+osgqt编译原创 2022-09-02 17:40:52 · 328 阅读 · 0 评论 -
编程风格制定准则
统一制定编程风格的共识(好的编程风格制定准则是适用于大部分编码语言的):1、确定制定编程风格的目的;2、确定编程风格的对错;3、认识编程风格老习惯的危害。一般性指导:一、制定编程风格的目的 --> 提高软件生产效率1、增强代码的阅读性和可理解性;2、简化编程风格的复杂度(不影响阅读和理解的情况下);3、有效的减少不必要的输入;4、有效的防止失误导致的输入错误;5、适应特定的IDE。二、确定编程风格的对错 --> 狭义上讲不利于代码的阅读和理解的即为错是否利于代码阅读和原创 2021-11-18 16:16:09 · 428 阅读 · 0 评论 -
osgearth2.10 demo功能介绍
osgearth-2.10 demo:说明:1、运行环境win7 x64 旗舰版,CPU i5-6400 8核,8G内存;2、括号内是对应demo的测试参数(.earth);3、配置OSG_FILE_PATH;4、参数命令行可以查看各个demo需要的输入参数;5、前缀说明:gui界面程序、cmd控制台程序、non功能未知;6、程序后括号里的non表示不需要通过命令行输入参数;示例:1、gui:osgearth_3pv(simple.earth):相机与地球的投影关系,Range表示相机原创 2021-11-12 23:07:17 · 2212 阅读 · 0 评论 -
vc中执行exe的方法
1.WinExec、ShellExecute把问题提交给explorer.exe来解决2.CreateProcess 来自:http://topic.youkuaiyun.com/u/20090612/16/a71f0b07-0dc9-4fb6-9166-cebe555d6ddb.html转载 2012-10-11 12:14:25 · 611 阅读 · 0 评论 -
vc6.0处理wps文字
wps版本: 2012、10、11在官网下载的WPS抢鲜版。 功能:在对话框中添加一按钮,点此按钮可打开一个加有文字和图片的wps文字。问题:1)、wps本身的问题不能正确,打开后关闭时,出现wps文字崩溃。 2)、我安装的wps文字,只打一个带有一个 文档1 的wps文字,在文档中点击鼠标左键,每点击一次内存会增加4KB。 1、新原创 2012-10-11 17:18:18 · 3514 阅读 · 2 评论 -
vc 限制软件的使用次数或时间
实现其功能需要三步: 1、保存软件的使用次数或时间。 2、读次数和时间数据,在软件中进行处理。 3、对软件进行相应控制。 存放位置包抱以下位置: 1、保存到C盘中。 2、保存到注册表中。 3、保存到磁盘中。 4、原创 2012-09-19 10:14:17 · 7691 阅读 · 0 评论 -
为工具条添加文字
环境vc6.0int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CB原创 2012-09-14 14:40:22 · 615 阅读 · 0 评论 -
vc 保存8位位图
void Save8BitsBitmap{ CFile file; if(!file.Open(path, CFile::modeRead|CFile::modeWrite|CFile::modeCreate)) return FALSE; BITMAP bp; m_pPr原创 2012-09-26 16:46:30 · 1586 阅读 · 0 评论 -
LoadImage\LoadBitmap,加载的图片全是32位的解决方法
保存在位图文件中的位图叫设备无关位图,CBitmap调用LoadBitmap后于此位图对象相关的位图叫做设备相关位图,两种办法可以解决 1、LoadBitmap后再把32位位图转成24位的位图; 2,把显示器彩色改成24位的即可。 之所以24位位图被转为32位是因为你的显示器彩色被设成32位的,所谓设备相关就是把与设备无关位图转换为可原创 2012-09-06 09:59:16 · 3165 阅读 · 0 评论 -
C/C++时间函数使用方法
来自:http://www.cnblogs.com/xd502djj/archive/2010/09/23/1833361.html C/C++时间函数使用方法/C++对时间的操作也有许多值得大家注意的地方。最近,在技术群中有很多网友也多次问到过C++语言中对时间的操作、获取和显示等等的问题。下面,在这篇文章中,笔者将主要介绍在C/C++中时间和日期的使用方法.转载 2012-08-27 10:42:11 · 1330 阅读 · 0 评论 -
C++标准转换运算符dynamic_cast
来自:http://www.cnblogs.com/ider/archive/2011/08/01/cpp_cast_operator_part5.html C++标准转换运算符dynamic_cast前释:dynamic_cast需要具有多态性的类才能进行转换。virtual function是保证多态性的条件。如果没有virtual,即使是有继承关系的类转载 2012-08-24 11:15:14 · 383 阅读 · 0 评论 -
__declspec(dllimport)的作用
来自:http://blog.youkuaiyun.com/v6fish/article/details/6629401我相信写WIN32程序的人,做过DLL,都会很清楚__declspec(dllexport)的作用,它就是为了省掉在DEF文件中手工定义导出哪些 函数的一个方法。当然,如果你的DLL里全是C++的类的话,你无法在DEF里指定导出的函数,只能用__declspec(dllexport)转载 2012-08-01 09:55:34 · 609 阅读 · 0 评论 -
vc++剪屏程序
来自:http://hzdiy.iteye.com/blog/776359 HBITMAP hCaptureBitmap = CopyScreenToBitmap(0, 1024,0, 768);CBitmap* pBmp = CBitmap::FromHandle(hCaptureBitmap); int Count; BITMAP bm;转载 2012-08-13 09:07:24 · 750 阅读 · 0 评论 -
vc6中进行多行注释和反注释的方法
来自:http://blog.youkuaiyun.com/fengbingchun/article/details/6366609 1、利用工具中自带的按钮实现:Tools-->Customize-->Add-ins and Macro Files-->将SAMPLE项选中-->Commands-->Category中选择Macros-->在Commands中将CommentOut拖到工具栏,再转载 2012-08-10 11:10:18 · 2975 阅读 · 0 评论 -
vc6.0执行导入文件或打开时,出“"0x5003eaed"指令引用的"0x00000000"内存”
VC6.0向工程中添加文件出错“"0x5003eaed"指令引用的"0x00000000"内存”解 据说这个错误是因为和微软的其他软件相冲突了。下面就看看如何解决这个问题:第一步:下载一个FileTool插件,下载的地址:http://download.microsoft.com/download/vc60ent/s1/6.0/w9xnt4/en-us/filetool.exe转载 2012-10-12 14:09:45 · 1882 阅读 · 1 评论 -
vc操作word入门(一)
1、环境:vc6.0 与 word20072、功能:练习vc操作word的过程,并实现与向word中输入文字。3、步骤: 1、建立vc6.0的单文档工程(wrd),导入 word 的头文件和源文件。 导入步骤:菜单,View->ClassWizard->Add Class->From a type library...(弹出原创 2012-10-18 10:17:57 · 5600 阅读 · 0 评论 -
vc 实现关机和重启功能
#include void main(int argc, char *argv[]){ // Get the Windows version. DWORD dwVersion(GetVersion()); BOOL bIsNT(FALSE); if(dwVersion bIsNT = TRUE; if(bIsNT) // Win2000转载 2012-10-23 15:33:19 · 1579 阅读 · 0 评论 -
QLibrary::load不能正确加载dll,但加载的dll的路径是正确的
windows平台:为了提供可扩展功能,需要动态加载动态库,如果动态加载动态库采用到Qt的QLibrary类时:在使用QLibrary的load方法时,总是返回false。通过errorString();方法获得的错误信息是 “找不到***.dll” ,但查看dll的路径是正确的。出现此问题的根本原因是:此dll所依赖的dll异常。排查方法:1、检查是否缺少原创 2017-02-07 23:20:27 · 16254 阅读 · 0 评论 -
文件结束是什么判断的
来自:http://bbs.chinaunix.net/thread-355395-1-1.html请问:feof()是怎么知道二进制文件结束的文件的结束判断与文件的内容无关,与文件是文本还是二进制格式无关,文件内容中更不含有所谓的文件结束标志;文件的结束与否是通过文件在磁盘上存储的文件结构等信息来获知的,与其所使用的文件系统有关。Windows和Linux系统对于文件转载 2015-05-20 23:21:29 · 1071 阅读 · 0 评论 -
VS集成Qt时,VS中的.vcxproj.user 文件相对于Qt的作用
environment :windows 7 + VS2013 + Qt5.3.0 + addin1.2.4analyse:.vcxproj.user是用户配置文件,保存用户数据的。在创建Qt Application工程时会在.vcxproj.user文件中添加以下两行内容。E:\Qt5.3.0\x64// 表示QTDIR的绝对路径PATH="$(QTD原创 2015-04-08 16:01:36 · 6579 阅读 · 6 评论 -
mfc屏蔽另存为对话框
来自:http://hi.baidu.com/gongziya/item/60a7f8523b0288d2d58bac1c 我写了一个推箱子的MFC单文档应用程序,在游戏中,每一个地图都对应一个文件,这样随着游戏的进行,读取文件会将保存游戏各种信息的CBOXDoc类中原有内容冲刷掉,这样,点击关闭退出游戏的时候,会弹出一个对话框,提示是否保存,很恼火,这必须要把该对话框屏蔽:屏蔽工转载 2013-06-18 00:15:35 · 1660 阅读 · 0 评论 -
OnOpenDocument指定打开文档的默认类型
来自:http://blog.youkuaiyun.com/whucv/article/details/7747248 IDR_MAINFRAME字符串资源中包含7个子串,分别以\n结束,即如下格式:\n\n\n\n\n\n\n(1)CDocTemplate::windowTitle,主窗口标题栏上的字符串,MDI程序不需要指定,将以IDR_MAINFRAME字符串为默认值。(2)CDoc转载 2013-06-17 23:47:59 · 1551 阅读 · 0 评论 -
VC ActiveX控件的入门----创建和调试
转载1:http://www.2cto.com/kf/201111/110829.html转载2:http://blog.youkuaiyun.com/wulang1114/article/details/4806089本人使用环境:1、vc2010,qq浏览器 2、vc2010对话框工程 补充转载1:只能运行,不能单步调试。补充转原创 2013-01-15 16:08:35 · 795 阅读 · 0 评论 -
VC6.0 error LNK2001:集锦
来自:http://www.douban.com/note/65638800/ 学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然。如果不深入地学习和理解VC++,要想改正连接错误LNK2001非常困难。 初学转载 2013-01-29 13:00:16 · 448 阅读 · 0 评论 -
VS中的路径宏 vc++中OutDir、ProjectDir、SolutionDir各种路径
来自:http://www.cnblogs.com/lidabo/archive/2012/05/29/2524170.html 说明 $(RemoteMachine)设置为“调试”属性页上“远程计算机”属性的值。有关更多信息,请参见更改用于 C/C++ 调试配置的项目设置。$(References)以分号分隔的引用列表被添加到项目中。$转载 2013-01-04 10:32:14 · 665 阅读 · 0 评论 -
DEFINE_GUID
来自:http://blog.sina.com.cn/s/blog_7d1dc9de0100z7hg.html DEFINE_GUID宏是怎么工作的?使用DEFINE_GUID宏可以让你通过包含同一个头文件来定义GUID值而不必使用extern关键词。比如,你的工程中有三个源文件:src1.cpp,src2.cpp,src3.cpp,它们都使用一个相同的GUID值,而为了保证一致性,这转载 2012-12-11 11:24:00 · 13886 阅读 · 0 评论 -
软件自动重启
软件自动重启的三种方法:1、利用守护进程:在软件内部关闭软件、用守护进程检测此软件是否是运行状态,如果没有运行,启动此软件。2、创建新进程:在软件中创建一进程,在此进程中关闭此软件,再启动此软件。3、利用异常:当需要重启软件时,写入异常代码,在异常处理中,重新启动软件。利用异常处理代码:LONG WINAPI Exception(LPEXCEPTION_POINTERS exc原创 2012-12-10 14:49:40 · 1923 阅读 · 0 评论 -
使用EnableMenuItem函数无效
在MFC环境下Menu的修改在默认的情况下是通过CCmdUI来改变的, 调用EnableMenuItem函数无效(不管是全局API还是 CMenu类的成员函数).但是只要修改CFrameWnd类的一个成员变量m_bAutoMenuEnable就可以使调用的函数有效. m_bAutoMenuEnable在默认情况下是TRUE,如果需要EnableMenuItem函数调用有效需将其赋值为FALSE.如转载 2012-12-07 12:02:45 · 4466 阅读 · 0 评论 -
mfc应用窗口最大化显示
来自:http://hi.baidu.com/lz3272/blog/item/236932126131f70b5aaf538a.html 1.一般的做法是在 C**App::InitInstance()中,修改成这样:{//...m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);m_pMainWnd->UpdateWindow();//转载 2012-08-10 10:37:50 · 6090 阅读 · 0 评论 -
_stdcall _cdecl _fastcall
(1) _stdcall调用_stdcall是Pascal程序的缺省调用方式,参数采用从右到左的压栈方式,被调函数自身在返回前清空堆栈。WIN32 Api都采用_stdcall调用方式,这样的宏定义说明了问题: #define WINAPI _stdcall 按C编译方式,_stdcall调用约定在输出函数名前面加下划线,后面加“@”符号和参数的字节数,形如_functionn转载 2012-08-07 15:41:11 · 571 阅读 · 0 评论 -
MFC中SendMessage,Release版出错Debug版不出错的一个最常见原因之深入剖析
来自:http://blog.sina.com.cn/s/blog_47fa4cef0100s80j.html编译器 vc6.0也不知道网上有没有类似的文章,小弟斗胆在这里献丑一回; 最近一段时间,许多人发帖子说自己的MFC程序Release版会出错,而Debug版不会出错,记得在两年前我也曾遇到过类似的问题,但是没有进行深入研究,这两天我对这个问题作转载 2012-04-12 21:33:10 · 1552 阅读 · 0 评论 -
调用系统的可执行文件
例:打开系统的计算器方法1: WinExec("calc.exe",SW_SHOW);方法2:::ShellExecute(NULL, _T("open"),_T("calc.exe"), NULL, NULL, SW_SHOWNORMAL);还可以发送消息可参考http://www.vckbase.com/document/viewdoc/?id=416原创 2012-03-23 09:52:23 · 349 阅读 · 0 评论 -
编译错误error RC2151 : cannot reuse string constants, 61446(0xF006)
来自:http://apps.hi.baidu.com/share/detail/33360592 编译错误error RC2151 : cannot reuse string constants, 61446(0xF006) 我写程序很少发布过,都是写完了给领导同事,他把我的代码拷到他的工程上,去发布。最近发布个,编译的时候竟然出现了这样的错误error RC2151 :转载 2012-04-09 09:10:18 · 5357 阅读 · 3 评论 -
vc中的ini操作
来自:http://apps.hi.baidu.com/share/detail/33722512 ini文件(即Initialization file),这种类型的文件中通常存放的是一个程序的初始化信息。ini文件由若干个节(Section)组成,每个Section由若干键(Key)组成,每个Key可以赋相应的值。读写ini文件实际上就是读写某个的Section中转载 2012-04-07 14:08:03 · 422 阅读 · 0 评论 -
GetFont()
C++MFC方法1: 正确 CFont* font; LOGFONT lf;CClientDC dc(this);font = dc.GetCurrentFont();if(NULL != font)font->GetLogFont(&lf);::ZeroMemory(&lf, sizeof(&lf));lf.lfHeight = 30原创 2012-04-04 21:59:38 · 5501 阅读 · 1 评论 -
vc6.0正确的定义变量却提示symbol "str" not found
void CDdView::OnLButtonDown(UINT nFlags, CPoint point) {CString str("jsdlfjsdl");}void CDdView::OnLButtonDown(UINT nFlags, CPoint point) {CString str;str = "jsdlfjsdl";}这样会出现同样的问原创 2012-03-19 10:21:46 · 2702 阅读 · 1 评论