上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 16 下一页
摘要: MFC中lib和dll的区别lib文件,也会导出函数符号,如果工程要使用该lib中的函数,只需包含lib的头文件,以及包含该库,在程序连接的时候,会将lib库中的代码加入到你的exe之类的目标代码中,所以一般生成的目标文件较大,好处是,你换了一台机器,仍能执行。在MFC中,这种方式一般叫做静态库dll,会导出函数符号。你所建立的工程可以使用dll中的函数,但是,目标代码中不包含该dll的代码(dll作为一个单独的线程,由程序加载到内存LoadLibrary(L"XXXX.DLL");),在exe执行到函数符号的时候,你必须先用GetProcAddress("&qu 阅读全文
posted @ 2013-11-21 16:19 阿窟窿 阅读(973) 评论(0) 推荐(0)
摘要: 工具栏工具栏控件在控件面板里没有对应的选项(图标),但有一个工具栏控件类CToolBar,所以我们如果要创建一个工具栏控件并显示在窗口里的话,只能用代码来完成,事实上任何一种控件,都可以用代码创建,如CButton按钮类,现举一个用代码创建按钮控件并显示在窗口里的例子。CButton类的Create成员函数可以创建一个按钮控件,这个函数的格式如下:BOOL CButton::Create(LPCTSTR lpszCaption,//按钮显示的文本DWORD dwStyle,//按钮样式const RECT& rect,//按钮控件显示的区域(大小)相对于父窗口CWnd* pParent 阅读全文
posted @ 2013-11-20 14:16 阿窟窿 阅读(1613) 评论(0) 推荐(0)
摘要: 由于要使用多国语言动态切换, 而CMFCMenuBar 和 CMFCToolBar又比较难用.1. CMFCMenuBar菜单栏中的菜单项文字修改可没有普通的菜单那么简单,它其实是由CMFCToolBar派生而来.所以能直接调用此类的对象修改的文字,就只有第一级菜单了.如果放到单文档中,即是像单文档主菜单的 "文件","编辑"这一层一直显示在窗口上的菜单项. 而这一级菜单是没有ID的,其属性是POP_UP. 就只能使用按如下方法修改其文字.[cpp]view plaincopy//更新菜单栏父项,即无ID的项.CAdoStringStr;CMFCTool 阅读全文
posted @ 2013-11-20 08:48 阿窟窿 阅读(1742) 评论(0) 推荐(0)
摘要: 前面提到了CImageList类的Create(...)函数,虽然MSDN上已经有所解释,但仍有网友问到参数的具体含义,下面就我的理解,对参数进行一次轻量级的剖析 函数原型(其他重载函数请参看msdn):BOOL Create( int cx, int cy, UINT nFlags, int nInitial, int nGrow );cx,cy:图片的实际像素宽与高,没有问题nFlags:创建图像列表的类型,包括4/8/16/24/32/位色,nInitial :创建ImageList初始包括的图像个数nGrow当初始分配的图像个数不够的时候,新增一个图片时,指定图象... 阅读全文
posted @ 2013-11-19 10:30 阿窟窿 阅读(356) 评论(0) 推荐(0)
摘要: 万事开头难,任何一种新技术对于初学者来说最重要的还是“入门”,掌握其要点。让我们来看看ADO数据库开发的基本流程吧!(1)初始化COM库,引入ADO库定义文件(2)用Connection对象连接数据库(3)利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理。(4)使用完毕后关闭连接释放对象。准备工作:为了大家都能测试本文提供的例子,我们采用Access数据库,您也可以直接在我们提供的示例代码中找到这个test.mdb。下面我们将详细介绍上述步骤并给出相关代码......我也是刚开始学习c++连接数据库,一点一点 阅读全文
posted @ 2013-11-15 14:15 阿窟窿 阅读(3452) 评论(0) 推荐(0)
摘要: 最近的一个项目要使用Access,用惯了SQLServer,一下子回到Access真是有点不太习惯。在使用Access插入日期数据时,总报Data type mismatch in criteria expression错误,虽然我使用了参数化方式传值,可是问题还无法得到解决。经测试,下面两种方法可以解决这个问题。方法一:使用参数化方法时只要使用DateTime.Now.ToString(),把日期类型转换为String类型,就可以了。看来Access还是比较傻的。方法二:使用普通的拼SQL方法时,要把‘换成#。因为Access把#视为日期标识符。例如string sql = "in 阅读全文
posted @ 2013-11-14 10:04 阿窟窿 阅读(1679) 评论(0) 推荐(0)
摘要: 错误描述:fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”?错误分析:此错误发生的原因是编译器在寻找预编译指示头文件(默认#include "stdafx.h")时,文件未预期结束。没有找到预编译指示信息的头文件"stdafx.h"。(因为工程中的每个cpp文件属性默认都是使用预编译头(/YU)的,但是添加的第三方文件并没有 #include "stdafx.h" 预编译指示头,所以编译器在此cpp文件中一直到末尾都没有找到它) 阅读全文
posted @ 2013-11-14 09:00 阿窟窿 阅读(565) 评论(0) 推荐(0)
摘要: BasicsANSI和Unicode:前者是单字节字符编码,用来表示英语以及一些西欧语言的所有字符;后者是双字节字符编码,可以表示现代计算机涉及的所有字符(包括中文、日文等)。显然,使用Unicode更有利于国际化和本地化。除此之外,Windows所有核心函数也都需要Unicode字符串。在调用这些函数时,如果传入ANSI字符串,那么这些函数会将其转换成Unicode再执行;反之,如果函数返回ANSI字符串,那么操作系统也是先将其从Unicode字符串转换为ANSI字符串再返回。这样的话,会增加开销,而且埋下一些目前已知的转换函数中存在的bug。使用Unicode:ANSI字符是由char类型 阅读全文
posted @ 2013-11-13 09:27 阿窟窿 阅读(464) 评论(0) 推荐(0)
摘要: 1.概论1.什么是静态连接库,什么是动态链接库 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了。但是若使用 DLL,该 DLL 不必被包含在最终 EXE 文件中,EXE 文件执行时可以“动态”地引用和卸载这个与 EXE 独立的 DLL 文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库。静态链接库与静态链接库调用规则总体比较如下。对于静态链接库(比较简单):首先,静态链接库的使用需要库的开发者提供生成库的 阅读全文
posted @ 2013-11-12 13:46 阿窟窿 阅读(299) 评论(0) 推荐(0)
摘要: CString 成员函数用法大全CString( );例:CString csStr;CString( const CString& stringSrc );例:CString csStr("ABCDEF中文123456");CString csStr2(csStr);CString( TCHAR ch, int nRepeat = 1 );例:CString csStr('a',5);//csStr="aaaaa"CString( LPCTSTR lpch, int nLength );例:CString csStr(" 阅读全文
posted @ 2013-11-11 16:50 阿窟窿 阅读(276) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 16 下一页