posted @ 2011-09-27 07:57
随笔分类 - C/C++/VC
摘要:在OpenGL中有两个比较重要的投影变换函数,glViewport和glOrtho。glOrtho是创建一个正交平行的视景体。 一般用于物体不会因为离屏幕的远近而产生大小的变换的情况。比如,常用的工程中的制图等。需要比较精确的显示。 而作为它的对立情况, glFrustum则产生一个透视投影。这是一种模拟真是生活中,人们视野观测物体的真实情况。例如:观察两条平行的火车到,在过了很远之后,这两条铁轨是会相交于一处的。还有,离眼睛近的物体看起来大一些,远的物体看起来小一些。glOrtho(left, right, bottom, top, near, far), left表示视景体左面的坐标,ri
阅读全文
摘要:本文解决方案摘自:http://support.microsoft.com/kb/2517589 这几天一直在写一个股票软件,用的ACCESS来存储数据,用的ADO方式来操作数据库,在自己机子上运行得好好的,在别人机子上就完全用不起,调试了很久才发现问题锁定在hr = m_pLocalConnection.CreateInstance(__uuidof(Connection));这条语句上,这条语句是创建一个Connection对象,正确执行后是能创建的,但是在别人机子上就是不能正确执行,弄了一天也没弄明白,后来跟一个朋友聊天,从他那里得知原来在Win7 SP1的操作系统上编译的ACCESS.
阅读全文
posted @ 2011-09-11 09:15
摘要:使用ODBC所需要的文件1、sql.h : 包含基本的ODBC API的定义。2、sqlext.h :包含扩展的ODBC的定义。3、odbc32.lib :库文件。例如:#include <sqlext.h>#include <sql.h>#include <odbcinst.h>#pragma comment(lib, "odbccp32.lib")#pragma comment(lib, "odbc32.lib")一、配置ODBC数据源配置ODBC数据源可以通过手动配置 和 程序自动配置 两种方式来实现。第一种:手
阅读全文
posted @ 2011-08-20 18:24
摘要:以下未经说明,listctrl默认view 风格为report--------------------------------------------------------------------------------1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解:windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料” -----------------------------
阅读全文
posted @ 2011-08-20 18:20
摘要:CString CXXXDlg::UTF8Convert(CString &str, int sourceCodepage, int targetCodepage){ int len=str.GetLength(); int unicodeLen=MultiByteToWideChar(sourceCodepage,0,str,-1,NULL,0); wchar_t * pUnicode; pUnicode=new wchar_t[unicodeLen+1]; memset(pUnicode,0,(unicodeLen+1)*sizeof(wchar_t)); MultiByteToW
阅读全文
posted @ 2011-08-20 17:54
摘要:在多线程的程序中,有时需要在子线程中使用UpdateData()函数对主窗口进行更新,但是在子线程里调用UpdateData()函数是行不通的,这就需要使用自定义消息来进行线程间的通信,在此记录怎么使用自定义消息。在Visual C++中提供了WM_USER,比它大的整数可以由用户使用,比它小的整数由系统保留。 自定义消息处理的过程如下: 1、声明一个全局的常量,代码如下: const WM_xxx = WM_USER + N; 其中,WM_xxx表示自定义的消息名,N是正整数。 2、在对话框的头文件中DECLARE_MESSAGE_MAP()的前面添加下列语句: //{{AFX_MSG(CX
阅读全文
posted @ 2011-08-20 17:52
摘要:/***********加密CString并写入文件(加法加密)************/CFile fileWrite;CString m_strEncryption = _T("需要加密的信息");int count = m_strEncryption.GetLength();BYTE* m_byteRead = new BYTE[count];BYTE* m_byteWrite = new BYTE[count*2];m_byteRead = (BYTE*)m_strEncryption.GetBuffer(count);for (int i = 0, k = 0,
阅读全文
posted @ 2011-08-20 17:48
浙公网安备 33010602011771号