
Visual Studio
danylin
这个作者很懒,什么都没留下…
展开
-
error LNK2019: 无法解析的外部符号 __imp__PlaySoundA@12,该符号在函数 .... 中被引用....
VS中出现:error LNK2019: 无法解析的外部符号 __imp__PlaySoundA@12,该符号在函数 .... 中被引用....的编译错误是,一般是是因为PlaySound函数在Winmm.lib库中,所有需要需要链接库,以下方法可解决:1、头文件中声明:#pragma comment(lib, "winmm")2、菜单Project --> Settings...-->L原创 2014-11-21 11:37:41 · 3006 阅读 · 0 评论 -
MFC中的GDI绘图(1)
一.关于GDI的基本概念什么是GDI Windows绘图的实质就是利用Windows提供的图形设备接口GDI(Graphics Device Interface)将图形绘制在显示器上。 在Windows操作系统中,动态链接库C:\WINDOWS\system32\gdi32.dll(GDI Client DLL)中定义了GDI函数,实现与设备无关的包括屏原创 2014-11-27 16:14:23 · 1309 阅读 · 0 评论 -
MFC中的GDI绘图(3)
2、设置坐标映射 (1)Windows坐标系统Windows坐标系分为逻辑坐标系和设备坐标系两种,GDI支持这两种坐标系。一般而言,GDI的文本和图形输出函数使用逻辑坐标,而在客户区移动或按下鼠标的鼠标位置是采用设备坐标。逻辑坐标系是面向DC的坐标系,这种坐标不考虑具体的设备类型,在绘图时,Windows会根据当前设置的映射模式将逻辑坐标转换为设备坐标。设备坐标系是面向物理原创 2014-11-27 16:18:48 · 1081 阅读 · 0 评论 -
MFC中的GDI绘图(5)
坐标映射实例(1)建立单文档MFC项目Draw:New—>Projects—>MFC AppWizard(EXE)—>Single Document。(2)找到CMainFrame::PreCreateWindow函数,在其中设置默认窗口大小为400 pixel*300 pixel。BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)原创 2014-11-27 16:22:03 · 1346 阅读 · 0 评论 -
MFC中的GDI绘图(4)
3、创建绘图工具并选入DC 有了画布,要绘图我们必须有画笔画刷。在Windows中有HPEN、HBRUSH等GDI对象,MFC对GDI对象进行了很好的封装,提供了封装GDI对象的类,如CPen、CBrush、CFont、CBitmap和CPalette等,这些类都是GDI对象类CGdiObject的派生类。 一般先创建画笔(刷),然后调用CDC::SelectObject函数将画笔原创 2014-11-27 16:19:52 · 1651 阅读 · 0 评论 -
VC鼠标键盘消息
VC中键盘事件处理主要是通过对相应的消息的响应,这些事件有如:WM_CHAR、WM_KEYDOWN、WM_KEYUP等他们分别对应OnChar、OnKeyDown、OnKeyUp消息处理函数;当然在有些时候我们也可能需要用到对PreTranslateMessage函数的重载。从这些事件的名称我们可以看出WM_CHAR表示字符事件,WM_KEYDOWN表示键盘的键被按下时事件,而WM_KEY原创 2014-02-25 10:59:20 · 1394 阅读 · 0 评论 -
GetSafeHwnd()和GetSafeHandle()的主要区别
GetSafeHwnd()和GetSafeHandle()的主要区别:1.使用者不同:(1)窗体使用:GetSafeHwnd()用于获取窗体的安全句柄(即HWND),有了HWND我们就可以方便的对HWND指向的窗体进行所需的操作了;(2)GDI对象使用:GetSafeHandle(),用于获取GDI对象的句柄。注意:在使用指针时强烈建议这原创 2014-02-25 11:30:49 · 1147 阅读 · 0 评论 -
VC++中对话框资源操作
法1:在你的工程中添加另一个工程的rc文件,这时资源视图中就会出现两个rc,从后加的rc中拷贝资源到你自己工程的rc中就可以了。 法2:vc中如何拷贝一个工程的对话框 资源到另一个工程中?这是一个很专业也很有用的问题。其实VC的设计者早就为我们考虑了这个问题。在VC6环境下,选择Class视图,选中想要克隆的对话框所对应的类,例如CAboutDlg,点击鼠标原创 2014-03-03 15:58:02 · 1717 阅读 · 0 评论 -
VS2010错误: LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
连接器LNK是通过调用cvtres.exe完成文件向coff格式的转换的,所以出现这种错误的原因就是cvtres.exe出现了问题。在电脑里面搜索一下cvtres.exe,发现存在多个文件,使用最新的cvtres.exe替换老的文件即可,替换之前记得备份一下,如果不对,可以替换回来。例如:我的电脑里面安装了vs2010,出现该问题时,在电脑里面搜索发现C:\Program Files\Mi原创 2014-03-24 11:24:26 · 2354 阅读 · 2 评论 -
vs2010错误:error MSB8008: 指定的平台工具集(v110)未安装或无效
平台工具集(v110)是vs2012下用的,你是用vs2010打开工程,它默认是用v100,所以这个工程可能用vs2012打开并更新过。 解决方法:右键点击你的项目,选择属性,再点击配置属性中的常规,常规中有个平台工作集,把V110改成V100,点击应用即可。原创 2014-03-24 11:27:11 · 3229 阅读 · 1 评论 -
解决非Unicode编码的软件多语言版本在日语、韩语环境下的乱码问题
在第一次为公司的客户端软件定制日语版本的时候,由于软件开发是非Unicode版本的,发现当加载日语后,无论是在中文操作系统还是在日语操作系统下,软件界面上的大部分日语显示的都是乱码。在上网查看了相关的知识文档和案例,结合目前我们软件的开发环境和具体的代码实现,找到了两种解决办法。 第一种: 就是将整个软件工程变为Unicode编码格式。虽然这种方法能从根本上实现软转载 2014-04-21 11:27:15 · 7042 阅读 · 0 评论 -
CString与LPCWSTR/LPSTR/LPWSTR/char*等类型的转换
一.CString与LPCWSTR 两者的不同:LPCWSTR 是Unicode字符串指针,初始化时串有多大,申请空间就有多大,以后存贮若超过则出现无法预料的结果,这是它与CString的不同之处。而CString是一个串类,内存空间类会自动管理。 CString转换成LPCWSTR 方法一:CString strFileName;原创 2014-04-23 17:06:53 · 1129 阅读 · 0 评论 -
使用CreateFile()打开COM10及以上串行口
程序调试时发现,使用CreateFile()打开COM4时正常,打开COM10时却总是失败。这两个端口均为虚拟COM口,通过蓝牙仿真串口完成数据收发,除了命名不同外,本质上并无任何不同。而MSDN上对使用CreateFile()打开设备函数却失败返回并无详细解释,百思不得其解。上网百度一下找到了相关资料,原来是:Win32 API函数CreateFile()除了可打开普通文件外原创 2014-08-21 16:50:36 · 1213 阅读 · 0 评论 -
在vc2008中用_crtBreakAlloc调试内存泄漏
这两天调一个程序,发现每次退出都有内存泄漏,在此总结一个调试内存泄漏的好方法。 对于比较明显的内存泄漏,vc2008是比较容易定位的,在Debug模式F5运行,退出时会列出引起内存泄漏的问题代码所在文件及行号;但如果是比较隐蔽的内存泄漏,Output输出窗口只会输出部分信息,形式如下: Detected memory leaks! Dumping objects -> {8转载 2014-10-08 16:44:53 · 539 阅读 · 0 评论 -
MFC中的GDI绘图(2)
二.MFC中GDI绘图 GDI绘图包括以下步骤:获取设备环境,设置坐标映射,创建绘图工具,调用DC绘图函数绘图。1、获取设备环境(1)在SDK编程中,获取设备环境的方法有两种:通过API函数BeginPaint。应用程序响应WM_PAINT消息进行图形刷新时主要通过BeginPaint函数获取设备环境,在消息处理函数返回前调用API函数EndPaint释放设备环境。函数原原创 2014-11-27 16:15:11 · 1236 阅读 · 0 评论