![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
VC/MFC
stonesl
热爱技术的技术管理者,从事多年移动手机软件开发,从Symbian到Anddroid,见证了智能手机的发展历程。
展开
-
CTree Ctrl控件右键选中某一项,并弹出菜单的一段代码!
CPoint point(::GetMessagePos()); m_tree.ScreenToClient(&point); UINT Flags; HTREEITEM hItem = m_tree.HitTest(point, &Flags); CString strtext=m_tree.GetItemText(hItem); m_tree.Se原创 2007-07-05 16:50:00 · 904 阅读 · 0 评论 -
基于MFC的截屏和以位图保存之的自编函数
基于MFC的截屏和以位图保存之的自编函数 全攻略Vc6中,把如下两个文件拷贝到你的工程中,然后在用到截屏的文件中,先#include "takescreen.h",再直接用如下三个函数即可。附:头文件:takescreen.h---------------------------------------------------------------------------------------转载 2008-05-12 14:29:00 · 1196 阅读 · 0 评论 -
用GDI+显示GIF动画的一个类
源码#pragma once#include #pragma comment(lib,"gdiplus.lib")using namespace Gdiplus;class GIFImage:public Image{public: GIFImage(LPCTSTR sResourceType,LPCTSTR sResource); GIFImage(const WCHAR *file转载 2007-11-06 11:45:00 · 3299 阅读 · 2 评论 -
VC6.0使用GDI+的方法及初始化工作
GDI+是Windows XP中的一个子系统,它主要负责在显示屏幕和打印设备输出有关信息,它是一组通过C++类实现的应用程序编程接口。顾名思义,GDI+是以前版本GDI的继承者,出于兼容性考虑,Windows XP仍然支持以前版本的GDI,但是在开发新应用程序的时候,开发人员为了满足图形输出需要应该使用GDI+,因为GDI+对以前的Windows版本中GDI进行了优化,并添加了许多新的功能。转载 2007-11-06 11:38:00 · 735 阅读 · 0 评论 -
使用GDI+缩放图片文件
总结一下个人所知道的使用GDI+缩放图片的方法. 方法一:最简单的,使用GetThumbnailImage,这个方法的局限性对支持内嵌缩略图的图片文件无效. 因为MSDN中提到:如果图片文件有内嵌的缩略图,那么就提取这个缩略图返回,否则就缩放原图片,不过我想对位图还是安全的:Bitmap * image = new Bitmap(L"MagicLinux.bmp");Image*转载 2007-11-06 10:24:00 · 1724 阅读 · 2 评论 -
GDI+编程中的一条错误信息及其原因分析
公司不让用盗版,遂准备逐一将各软件要么换成开源的,要么就自己写,看了看,就数Acdsee最简单了(有些高级功能根本用不着),行,从这个入手吧。需求分析:基本的图片查看功能,图片格式转换功能,基本的图形变换功能。技术可行性分析:MS提供的GDI+已经提供了比较专业的图形显示、格式转换功能,而且简单易用。....OK,就绪,开始干吧。但是在程序编写的过程中,有条错误信息让我很不解。程序中有原创 2007-11-06 10:22:00 · 791 阅读 · 0 评论 -
GDI+显示GIF动画
多页图像是指图像中包含有多个图形页。每页可以看作图像帧。这些图像帧通过连续的显示就形成了一副动画。比如GIF文件。 GDI+的Image对象提供了直接的对GIF、TIF文件格式的支持。调用Image对象的成员函数GetFrameDimensionsCount可以得到Image对象的Dimension数。每个Dimension通过一个GUID标示。函数GetFrameDimension转载 2007-11-06 11:42:00 · 1195 阅读 · 0 评论 -
让对话框对UPDATE_COMMAND_UI生效
问题:一般情况下我们用UPDATE_COMMAND_UI来修改菜单的状态(enable/disable, check/uncheck, change text),但这个方法在一个基于对话框上的菜单却没有效果。void CTestDlg::OnUpdateFileExit(CCmdUI* pCmdUI) { pCmdUI->Enable(FALSE); pCmdUI->Set转载 2007-06-13 10:09:00 · 579 阅读 · 0 评论 -
在线程函数中使用UpdateData(FALSE)刷新界面
当创建窗口的线程和UpdateData调用所在的线程不是同一线程的时候MFC就会出错。因为MFC把部分信息储存在线程的TLS中,这些信息对于MFC的执行非常重要,因此MFC会在很多代码里面检查线程状态是否正确。所以这里不能用UpdateData。 解决方法:可以向主线程发送自定义消息,然后在这个自定义消息中调用UpdateData。或者使用其他方法来手动的修改数据,比如调用SetWindowT原创 2007-07-09 15:00:00 · 1587 阅读 · 0 评论 -
如何使用 SqlConfigDataSource 创建 ODBC 数据源
创建ODBC数据源可以调用Windows系统子目录下的动态链接库Odbcint.dll中的函数SQLConfigDataSource()该函数可以动态地增加、修改和删除数据源。SQLConfigDataSource()函数SQLConfigDataSource()的原型如下:BOOL SQLConfigDataSource(HWND hwndParent, UINTfRequest,LPCSTR转载 2007-07-03 17:35:00 · 1883 阅读 · 1 评论 -
多网卡机器列出所有的IP地址
一个访问FTP服务器的程序因为在双网卡的机器上,还是发送PORT命令错误,特查了一下是默认使用了另外一个受限的IP地址的原因,修改了一下,把其中一段列出所有IP的代码记录一下,以免以后使用时忘记。char *ip; PHOSTENT hostinfo; if( gethostname ( name, sizeof(name)) == 0) if((hostinfo =原创 2008-05-29 15:31:00 · 804 阅读 · 0 评论