文章分类 -  VC/MFC转载

上一页 1 2 3 4 5 6 7 ··· 9 下一页
VC中使用内联汇编(转载)
摘要:1.使用C中的局部变量和全局变量。?[Copy to clipboard]View Code CPP 12345678910 int a = 5,b=6,c; __asm { xor edx,edx ;edx=0 add edx,a ;edx +=a add edx,b ;edx +=b add edx,g_nC;使用全局变量 mov c,edx ;c=edx } printf("UseParameter : %d\n",c);2.调用C中函数,stdcall方式和cdecl方式,pascal方式在控制台下没整出来,Delphi也不会就算了,和stdcall差不多,就是入栈 阅读全文
posted @ 2012-02-15 11:20 carekee 阅读(541) 评论(0) 推荐(0) 编辑
MFC大复习转载(stdafx.h, release与debug的区别, dll导出)
摘要:stdafx.h的作用Standard Application Fram Extend没有函数库,只是定义了一些环境参数,使得编译出来的程序能在32位的操作系统环境下运行。Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间来完成工作。由于每个.CPP文件都包含相同的include文件,为每个.CPP文件都重复处理这些文件就显得很傻了。为避免这种浪费,AppWizard和VisualC++编译程序一起进行工作,如下所示:◎AppWizard建立了文件stdafx.h,该文件包含了所有当前工程文件需要的MFC include文件。且这一文件可 阅读全文
posted @ 2012-02-09 15:47 carekee 阅读(1030) 评论(0) 推荐(0) 编辑
为你的程序换个皮肤(转载)
摘要:下载源代码(C)CopyRight, 2003-2004, IRS, All Rights Reserved 目前这方面的小软件很多,我一直就想做这么一个东东,但是一直苦于时间有限,一直都没有做。最近一段时间,我发现这些方面的东西越来越多,而且都没有源代码,一些家伙在网站上给出这样那样的示例,其实都是在为自己的产品做广告,实在有违开源的思想。 最近终于有了一段假期,反正没什么事做就来试试,经过一段时间的学习和摸索,终于实现了一段简单的程序。现在我就给出一个简单的例子和解释,让大家明白这是一个怎么回事,教你如何利用这个技术给一个按钮换肤? 以前我们一直利用重载一个类的办法来实现丰富多彩的个性化控 阅读全文
posted @ 2012-02-08 15:09 carekee 阅读(477) 评论(0) 推荐(0) 编辑
VC DLL总结
摘要:一、DLL的导出方法1、使用_declspec(dllexport) 方法 DLL里全是C++的类的话,你无法在DEF里指定导出的函数,只能用__declspec(dllexport)导出类。extern "C" _declspec(dllexport) int sum(int a,int b);//本文所有的例子只有一个sum即加法函数。 在制作DLL导出函数时由于C++存在函数重载,因此__declspec(dllexport) function(int,int) 在DLL会被decorate,例如被decorate成为 function_int_int,而且不同的编译 阅读全文
posted @ 2012-02-01 15:04 carekee 阅读(696) 评论(0) 推荐(0) 编辑
MFC遍历窗体所有的控件
摘要:HWND pWnd = FindWindow(NULL,"另存为"); //获得窗口的句柄void saveopen(HWND pWnd){HWND m_hWnd=pWnd;HWND hWndChild =::GetWindow(m_hWnd,GW_CHILD); TCHAR BUF[512];CString filename;CWnd *pedit;while(hWndChild) { char *buf=new char[512];::GetClassName(hWndChild,buf,512);//得到枚举的控件是什么类型的,CString str=buf; str 阅读全文
posted @ 2012-02-01 15:03 carekee 阅读(2080) 评论(0) 推荐(0) 编辑
用HOOK禁用鼠标与键盘点击
摘要://////////////////////////////////////////////////////////////////////////////////////////首先定义HWND g_hWnd; //定义一个窗口的句柄HHOOK g_hMouse; //鼠标的钩子过程HHOOK g_hKeyBoard; //键盘的钩子过程//////////////////////////////////////////////////////////////////////////////////////////鼠标钩子过程的回调函数HRESULT CALLBACK MouseProc(i 阅读全文
posted @ 2012-01-18 17:06 carekee 阅读(1877) 评论(0) 推荐(1) 编辑
在VC中调用 WebService
摘要:下载源代码 一、什么是 WebService ?WebService 其实就是一个基于网络的应用程序,它向外部程序提供一定的调用接口。外部(远程)的程序,可以经由Web对其进行调用。 二、 WebService 的特性:1.由于 WebService 经由web服务器发布,所以比DCOM而言,可以顺利穿过防火墙。这也是 WebService 的优点之一,可以说, WebService ,为分布 式应用的开发,提供了一个很好的平台。2.对 WebService 的调用,是通过SOAP协议进行的。简单对象访问协议(SOAP)提供了标准的远程过程调用(RPC)方法来调用Web service。 而S 阅读全文
posted @ 2012-01-17 18:50 carekee 阅读(597) 评论(0) 推荐(0) 编辑
VC(MFC、ATL)中 得到2个SYSTEMTIME时间差
摘要:第一种方法:CTime 和CTimeSpan ,例如: // example for CTime::operator +, - CTime t1( 1999, 3, 19, 22, 15, 0 ); // 10:15PM March 19, 1999 CTime t2( 1999, 3, 20, 22, 15, 0 ); // 10:15PM March 20, 1999 CTimeSpan ts = t2 - t1; // Subtract 2 CTimes ASSERT( ts.GetTotalSeconds() == 86400L ); ASSERT( ( t1 + ts ) == t2 阅读全文
posted @ 2012-01-06 09:49 carekee 阅读(4281) 评论(0) 推荐(0) 编辑
CTabCtrl用法
摘要:一、在对话框视图中加入CTabCtrl控件,资源ID:IDC_TAB,变量名:m_Tab 二、在OnInitDialog()中加入以下代码: m_Tab.InsertItem(0,"窗口1"); m_Tab.InsertItem(1,"窗口2"); // 创建子窗口实例(事先创建好),将父窗口设为m_Tab // CChileDlg1 m_dlgChile1; // CChileDlg2 m_dlgChile2; m_dlgChile1.Create(IDD_DIALOG_CHILD1,GetDlgItem(IDC_TAB)); m_dlgChile2. 阅读全文
posted @ 2011-12-01 14:24 carekee 阅读(985) 评论(0) 推荐(0) 编辑
VC++获取网卡MAC、硬盘序列号、CPU ID、BIOS编号
摘要:以下代码可以取得系统特征码(网卡MAC、硬盘序列号、CPU ID、BIOS编号) BYTE szSystemInfo[4096]; // 在程序执行完毕后,此处存储取得的系统特征码 UINT uSystemInfoLen = 0; // 在程序执行完毕后,此处存储取得的系统特征码的长度 // 网卡 MAC 地址,注意: MAC 地址是可以在注册表中修改的 { UINT uErrorCode=0; IP_ADAPTER_INFO iai; ULONG uSize = 0; DWORD dwResult = GetAdaptersInfo( &iai, &uSize ); if( 阅读全文
posted @ 2011-11-15 19:23 carekee 阅读(1229) 评论(0) 推荐(0) 编辑
VC6.0快捷键大全---转
摘要:F1 显示帮助,如果光标停在代码的某个字符上,显示MSDN中相应的帮助内容F2 书签功能: Ctrl+F2 --在某行设置一个书签(再按一次次是取消)F2 --跳到下一个书签位置Shift+F2 --跳到上一个书签位置Ctrl+Shift+F2 --删除所有书签F3 查找: Ctrl+F3 --在文件中查找,如果当前光标在一个字符串上,那么自动查找此字符串.相似的有Ctrl+FF3 --查找文件中下一个串Shift+F3 --查找文件中上一个串F4(不是流行花园那个) 如果是编译后或者Find in Files后,可以逐条定位.Ctrl+F4 --关闭文件Alt+F4 --关闭VC(跟WIND 阅读全文
posted @ 2011-09-29 17:37 carekee 阅读(2289) 评论(0) 推荐(0) 编辑
MFC Button控件的背景色
摘要:一个继承于CButton的按钮控件类,实现Button背景色与文字的共存与改变,可以自行设计背景色。 头文件:CMyButton.h 如下:#pragma once#include "afxwin.h"class CMyButton : public CButton{//DECLARE_DYNAMIC(CMyButton)public:CMyButton();virtual ~CMyButton();//设置Button Down的背景颜色 void SetDownColor(COLORREF color); //设置Button Up的背景颜色void SetUpColo 阅读全文
posted @ 2011-09-02 11:19 carekee 阅读(4784) 评论(0) 推荐(0) 编辑
CStatic控件的基本使用
摘要:CStatic 继承于 CWnd,是一种特殊的窗体。他可以显示文本字符串(这也是最常用的用法)、图标、指针(cursor)、位图和增强图文元件. 通常静态控件不提供输入和输出。但是如果把他的属性设置为 SS_NOTIFY,他可以通知其父窗口的击鼠标事件。 一。CStatic 用于显示文本 如果文本不变,可以直接设置其 Caption。如果想在运行过程中改变其显示文本,可以用如下方式:CStatic *pStatic=(CStatic*)GetDlgItem(IDC_STATIC);pStatic->SetWindowText("Just a Test of Static Con 阅读全文
posted @ 2011-06-02 18:03 carekee 阅读(589) 评论(0) 推荐(0) 编辑
[VC控件]子类化控件
摘要:作为一个程序员,我们经常会在程序中用到Windows通用控件。比如按钮控件,进度条控件等等。但是有时我们需要给控件更多的特色,这就需要做控件的子类化(subclassing).子类化一个Windows控件与子类化一个C++类不同,子类化一个控件要求你把一个窗口的一些或所有的消息映射都替换成自己的函数来响应,这 样你就有效的阻止了控件去做系统默认的行为,而按自己的想法去做。子类化有两种类型: 实例子类化(instance subclassing)和全局子类化(global subclassing)。实例子类化是子类化一个窗口中的单一实例,全局子类化是把整个窗口子类化为一个特殊的类型。这里我们仅讨 阅读全文
posted @ 2011-05-26 13:35 carekee 阅读(2010) 评论(0) 推荐(1) 编辑
VC滑动条(滑块)控件颜色变化
摘要:VC在MFC下使用滑动条控件来控制颜色的显示。源实例下载1。新建一个基于对话框的工程.在对话框上添加三个滑动条控件,分别对应:红,绿,蓝。分别设置其ID,IDC_SLIDER_COLOR,IDC_SLIDER_COLOR2,IDC_SLIDER_COLOR3;另外添加三个对应的CSliderCtrl型变量,m_Slider,m_Sliderb,m_Sliderg;再添加三个编辑框控件,分别对应红,绿,蓝,用于显示颜色值。分别添加三个int型变量为m_red,m_blue,m_green.再添加两个按钮控件,一个用于显示颜色,属性设置“所有者绘制”;另一个按钮IDC_BUTTON_APPLY用于 阅读全文
posted @ 2011-05-26 13:34 carekee 阅读(4907) 评论(0) 推荐(1) 编辑
窗口封装类与Windows窗口实例的关系-2、亲自动手创建窗口封装类
摘要:为了更通俗地阐释CWnd类的封装机制,下面自己动手,模拟CWnd编写一个简单的窗口封装类,名为CBaseWnd,并使用这个类重新实现示例6.1的功能。6.2.1 实例代码示例6.2是实现代码,其中定义了3个类,说明如下:q CBaseWnd相当于CWnd的窗口基类,封装了窗口创建与销毁、窗口状态和风格操作、窗口消息处理等功能,其中的消息处理函数定义为虚拟函数。q CMainWnd类派生于CBaseWnd,用于创建应用程序主窗口,其中重载了几个消息处理虚函数,实现特定的消息处理。q CMapHWD类被CBaseWnd类合成,用于管理窗口句柄与窗口封装类的映射关系。CBaseWnd实例与Windo 阅读全文
posted @ 2011-05-09 18:11 carekee 阅读(896) 评论(0) 推荐(0) 编辑
窗口封装类与Windows窗口实例的关系-3、CWnd如何处理窗口消息
摘要:在窗口消息处理方面,CWnd使用了窗口子类化和消息映射机制,关于消息映射的知识将在第9章详述,下面着重阐述CWnd是如何应用子类化处理窗口消息的。其实,在6.2节的示例中,CBaseWnd已经使用了与CWnd类似的子类化方法处理窗口消息。成员函数CBaseWnd::SubWindowClass()将窗口过程子类化为CBaseWnd::MyBaseWndProc(),在这个窗口过程中调用CBaseWnd::WindowProc()处理窗口消息。原始的窗口过程存入成员m_Super WndProc中,在默认处理中调用。CWnd在窗口建立之初,使用AfxWndProc()子类化窗口,在AfxWndP 阅读全文
posted @ 2011-05-09 18:11 carekee 阅读(920) 评论(0) 推荐(0) 编辑
窗口封装类与Windows窗口实例的关系-1、使用API创建窗口
摘要:既然在Windows操作系统下编程,窗口操作应该是程序设计的主要任务,一切与用户的接口都由窗口体现。窗口类往往用来组织数据、封装数据、表示数据,所以窗口操作也是Windows编程的核心内容。前面对CWnd类以及它与Windows窗口的关系作了简要论述。下面将进一步阐明CWnd类是如何关联Windows窗口的,是如何封装WIN32窗口操作的。首先要脱离MFC,使用WIN32 API创建一个单窗口应用程序,然后模拟CWnd自己编写一个窗口封装类,最后对CWnd进行阐述。6.1 使用WIN32 API创建窗口下面使用WIN32 API创建一个只包含一个主窗口的小程序,主函数WinMain()创建主窗 阅读全文
posted @ 2011-05-09 18:10 carekee 阅读(1183) 评论(0) 推荐(0) 编辑
CWnd的派生类-2、CView类
摘要:视图是程序设计中使用率最高的窗口对象,它是用户的主要操作界面。因为它通常以某种形式表示文档数据,所以称之为视图。一个视图对象只关联一个文档对象;一个文档对象可以关联多个视图,每个视图对象以不同形式表示文档数据。然而,除了打印和打印预览外,视图类显得很简单。下面就从关联文档对象、绘制等几个方面进行阐述。7.2.1 关联文档对象前面已经提到,视图需要表示文档数据,所以文档对象与视图对象必须建立关联。这样,当文档数据发生变化时,它可以及时通知视图;当视图需要显示不同的文档数据时,它可以从文档对象中提取。在文档/视图框架程序中,文档对象总是在视图之前建立,而在视图的WM_CREATE消息处理函数中,建 阅读全文
posted @ 2011-05-09 18:09 carekee 阅读(1333) 评论(0) 推荐(0) 编辑
CWnd的派生类-3、CDialog类
摘要:对话框与普通窗口的区别仅在于,对话框是通过对话框模板建立起来的。只需要一个以模板为实参的创建命令,如CDialog::Create(),就可以完成对话框窗口及其子控件的创建工作,所有创建细节都由对话框模板来指示。而对于普通窗口,窗口及其包含的子控件必须逐一创建,而且要指定窗口风格等详细参数。对话框是最基本的可视化编程方法,一个应用程序往往包含众多的对话框资源模板和封装类,而普通窗体(包括框架窗体)却寥寥无几。但对话框的使用,只是方便了窗体和控件的创建过程,其本质与普通窗体无任何区别。下面并不准备陈述对话框的技术细节,只与读者讨论两个相关问题:一是模态对话框的消息循环,二是对话框的命令消息路由。 阅读全文
posted @ 2011-05-09 18:09 carekee 阅读(1661) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 ··· 9 下一页