VC 程式設計 Base I 報告者:Jerry Chen TEL:

Slides:



Advertisements
Similar presentations
壹、教學檔案介紹(前菜) 貳、教學檔案平台介紹(主菜) 參、檔案目錄範例及小叮嚀(甜點)
Advertisements

基础模块 模块一 程序设计基础 (一)开发环境部分.
授课教师:江星玲 1.
Ch02物件導向程式設計 物件導向系統分析與設計.
第 2 章 初探 C++.
过程性保存文本格式的实现 计算概论小课题 王元康.
单片机应用技术 项目一 循环彩灯装置 第7讲 Keil软件的使用 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
计算机高级程序设计 第五章.
課程名稱:程式設計 授課老師:________
基于VC++的数字图像特效处理系统的设计与实现
第7单元 面向过程编程—— 继承与多态.
01 C++ (Dynamic Array, Sort & STL)
.NET 程式設計入門(使用 C#) 講師:鄧智鴻.
第ㄧ章 認識 VB 2008 與主控台應用程式 注意:本投影片僅供上課使用,非經同意,請勿散播或轉載。
第一章 認識Visual C 環境架構 1-1 認識Visual C Visual Studio 概觀
Microsoft .NET 第4組 十月15, 2002 B 陳東傑 B 蔣佳勳
程式語言的基礎 Input Output Program 世代 程式語言 第一世代 Machine language 第二世代
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
第6章 CCS集成开发环境 6.1 CCS系统安装与设置 6.2 CCS菜单和工具栏 6.3 CCS中的编译器、汇编器和链接器选项设置
Java簡介.
Chapter 1 用VC++撰寫程式 Text book: Ivor Horton.
物件導向程式設計 CH1, CH2.
第二十九章 DLL / LIB函式庫開發 當我們開發程式到一個階段之後,我們一定會希望各個Component的程式碼可以分開的越清楚越好。而這一章最主要就是要告訴各位讀者,我們常在Windows系統中看到的dll或是lib的檔案該怎麼實作?做出這樣的library我們又該如何運用?為什麼使用dll或是lib有利於我們開發程式?以上這些疑問都將會在這一章中得到解答。
CAA 第一章 安装 1 安装CATIA。在安装CATIA时,要把它装到根目录下,文件夹名称不能含有空格,(在此命名为CATIA)安装完后,用crack文件下JS0GROUP.dll拷贝到d:\CATIA\B14\intel_a\code\bin下的覆盖。 2 安装vc。装vc时选自定义,把里面的所有组件都选上。
第5章 图形和文本输出.
.NET 簡介.
.NET 簡介.
第16章 VB.NET物件導向與.NET Framework
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
Visual C++ Windows Programming
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
C++ 與 物件導向 程式設計概念簡介 魏天君 2018/12/3.
第5章 文本与字体 2018/12/3 面向对象与可视化 程序设计 --Visual C++ 编程 主讲教师: 唐 龙教授 (计算机科学与技术系) 黄维通博士 (计算机与信息管理中心) 清 华 大 学 2001年2月 2018/12/3 Huang Weitong.
類別(class) 類別class與物件object.
简要回顾 了解课程体系、课程目的和主要内容 掌握Windows编程涉及的一些主要概念 DOS程序和Windows程序的主要区别 窗口和程序
第1章 Windows应用程序框架的 创建与消息处理
Native Development Kit
ASP.NET基本設計與操作 建國科技大學 資管系 饒瑞佶 2007年.
第十一讲 MFC常用控件的使用(3) 严宣辉 数学与计算机科学学院
MFC WinSock类的编程 为简化套接字网络编程,更方便地利用Windows的消息驱动机制,微软的基础类库(Microsoft Foundation Class Libary,简称MFC),提供了两个套接字类,在不同的层次上对Windows Socket API函数进行了封装,为编写Windows.
第三章 项目设定.
第九單元 Classes and data abstraction I
第4章 MFC编程 4.1 MFC概述 4.2 MFC和Win CObject类 4.4 消息映射的实现
Java 程式設計 講師:FrankLin.
软件学院 张 慧 清华大学软件学院.
Visual C++ Windows Programming
簡易 Visual Studio 2005 C++ 使用手冊
第7章 繼承/多型/介面 注意: 本投影片僅供本書上課教師使用,非經同意請勿上網轉載或供拷貝.
第十五讲 MFC与消息处理 MFC简介 Windows编程机制 MFC应用程序框架原理 创建应用程序框架 消息及其分类 消息映射机制
版权所有 复制必究 第 6 章 MFC原理与方法.
04 03 add your text. add your text. add your text. add your text add your text. add your text. add your text. add your text. add your text add your text.
第十二讲 菜单、工具栏和状态栏 严宣辉 数学与计算机科学学院
《面向对象程序设计与Visual C++6.0教程》
Visual C++ Windows Programming
Windows 程式設計 (使用 C++ / C#)
MFC及其应用.
Class & Object 靜宜大學資工系 蔡奇偉副教授 ©2011.
Visual C++ Windows Programming
动态链接库 主讲人:孙鑫
瞻前顧後 Windows程式開發方式的重要演進
第10章媒体控制接口 10.1 MCI设备类型 10.2 MCI编程步骤 10.3使用MCIWnd窗口类.
進階UI元件:ListView元件以及複選 靜宜大學資管系 楊子青
第三章 軟體資源管理 授課老師:褚麗絹.
MultiThread Introduction
面向对象程序设计 C++教程 西安工业大学 于帆.
熟悉VC++开发环境.
13 繼承類別 13.1 繼承概論 基礎類別與衍生類別 繼承型式 13-2
Develop and Build Drives by Visual C++ IDE
Windows Workflow Foundation CON 230
手工编写第一个 MFC程序 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
Presentation transcript:

VC 程式設計 Base I 報告者:Jerry Chen TEL:0939-109232 Email: Jerry@dtek.com.tw

Contents 重要資料介紹 基本名詞與概念介紹 程式開發環境安置與範例 Q&A

參考 Thinking in C++ 2nd edition Volume 2: Standard Libraries & Advanced Topics www.MindView.net

參考

好書介紹 程式設計領域裡,每個人都想飛,但是還沒有學會走之前,跑都別想! (深入淺出/侯俊傑)

重要參考介紹#2 對航海的人來說,擱淺的船就是燈塔!(荷蘭諺語)

基本名詞介紹 類別(Class) 物件(Object) 成員函數(Member function) 成員變數(Member variable) 動態連結(Dynamic link library)

類別 & 物件 類別(Class) 物件(Object) 8

類別 & 物件

程式重複使用-方法1 指定物件 寫程式如堆積木,可以重複使用是很重要的! 最簡易的方法是指另這個類別物件。 Light我們稱為類別。 Light it; Light A; Light我們稱為類別。 上訴的it或A物體,我們稱為Light類別的物件。

程式重複使用-方法2 加入成員物件 在自己的類別(Class)中加入所需的成員物件(member Object)

程式重複使用-方法3 繼承 繼承(Inheritance) 一個子類別繼承父類別(Super class)我們稱為延生類別(Derived class)、或繼承類別(Inherited class)、或子類別(Sub class)、或後代類別(Child class) 如果子類別繼承了一個以上的父類別,則稱為Multiple Inheritance(多重繼承)。 一個形狀類別中有許多功能,可以被新的圓形、方形、三角形等類別繼承來使用。

成員函數(Member function) 成員變數(Member variable) 函數 & 變數 成員函數(Member function) 成員變數(Member variable)

添加新函數 在三角形類別中,建立出新的功能,例如垂直翻轉成員函數(Member function)、水平翻轉成員函數。

Override function 子類別重新定義它所能看到的父類別中的method(如public, protected) 稱為覆寫(Override)。

宣告 & 定義 所有C語言都需要宣告與定義才能使用。 宣告(Declaration) : 定義(Definition): 宣告的用意在於把變數或函數的名稱告知編譯器(Compiler)。 宣告檔(Header file),通常以.h作為附檔名! 定義(Definition): 讓編譯器(Compiler)瞭解這個變數或函數已經存在於程式中的某個位置。也是讓編譯器製造出儲存空間給該變數或函數。

宣告 & 定義 函數宣告構造(Function declaration syntax) 變數宣告構造 (Variable declaration syntax)

宣告 & 定義

動態連結(Dynamic link library) Windows三大動態連結檔 協力廠商提供的動態連結檔

Windows中的 三大動態連結檔 GDI32.dll (GDI32.lib) User32.dll (User32.lib) Kernel32.dll (Kernel32.lib) Commdlg.dll (Comdlg32.lib) Toolhelp.dll (TH32.lib) 20

協力廠商提供的 動態連結檔 PCI_M314.dll (先達, Motion) PISODIO.dll (泓格, IO) MultiCam.dll, EObjMs60d.dll…(Euresys, Vision) MapPro.dll (威嘉, Barcode transfer)

綜合範例 Lighting Class

ComLighting 範例

CComPort 範例

MFC Fundamentals & Architecture 25

What Is MFC? MFC Collections, Miscellaneous Classes Base MFC Classes OLE Classes ODBC Classes Win32 API (SDK) OLE ODBC Windows Base OS Services Windows OS Service Extensions

MFC 構造 (Architecture) The Application Framework CWinApp Class CFrameWnd Class Documents and Views Document/View Interaction MFC Document Templates

The Application Framework CWinApp CFrameWnd CDocument CView CDocTemplate MYAPP.EXE

Documents and Views Document Possible Views Data 17 98 16 87 56 85 44 17 98 16 87 56 85 44 66 72 19 71 11 45 95 80 51 35 92 56 85 44 66 72 19 71 11 45 95 Possible Views

Document/View Interaction (for SDI) View Object UpdateAllViews , GetNextView GetDocument Document Object GetActiveView GetActiveDocument  AfxGetMainWnd()  AfxGetApp() Frame Object

General Approach to MFC Programming CObject Framework classes CCmdTarget CWinThread CDocTemplate CWnd CDocument CWinApp CFrameWnd CView CDialog CYourApp CMainFrame CYourView CYourDlg CYourDoc

Icon Resource

程式開發環境安置 安裝VC 設定關連環境 程式製作

http://www.freegroup.org/2010/06/visual-studio-2010-express/ http://www.microsoft.com/express

安裝VC

索取序號 事實上,當你安裝完成後還需要做一個動作:註冊。不用擔心,這只是微軟的一個驗證程序而已,過程完全免費。

環境設定

Visual C++ 範例 Hello Word範例 40

Debug Tools in Visual C++ Standard Build (F7) Build controls Go (F5) Step over (F10) Watch Debug Step Into (F11) WizardBar

ClassWizard (Ctrl+W)

.H file .CPP file class CFirstView : public CView { ... { ... / Generated message map functions protected: //{{AFX_MSG(CFirstView) afx_msg void OnLButtonDown(UINT nFlags, CPoint point); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; .CPP file BEGIN_MESSAGE_MAP(CFirstView, CView) //{{AFX_MSG_MAP(CMainFrame) ON_WM_LBUTTONDOWN() //}}AFX_MSG_MAP // Standard printing commands ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint) ON_COMMAND(ID_FILE_DIRECT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview) END_MESSAGE_MAP()

void CTest1View::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default CString sOutput; sOutput.Format("x=%d, y=%d",point.x,point.y); CClientDC dc(this); dc.TextOut(point.x,point.y,sOutput); CView::OnLButtonDown(nFlags, point); }

Q&A