`
wo_deqing
  • 浏览: 64161 次
文章分类
社区版块
存档分类
最新评论
文章列表
正文 所谓GDI(Graphics Device Interface,图形设备接口)其实就是API函数中专门针对于图形开发的函数集合这些函数都是Microsoft公司编写好的,为了能让开发人员快速地开发图形程序,开发人员只需要调用就行 在谈GDI函数之前,一定要先讲一下数据,因为图形开发,肯定离不开数据以简单的二维图形为例,你想在窗口中显示一个正弦曲线,就必须有这个正弦曲线的数据,然后用GDI提供的画图函数,讲数据显示成图形 二维图形其实就是以点线面三种元素组成 点 图形中最基本的元素就是点,C++中对于点的结构定义是 typedef struct tagPOINT { ...
Windows绘图方式 1.<wbr><wbr><strong>HDChdc;<br><wbr><wbr><wbr><wbr>hdc = ::GetDC(m_hWnd);<br><wbr><wbr><wbr><wbr>MoveToEx(hdc , m_ptOrigin.x ,m_ptOrigin.y,NULL);<br><wbr><wbr><wbr><wbr>L ...
要做路径规划东东了,仿真需要陈vc,先扫扫盲吧! 1.使用SDK获取DC句柄 HDC hdc; hdc=::GetDc(m_hWnd);<wbr><wbr><wbr>//获取DC句柄<br> MoveToEx(hdc,m_ptOrigin.x,m_ptOrigin.y,NULL);<br> LineTo(hdc,point.x,point.y);<br> ::ReleaseDC(m_hWnd,hdc);<wbr><wbr><wbr>//释放DC</wbr></ ...
通过hdc指针获取cdc指针 创建一个基于对话框的应用程序。 为改对话框创建一个按钮。 为改按钮添加一个单击事件消息响应函数,如下: void CDemo9Dlg::OnButton1() { // TODO: Add your control notification handler code here //获取当前dc的句柄 HDC hdc=::GetDC(m_hWnd); //通过hdc指针获取cdc指针 CDC* pdc=CDC::FromHandle(hdc); //输出文本 pdc->SetBkMode(TRANSPARENT) ...
基于消息的windows MFC程序设计是如何进行消息映射的呢? 对于一个MFC APPWizard运用程序,CMainFrame和View是窗口类,并且是父子关系,Doc一般用于数据的加载和存储,View用于图像的显示,App中是包括一些(窗口)初始化之类的东西。 一、消息映射机制 windows程序设计是种事件驱动方式的程序设计,主要基于消息的。当用户需要完成某种功能时,需要调用OS某种支持,然后OS将用户的需要包装成消息,并投入到消息队列中,最后应用程序从消息队列中取走消息并进行响应。 在左边View类处点右键,在出现的菜单里点击“Add Windows Message Han ...
绘图(VC_Win32) 目录 GUI作图概述描绘图形位图文本输出设置画刷/画笔/字体MFC 资源句柄的获得与释放 (本章节中例子都是用 VS2005 编译调试的) GUI作图概述 作图步骤 获得设备描述表资源句柄 绘图操作 释放设备描述表资源句柄 流程图如下: 获取/释放设备资源描述表 获取设备资源描述表:   BeginPaint / GetDC 释放设备资源描述表:  EndPaint / ReleaseDC BeginPaint / GetDC两种方式的区别:             BeginPaint           
vc++6.0中的图形图像处理 图形图像处理 1.设备环境(DC)的概念。 2.常用的几个设备环境类如CPaintDC、CClientDC、CWindowDC和CMetaFileDC类的主要特点及它们在使用方法上的区别。 3.GDI的概念及常用的绘图设备类如CGdiObject、CPen、CBrush、Cfont和CBitmap等的对象的创建和将其引入到设备环境中的方法。 4.Windows下的坐标映像方式和特点以及如何设置坐标映像方式。 5.几种常见的Windows的坐标映像方式下的坐标转换方法。
非模态对话框 用MFC可以创建非模态的对话框,只是创建方式不同,模态对话框用 dlg.DoModel()调用,而非模态对话框要用create函数创建调用。 /*假设IDD_TEST_DLG为已经定义的对话框资源的ID号*/ CTestDlg *dlg=new CTestDlg; dlg->Create(IDD_TEST_DLG,NULL); dlg->ShowWindows(SW_SHOW); 在上面的代码中我们新生成了一个对话框对象,而且在退出函数时并没有销毁该对象。因为如果此时销毁该对象(对象被销毁时窗口同时被销毁),而此时对话框还在显示就会出现错误。那么这就 ...
深度解析VC中的消息传递机制 摘要:   Windows编程和Dos编程,一个很大的区别就是,Windows编程是事件驱动,消息传递的。所以,要学好Windows编程,必须对消息机制有一个清楚的认识,本文希望能够对消息的传递做一个全面的 ...
什么是消息?  消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向Windows发出一个通知,告诉应用程序某个事情发生了。例如,单击 ...
MFC程序的运行过程: (1)首先利用全局应用程序对象theApp启动应用程序。正是产生了这个全局对象,基类CWinApp中的this指针才能指向这个对象。如果没有这个全局对象,程序在编译时不会出错,但在运行时就会出错。 (2) ...
每个MFC程序都有一个the全局对象,此对象代表了这个应用程序,程序从这里诞生。 <wbr></wbr> 1、因theApp是全局对象,所以比winmain更早初始化。 <wbr></wbr> 2、theApp的初始化,先引发了其构造函数。因theApp派生于CWinApp,则也引发了CWinApp的构造函数 <wbr></wbr> 3、CWinApp中的几条重要的初始化代码: AFX_MODULE_STATE* pModuleState =_AFX_CMDTARGET_GETSTATE(); AFX_M ...
即便是基于MFC的应用程序,建立窗口类也是会遵循如下的过程:设计窗口类->注册窗口类->生成窗口->显示窗口->更新窗口->消息循环->消息路由到窗口过程函数处理。下面就剖析一下在MFC中是如何完成上述过程的。 (1)每个应用程序都有且仅有一个应用类的全局变量theApp,全局变量先于WinMain函数进行处理。(2)WinMain函数体在APPMODUL.CPP文件中,定义如下: extern "C" int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, ...
在VC项目开发中,很多时候需要自己定义消息进行事务处理。上次也刚好有同学问及,这里综合网络上的一些资料,集中起来供参考。 u 自定义消息 我们可以通过一下两种方法来自定义一个消息: 1) 方法一 Step 1:使用WM_TASKBARCREATED来确定一个没有被windows本身抢占 的消息值,在想添加消息文件中添加代码: const UINT WM_USERDEFMSG = ::RegisterWindowMessage(_T("UserDefMsg")); Step 2:定义消息的处理过程:在处理消息的类(如Dlg类或者MainFrame等) ...
现在讨论MFC应用程序如何启动。 WinMain函数是MFC提供的应用程序入口。进入WinMain前,全局应用程序对象已经生成。WinMain流程如图5-3所示。图中,灰色框是对被调用的虚拟函数的注释,程序员可以或必须覆盖它以实现MFC要求的或用户希望的功能;大括号所包含的图示是相应函数流程的细化,有应用程序对象App的初始化、Run函数的实现、PumpMessage的流程,等等。 从图中可以看出: (1)一些虚拟函数被调用的时机 对应用程序类(线程类)的InitIntance、ExitInstance、Run、ProcessMessageFilter、OnIdle、PreT ...
Global site tag (gtag.js) - Google Analytics