windows 程序设计
DyLan985
想在IT方面做点事,希望志同道合的朋友多多交流和指点
展开
-
图像处理过程中图像不能加载的其中一个原因解答
我做了一个图像处理程序,编译是正确的,但是加载不进去BMP格式的图片,找了好久的原因,终于被我找到了:需要在void CImageProcessingDoc::Serialize(CArchive& ar){ if (ar.IsStoring()) {原创 2011-08-24 20:44:59 · 1386 阅读 · 0 评论 -
多窗口文档初始化只显示主界面不打开任何视图
在App类的InitInstance()函数里面找到CCommandLineInfo cmdInfo;ParseCommandLine(cmdInfo);然后加上下面一句代码就可以了cmdInfo.m_nShellCommand=CCommandLineInfo::FileNothing;原创 2011-12-07 09:36:03 · 1067 阅读 · 0 评论 -
VC 6.0中给主窗体加入背景图片
Visual C++提供的应用程序框架虽然可以自动生成多文档(MDI)的应用程序,但是程序的界面比较单调,如果能够在主框架中添加上彩色位图,一定能够大大改观程序的界面效果。目前也有些编程资料涉及到如何在MDI应用程序的主框架中添加彩色位图,但具体实践过程中都有一些小问题,为此,本实例介绍了一种比较简单可行的方法,可以在程序中圆满地实现这种功能,程序运行后的界面效果如图一所示:一、实现方原创 2011-12-07 14:51:19 · 14001 阅读 · 0 评论 -
vc在状态栏显示时间
c/c++ vc 在mfc状态栏显示时间在VC的控件中有个Status bar可以在窗体状态栏中添加日期和时间。其实通过简单的代码,你就能创建一个有时钟显示的状态栏,并且还能设置时钟栏的显示方式。举例如下:首先,用MFC AppWizard按默认方式创建一个多文档界面的应用程序框架。然后,编写代码:1)在String Table中添加New String,在此定义为ID_I转载 2011-12-07 17:50:41 · 3720 阅读 · 0 评论 -
VC类中DECLARE_MESSAGE_MAP()有什么含义
DECLARE_MESSAGE_MAP()宏的作用是向类中添加消息映射必要的结构体和函数声明,只需要添加一次,放在什么位置并不重要,就如同类里其他普通函数的声明可以相互交换顺序一样。函数的修饰符也是可以自己决定的,遵循一般原则。比如你需要在类外部也可以调用该消息响应函数,就可以定义成public的。原创 2011-12-07 07:34:05 · 6014 阅读 · 0 评论 -
多文档视图中在状态栏中显示鼠标当前位置
1.在字符编辑器里添加X=800,ID为ID_LEFT;Y=900,ID为ID_RIGHT;鼠标所在位置坐标,ID为ID_SHOW 2.在mainfrm.cpp中修改创建的窗格 static UINT indicators[] = { ID_SEPARATOR, ID_SHOW, ID_LEFT, //在mainfr原创 2011-12-08 10:06:21 · 2100 阅读 · 0 评论 -
把一个vc编写的exe文件的界面外观修改
创建或打开工程Icon(以下都以工程名为Icon为例)。 单击Workspace窗口的ResourceView标签,选中资源ID为IDR_MAINFRAME图标资源,然后按Delete键把它删除掉。注意:一定要把它删除才行。 从Developer Studio的Insert菜单中选择Resource,然后选择Icon,新建(New)一个新的图标或导入(Im原创 2011-12-08 16:32:36 · 3028 阅读 · 0 评论 -
关于OnDoRealize(WPARAM wParam,LPARAM lParam)函数的解读
在View中有这样一个函数:afx_msg LRESULT OnDoRealize(WPARAM wParam, LPARAM lParam);// user messag该函数的声明是发灰的,函数功能:实现系统调色板,是视类中处理自定义消息WM_DOREALIZE(该消息在主框架窗口定义如下:#define WM_REALIZEPAL (WM_USER+100))在调用API函数转载 2011-12-08 21:14:07 · 1365 阅读 · 0 评论 -
GlobalAlloc、GlobalLock和GlobalUnLock详解
调用GlobalAlloc函数分配一块内存,该函数会返回分配的内存句柄。 GlobalAlloc申请的内存分两种,一种是GMEM_FIXED,另一种是GMEM_MOVEABLE。两者的差别只要在于GMEM_MOVEABLE类型的内存操作系统是可以移动的,比如堆中有好几块小内存,当再申请一大块内存时,操作系统会移动GMEM_MOVEABLE类型的内存来合并出一大块。正因为GMEM_MOVEABLE原创 2011-12-08 21:28:26 · 9657 阅读 · 0 评论 -
BMP位图格式详解
位图格式 BMP是bitmap的缩写形式,bitmap顾名思义,就是位图也即Windows位图。它一般由4部分组成:文件头信息块、图像描述信息块、颜色表(在真彩色模式无颜色表)和图像数据区组成。在系统中以BMP为扩展名保存。 打开Windows的画图程序,在保存图像时,可以看到三个选项:2色位图(黑白)、16色位图、256色位图和24位位图。 现在讲解BMP的4个组成部分:1.文件头转载 2011-12-08 21:40:28 · 1501 阅读 · 0 评论 -
SDK,API和DLL的概念
SDK,Software Development Kit 的缩写,中文即“软件开发工具包”。广义上指辅助开发某一类软件的相关文档、范例和工具的集合。 SDK是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,一般而言SDK即开发 Windows 平台下的应用程序所使用的SDK。它可以简单的为某个程序设计语言提供应用程序接口API 的一些转载 2011-12-09 10:11:45 · 1105 阅读 · 1 评论 -
关于 fatal error C1001: INTERNAL COMPILER ERROR
1、运算符重载时遇到以上错误代码解决方法:将#include 改成 #include然后去掉 using namespace std;编译即可通过!或者你要前向声明类,然后声明友元函数(注意不要加friend),也可以顺利通过编译!或者你打上vc6.0的sp6补丁就可以了!2、如果你在用 VC6 编一个规模较大的工程,如果你在用 VC6 编译一个用到了模板的工程原创 2011-12-12 16:40:03 · 5650 阅读 · 1 评论 -
VC数字图像处理编程讲座之二
数字图像处理技术与理论是计算机应用的一个重要领域,许多工程应用都涉及到图像处理,一直有一个强烈的愿望,想系统的写一个关于数字图像处理的讲座,由于工作学习很忙,时至今日才得以实现。 "图"是物体透射光或反射光的分布,"像"是人的视觉系统对图的接收在大脑中形成的印象或认识。图像是两者的结合。人类获取外界信息是靠听觉、视觉、触觉、嗅觉、味觉等,但绝大部分(约80%左右)来自视觉所接收的图像转载 2011-12-05 20:55:23 · 1212 阅读 · 0 评论 -
vc中任何将Jpg格式的文件转换成为bmp文件?
下面的函数可以实现将Jpg格式的文件转换成为bmp文件BOOL CPicture::Render(CDC* pDC, CRect rc, LPCRECT prcMFBounds) const{ ASSERT(pDC); if (rc.IsRectNull()) { CSize sz = GetImageSize(pDC); //获取图像的尺寸 rc.right原创 2011-12-02 16:10:36 · 1025 阅读 · 0 评论 -
"A duplicate insert block exists for class......"的解决办法
新建一个MFC对话框时,添加一个构造函数:再打开ClassWizard时,将会提示这个:A duplicate insert block exists for class......"删除 //{{AFX_MSG_MAP(CImageProcessingView)原创 2011-08-26 07:24:59 · 2979 阅读 · 0 评论 -
什么是bmp格式图片
BMP是一种与硬件设备无关的图像文件格式,也是我们最常在PC机上的Windows系统下见到的标准位图格式,使用范围很广泛。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。它最大的好处就是能被大多数软件“接受”,可称为通用格式。 B原创 2011-08-25 22:39:48 · 1747 阅读 · 0 评论 -
图像处理——灰度直方图的建立中遇到的几个问题解析
一 GlobalLock 函数的功能:MSDN定义:The GlobalLock function locks a global memory object and returns a pointer to the first byte of the object's m原创 2011-08-26 10:53:11 · 980 阅读 · 0 评论 -
SetScrollSizes( nMapMode, GetDocument( )->GetMyDocSize( ) )中的MSDN解释
void SetScrollSizes( int nMapMode, SIZEsizeTotal, const SIZE& sizePage = sizeDefault, const SIZE&sizeLine = sizeDefault );Parameters原创 2011-08-29 07:40:01 · 1728 阅读 · 0 评论 -
SetModifiedFlag( BOOL bModified = TRUE )的MSDN解析
void SetModifiedFlag( BOOL bModified = TRUE );ParametersbModifiedFlag indicating whether the document has been modified. RemarksCa原创 2011-08-29 08:33:31 · 1620 阅读 · 0 评论 -
虚函数
定义 定义 定义虚函数的限制: (1)非类的成员函数不能定义为虚函数,类的成员函数中静态成员函数和构造函数也不能定义为虚函数,但可以将析构函数定义为虚函数。实际上,优秀的程序员常常把基类的析构函数定义为虚函数。因为,将基类的析构函数定义为虚函数后,当利用delete删除一个指向派生类定义的对象指针时,系统会调用相应的类的析构函数。转载 2011-11-30 12:14:30 · 1211 阅读 · 0 评论 -
MFC消息机制简析
山高月小,水落石出。学VC是一段痛苦的经历。因为是自学,而且除了一点浅薄的C和C++基础,别无所有,开始的时候真是举步维艰。现在回想起来,走了很多的弯路,主要是开始时学习方法不对,不应该一开始就学习具体的技巧,而是应该先从大的框架上掌握MFC,获得大局观,这样才能更好地理解MFC的Framework概念。MFC是Windows下程序设计的最流行的一个类库,但是该类库比较庞杂,尤其是它的消息转载 2011-11-30 15:30:54 · 2342 阅读 · 0 评论 -
在MFC程序中显示JPG/GIF图像
myimgapp.zip - 298.98 KB如果你是一个使用VB编程的程序员,要在程序中显示JPG或者GIF 图像简直易如反掌,将图像控件拖到Form中,分分钟即可搞掂。但是C++程序员要显 示同样的图形却没有那么轻松,那么是不是要自己编写JPG解压缩代码呢?当然不用那么复杂啦!本文将针对这个问题讨论如何在MFC中显示JPG或者GIF 图像。 用VB写图像显示程序之转载 2011-11-30 10:43:38 · 1156 阅读 · 0 评论 -
在资源文件添加代码的详细方法和步骤
一 把要添加的目录:G:\图像处理\图像处理项目\MyImage\res中,例如把ab.jpg格式的照片加载到里面二 在G:\图像处理\图像处理项目\MyImage中找到三 用文本文档打开该.rc资源文件四 把IDR_MAINFRAME IMAGE DISCARDABLE "res\\ab.jpg"复制到里面保存即可。其他资源文件的复制类似格式就行了原创 2011-11-30 22:40:48 · 1827 阅读 · 0 评论 -
CClientDC 和 CDC 的区别
和 CDC 的区别" alt="CClientDC 和 CDC 的区别" src="http://s12.sinaimg.cn/bmiddle/48e1229747a5af4612f7b&690">HDC是Windows的一种数据类型,是设备描述句柄;CDC是MFC封装的Windows 设备相关的一个类;CClientDC是CDC的衍生类,产生对应于Windows客户区的对原创 2011-12-03 08:05:33 · 7800 阅读 · 2 评论 -
一个ON_COMMAND_RANGE( id1, id2, memberFxn ) 函数引起的困惑
最近编写一个图像处理软件,引用前人的一些源码后,出现了添加的菜单变灰无法使用的情况,我反复的追踪源码,找了好久才终于找到一个和菜单关系很大的函数ON_COMMAND_RANGE( id1, id2, memberFxn ) ,MSDN上是这样对这个函数解析的ON_COMMAND_RANGE( id1, id2,memberFxn )Parametersid1Command ID原创 2011-12-02 10:38:25 · 1850 阅读 · 0 评论 -
在对话框上加载图标或者位图
加载图标 CPaintDC dc(this); // device context for painting HICON hIcon=AfxGetApp()->LoadIcon(IDI_ICON1); if (hIcon && hIcon!=(HICON)-1) dc.DrawIcon(10,10,hIcon);加载位图 CPaintDC dc(this);/原创 2011-12-12 10:37:22 · 903 阅读 · 0 评论