Ⅰ 學習WPF需要哪些基礎知識,要學習C#嗎
WPF是微軟提供的一種用來開發「桌面應用」的技術(框架),這項技術本身和C#沒有關系,必須會的是xaml語法,而不是編程森胡語言。
關於xaml語法,是一種微軟提供的新型的前端語言,可以理解為類此答攔似js+css;
參考微軟介紹:
https://msdn.microsoft.com/zh-cn/library/windows/apps/xaml/br229566.aspx
單純的使用Blend也可以開發WPF項目,完全不用寫一行代碼,就可以做出一個漂亮的界面。調用其他人寫好的服務介面,就可以輕松的開發出wpf應用了。
比如常見的「天氣預報」應用,就可以不用寫後台代碼(c#),直接調用一些開放的天氣API獲取數據,就可以讓程序運行起來。
如果要做一些較為復雜的業務系統, 則必須有編程語言的參與,WPF可以與VB或C#兩種編程語言結合,進行開發。 目前肯定是C#更優於VB.NET。
個人建議WPF和C#要分開,不要為了開發一個WPF程序而去學習C#,也不要因為希望把C#代碼的工作可視化而去開發桌面應用。
C#是編程語言,開發側重於邏輯、語法、執行效率和安全性,WPF是前端技術,側重於美觀、酷炫、用戶體驗。你應該選好自己側重的方向去進行系統學習。
在VS里一邊拖控制項,一邊寫代碼,這種學出來的舉緩都是四不像。
Ⅱ c語言程序設計學什麼
c語言程序設計的學習內容如下:
C語言程序基本結構及相關概念、變數、函數、語句、if條件語句、switch條件語句、for循環語句、while循環語句、數組、指針、字元串、結構體。C是強類型語言,有short、long、int、char、float、double等build-in數據類型,類型是貫穿c語言整個課程的核心概念。
c語言程序設計的特點
C語言程序設計課程是入門級的程序設計課程,針對沒有或很少具有編程經驗的在職人員。課程通過學習C語言編程的基礎語法,對程序設計有一個基本的認識,為後續計算機專業課程以及面向對象程序設計課程的學習打下基礎。
隨著科技的發展和人工智慧時代的來臨,計算機中程序設計具有越來越重要的地位。C語言程序設計是程序設計者的入門語言,它使學習者更能容易理解。當然它也能設計出一些高級的應用軟體和系統軟體。C語言程序設計還能幫助我們學習其它計算機語言如我們熟悉的java語言vb語 言的設計,因此C語言是初學者必備的語言。
Ⅲ WPF 是什麼意思(C#)
WPF(Windows Presentation Foundation)是微軟推出的基於Windows Vista的用戶界面框架,屬於.NET Framework 3.0的一部分。它提供了統一的編程模型、語言和框架,真正做到了分離界面設計人員與開發人員的工作;同時它提供了全新的多媒體交互用戶圖形界面。
對於企業,WPF實現了改進的客戶關系和不同的應用程序。通過提供能夠快速提供更好的視覺效果、獨特的用戶體驗的技術,來建立與客戶的密切關系,使企業可以建立穩定的數字
客戶關系和獨特的品牌化機會。而且,由於 Windows Presentation Foundation 是窗體、文檔、視頻、三維以及其他功能的綜合,因此企業可以創建持久的用戶體驗解決方案,並集成到客戶的日常活動中。
WPF對於開發人員和設計人員,Windows Presentation Foundation 提供了統一的 UI
平台,因此他們只需學習一個模式,就可以獲得無限可能的 UI 體驗。對於 .NET
開發人員,其框架是熟悉的,並且它最終將減少提供最佳用戶體驗和通信邏輯所需的代碼行數。對於設計人員,Windows Presentation
Foundation 提供的平台可消除內容、媒體和應用程序之間的邊界。最重要的是,Windows Presentation Foundation
可以使開發人員和設計人員同步緊密地合作來快速提供不同的連通體驗
Ⅳ c# wpf是什麼
LightningChart 快速、先進的2D和3D圖表,支持WPF和WinForms平台。
C#:基於微軟.NET平台的程序設計語言,具備C的語法結構。
wpf:Windows平台下開發桌面應該程序的工具,也可以理解為一個框架,Visual Studio 2010里就有
Ⅳ WPF高級編程的序言
對於使用Microsoft技術的開發人員來說,這是一個激動人心的時刻。眾多新平台、新技術以及新工具的不斷涌現,使開發人員的舞台迅速擴大。其中,來自微軟的一個新平台是.NETFramework3.0,WindowsPresentationFoundation(WPF)是該平台的一個核心組件,也是本書的主題。WPF為開發人員和設計人員提供了一個統一的平台,便於他們創建能夠充分利用現代PC硬體設備的圖形功能的多媒體(rich-media)應用程序。
在過去的幾十年中,我們經歷了使用命令行界面的漫長時間。今天的應用程序用戶,希望使用新型的、吸引人的可視化交互界面,其中部分原因是他們在Internet上面對的是媒體和內容都很豐富的用戶界升耐答面。WPF正是為迎合這種需求而誕生的,它可以綜合使用多種類型的媒體,包括動畫、視頻和音頻,來創建富用戶界面。此外,通過使用一種新的標記語言XAML和一套新的設計工具MicrosoftExpressionBlend,設計人員和開發人員能夠在開發同一個項目時實現無縫合作,這在以前是不可能的。在WPF推出之前,設計人員創建各種圖形元素,並將這些圖形元素以圖像文件的形式交給開發人員,然後開發人員使用這些圖形元素構建用戶界面。設計人員可以使用ExpressionBlend設計用戶界面,並將設計模型保存為XAML文件,然後只需將XAML文件交給開發人員,開發人員再在VisualStudio中使用WPF編寫代碼即可。
本書將詳細講解WindowsPresentationFoundation的概念和構成組件。通過本書可以學習如何創建富用戶界面,如何使用WPF提供的各種新控制項,以及如何利用WPF提供的新內容模型。本書將探討WPF對象模型,以及WPF新提供的子系統,例如附屬屬性系統(dependencypropertysystem)和事件傳遞模型(routedeventmodel)。在本書中還將介紹如何開發和配置用於桌面和瀏覽器的WPF應用吵慧程序。本書中還包括新的XAML語法(XAML是一種為WPF應用程序定義用戶界面的新標記語言,不管這些應用程序是基於Windows環境的還是面向Web的)、ExpressionBlend使用基礎和Microsoft新提供的圖形設計工具。
WPF是一個非常大的平台,本書將盡可能多地涉及其各個方面,我們的目標是使讀者不僅了解WPF平台提供了哪些內容,而且學會如何使用該平台。當然,因為WPF是一個很大的平台,所以本書中不可能囊括全部內容,但是我們力爭讓讀者掌握開始使用WPF的一些基本知識。本書不僅有趣、富有教育性,而且能夠為讀者使用WindowsPresentationFoundation開發富用戶界面打下堅實的基礎。
本書讀者對象
本書主要面向准備學習使用畝明Microsoft新的呈現架構(presentationframework)WPF開發應用程序的.NETFramework開發人員。對於正在考慮使用新的ExpressionBlend系列設計工具的設計人員,以及那些想了解這些工具是如何加強與設計人員合作的開發人員,本書也是很有幫助的。對於沒有.NET開發經驗的程序員,本書在學習新的XAML語法上有一定的參考價值。但是對於這部分讀者,書中的大部分內容比較高級,因此建議先學習.NET2.0,作為學習WPF的第一步。
本書適合以下幾類讀者:
●准備學習WPF新平台的Microsoft.NET應用程序開發人員。
●准備研究MicrosoftExpressionBlend工具,學習使用WPF及相關工具所提供的協作特性的設計人員。
此外,熟悉以下相關技術的人員,也很適合閱讀學習本書:
●Microsoft.NETFramework
●C#
●Web服務
●HTML
●CSS
以上讀者,對.NETFramework和C#有一個基本理解是必需的,而熟悉Web服務、HTML標記語言以及CSS概念對於學習本書中的內容有幫助,但不是必需的。對於沒有.NETFramework和C#基礎的開發人員,可先學習《.NETFramework2.0高級編程》和《C#2005高級編程(第4版)》(均由清華大學出版社引進並出版)這一類的書籍。
讀者並不需要逐章學習本書。我們建議先學習第1章至第3章,對WPF和XAML有一個基本理解,然後瀏覽後面的幾章,從中挑選出您感興趣或需要的部分進行學習。
本書組織結構
本書先介紹了相關背景,包括Microsoft為什麼以及怎樣從長期以來使用的Win32平台轉向WPF。然後,對WPF及其核心組件和子系統進行了概述,接下來介紹了ExpressionBlend工具的使用,並通過示例演示了如何創建富用戶界面。後續幾章具體針對與WPF開發相關的各個主題。在本書的最後簡要介紹了與WPF平行的其他兩個組件,這些組件共同構成了.NETFramework3.0這一重要而又強大的平台。
本書各章內容如下所示:
●第1章 WPF概述對於曾經開發過Windows應用程序的程序員而言,本書展示了開發Windows應用程序的一些精彩的新變化。此外,對曾經開發過Web應用程序的程序員來說,本書提供的開發方式更令人激動。Windows Presentation Foundation,也稱做WPF,是下一代圖形平台。基於該平台可以構建運行於Windows Vista之上的Windows應用程序和Web應用程序,Windows Vista是Microsoft最新發布的新一代操作系統。WPF為建立優雅的並且非常靈活的用戶體驗提供了基礎,這種用戶體驗是通過同時使用用戶界面、應用程序邏輯、文檔以及多媒體實現的。注意:盡管WPF最初的目標是用於Windows Vista平台,但是作為.NET Framework 3.0(即以前的Win FX)的一部分,WPF也可以在Windows XP和Windows Server 2003平台上使用。通過使用XAML與Microsoft Expression Designers等工具,應用程序的界面和功能可以得到進一步加強,這些工具使設計人員和開發人員可以同時開發用戶界面與應用程序邏輯,從而共同提供完美的用戶體驗。本章對WPF進行概述,包括以下內容:Windows API的演變。.NET Framework 3.0,基於Windows開發的下一代API。WPF體系結構與開發模型。XAML,支持WPF開發的聲明式語言。開發WPF應用程序的相關工具。1.1 Windows API的簡要歷史Windows API為應用程序開發提供了Windows操作系統支持的核心功能,主要用於C/C++語言的開發,Windows API是應用程序和Windows之間最直接的交互機制。Windows API包含以下功能組合:基本服務——提供對計算機核心資源的訪問,例如內存、文件系統、設備、處理器以及線程等。●第2章,「WPF與.NET編程」--本章首先介紹了構建與運行WPF應用程序的需求,然後是應用程序的各子系統,例如附屬屬性與事件傳遞系統。此外,還介紹了WPF提供的各種控制項,以及如何使用平台提供的新結構修改和擴展這些控制項。
●第3章,「WPF應用程序深入剖析」--本章介紹了在WPF中可以使用的各種應用程序模型,例如可以獨立運行的與基於瀏覽器的應用程序。對相關程序文件及配置設置都進行了剖析,從而使讀者可以快速理解並能開發WPF應用程序。
●第4章,「使用MicrosoftExpressionBlend構建富用戶界面:第一部分」--本章介紹了WPF應用程序設計人員可以使用的新工具,重點介紹了MicrosoftExpressionBlend。在本章中讀者可以了解到ExpressionBlend提供的設計環境,以及工程文件結構。本章內容還包括創建矢量圖形、布局、動畫和控制項。
●第5章,「使用Microsoft ExpressionBlend構建富用戶界面:第二部分」--本章在第4章介紹的相關內容的基礎上,介紹了如何為程序添加交互功能以處理用戶輸入、事件與命中測試。本章還給出了一系列的動畫示常式序,以及與WPF繪圖相關的API。本章還演示了ExpressionBlend與VisualStudio2005提供的協作特性。
●第6章,「特殊效果」--本章探討了WPF提供的豐富功能與特殊效果,包括畫刷、點陣圖效果以及變換等。有了這些功能,使用WPF可以很容易地快速創建富用戶界面。
●第7章,「自定義控制項」--本章專門講解了在WPF中自定義控制項的開發。通過模板與類型的擴展支持,在WPF中自定義控制項所需做的工作是很少的。但是在很多情況下需要創建自定義控制項。本章不僅介紹如何創建自定義控制項,還介紹了如何確定是否使用模板與類型等內置功能的支持。這些內置功能是非常強大的。
●第8章,「WPF企業開發」--本章探討了使用WPF開發企業級應用程序時需要考慮的許多問題。應用程序模型、配置、運行環境、安全考慮、導航、狀態管理以及本地化等內容,在本章中都進行了探討。
●第9章,「安全」--本章探討了WPF的安全特性。WPF應用程序的安全主要與所選擇的程序類型和運行環境有關。本章內容包括操作系統安全、CAS安全、Internet安全沙箱以及ClickOnce安全等。
●第10章,「WPF與Win32交互」--本章主要針對WPF應用程序與已存在的Win32應用程序之間的交互問題。本章將解答如何在Win32應用程序中使用WPF,以及如何在WPF應用程序中使用Win32等問題。通過學習本章,讀者將了解到在WPF與Win32應用程序中HWND的區別。
●第11章,「高級開發主題」--本章將深入研究本書中涉及的有關問題。首先深入分析WPF體系結構,介紹WPF架構中重要的類,例如Application類、DependencyObject類。然後深入探討XAML的語法與結構,以及WPF應用程序中的多線程問題。最後,深入分析了.NETFramework3.0的其他兩個組件:WindowsWorkflowFoundation與。
使用本書的條件
為了開發WPF應用程序,以及創建本書中的示常式序,必須首先安裝以下軟體:
●WindowsSDK
●.NETFramework3.0運行時組件
●帶有OrcasCTPWinFX開發工具的VisualStudio2005或
注意:
在本書第2章中將給出上述所需軟體的更多細節,以及介紹如何獲取這些必需的組件。
Ⅵ 能用C語言寫程序嗎例如WPF或能在win7上運行的軟體
打開VS2010,新建一個工程,語言選擇C#,再選擇WPFApplication項目,確定之後就生成了一個最簡單的WPF應用軟體,
想要快點做出軟體,我建議你直接用C#,然後去借本WPF的書入門下,想通過C語言做這個很麻煩很麻煩的,就不要想了(C語言了解下語法和和計算機思維就可以了)。一般的人在大學里都會向樓上的人說的一樣,先用C語言做些什麼貪吃蛇,俄羅斯方塊之類的小游戲,但我強烈不推薦這樣,C#比C語言簡單得到,做軟體出來也快得多,用C語言或者C++的話就得學習MFC(這個是微軟很老很老的技術,不必再學了,WPF是微軟最新的一帶桌面編程框架),想做QQ就用WPF做一個QQ出來(相信我那不是很難),裡面也只涉及到一些通信技術而已,網上找些資料很容易的,千萬不要別大學里老師教C語言那些類似的笨方法消磨了人對計算機的興趣~
不懂可以問我,就別再用VisualC++,MFC這些古董了,了解C#的語法,熟悉下WPF這個框架,做些自己喜歡的小軟體來支持自己的興趣才是的
Ⅶ WPF製作項目所需要的硬體,軟體,操作系統有哪些
WPF基礎知識
快速學習絕不是從零學起的,良好的基礎是快速入手的關鍵,下面先為大旦核家摞列以下自己總結的學習WPF的幾點基礎知識:
1) C#基礎語法知識(或者其他.NET支持的語言):這個是當然的了,雖然WPF是XAML配置的,但是總還是要寫代碼的,相信各位讀者應該也都有這個基礎了。
2) HTML語言:雖然WPF是窗體程序但是由於使用的XAML語言,如果以前接觸過HTML、XHTML、ASP.NET之路的東西的話會,接受這些標簽會很有幫助的,如果以前一直是從事win form開的人來說可能就要適應一下了。
3) 對C#中的代理、事件要做到熟練掌握,在.NET 3.0 版本後有增加了Routed Events,要想日後不糊塗,這個是基礎。
4) 有一定的winform或ASP.NET經驗,主要是對控制項事件的處理要有寫了解。
5) 擁有良好的面向對象的思想:思想是語言的升華(本人的OO思想完全是Java中領悟來的)。在WPF中,經常要靈活運用各種繼承關系、多態、重載等,因此一定要把基礎知識打牢固。
6) DataBinding要有所了解:Binding是WPF的一大亮點,在接觸它以前如果接觸國ADO.NET裡面的DataBinding的話對相對起來會容易接受一點,雖然這兩個有一定的不同。
7) 對設計模式要有一定的了解:當然是越深入越好了,在實際項目中,各種設計模式經常交融使用。
快速的識別並合理的運用,無論是在開發還是調試時都是非常高效的。另外,WPF存在的初衷即是表現與邏輯的松耦合,最普遍的情況就是XAML作為表現層,背後.cs文件作為邏輯層。因此,日後在從事項目工作時,要時刻陸襪謹記這一點,千萬不可背道而馳。
不要為了凸顯自己的某一些代碼特長而將各種邏輯混寫在一起,這樣非常不實際的,這一點都在校生應該尤為重要。
8) 對XML的理解:XAML也是XML,對XML的理解絕對有助於快速的接受和使用XAML,並不需要多XML有多麼高深的見解。
但是最好還是有空看一看XML相關的書籍http://www.w3.org/TR/2000/WD-xml-2e-20000814。無論模悉掘是WPF、WCP以及底層一些的SOAP等都是很有幫助的。
WPF入手練習基礎環境
開發環境:VS 2008
資料庫:本機SQL Server 2005(這里給大家一個提醒,如果大家的機子是Windows XP的話,無論是home 或是 professional.
一定不要安裝SQL Server 2005 Enterprise Edition,在《安裝 SQL Server 2005 的硬體和軟體要求》中「操作系統要求」列表有寫到2005 Enterprise Edition 不支持 XP),建議安裝Developer Edition,一定要安裝資料庫實例。
WPF練習內容
具備以上基礎條件後,開始入手練習,大家不要抱怨入手練習有寫難度,畢竟是快速入門要有一定的跳躍性:
我們要做一個WPF程序,功能很簡單:
1) 從資料庫(本地資料庫(local)/AdventureWorks中的person.contact表中提取用戶的ContactID,FirstName,LastName,EmailAddress數據,展示到Form上的一個ListView上。(由於是WPF練習,對於ADO.NET相關的東西在此不做介紹,知識使用而已)
2) 當滑鼠或其他設備選中結果某一項記錄時,在List框下面展示出細節。
3) 修改其中的內容後,結果聯動更新到List框及資料庫中。
想像以下這樣一個東西如果在以前使用winform實現會是什麼樣子呢?
應該會寫不少的方法、屬性用於界面之間及界面與資料庫之間的聯動。
今天這個練習就先展示以下WPF的技術亮點之一:
DataBinding。在製作過程中,還會為大家不斷接受一些控制項、布局等相關知識和技巧,部分相關的知識內容與此練習關系不大的,我將會用淺灰色字體帶過,對於熟悉這部分內容的讀者可以直接跳過。
建立一個WPF項目
打開VS 2008 新建一個WPF應用程序
Ⅷ c# wpf代碼怎麼嵌入EXE應用程序
在 C# WPF 中嵌入 EXE 應用程序的方法有多種。一種方法是使用 Process 類並調用悉前其 Start 方法來啟動 EXE 應用程序,然後使用 WindowInteropHelper 類來將 EXE 應用程序窗口嵌入 WPF 窗口中。例如:
請注意,這只是一種可能的方法,並不一定適用於所有橋陸納情況。如果您敏沒需要更詳細的幫助,請提供更多信息,例如您的目標和限制。
Ⅸ 學習C語言,計算機編程的過程是如何學這兩樣這兩樣的所有必學科目,課程,內容是我洪鯤如何學會,
學習編程,從何入手?
1、計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。
2、電腦每做的一次動作,一個步驟,都是按照以經用計算機語言編好的程序來執行的,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。
3、計算機所能識別的語言只有機器語言,即由0和1構成的代碼。但通常人們編程時,不採用機器語言,因叢野伏為它非常難於記憶和識別。
4、目前通用的編程語言有兩種形式:匯編語言和高級語言。
5、匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。匯編程序通常由三部分組成:指令、偽指令和宏指令。匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
6、高級語言是目前絕大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由於省略了很多細節,編程者也就不需要有太多的專業知識。
7、高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。
8、高級語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類:
解釋類:執行方式類似於我們日常生活中的「同聲翻譯」,應用程序源代碼一邊由相應語言的解釋器「翻譯」成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程序。
9、編譯類:編譯是指在應用源程序執行之前,就將程序源代碼「翻譯」成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(* .OBJ)才能執行,只有目標文件而沒有源代碼,修改很不方便。現在大多數的編程語言都是編譯型的,例如Visual C++、Visual Foxpro、Delphi等。
《編程語言,你選哪一個》
雖然不是每個人都會成為編程高手,但你在使用軟體的時候,也許會冷不丁地冒出個問號:這些神奇的軟體是怎麼編出來的?而對那些將投身於此的「大蝦小蝦」們,接下去的可能是:我什麼時候也能編出個更好的軟體來?好吧,那從哪裡開始呢?編程語言名錄繁多,選擇一個適合自己的編程語言,是你首先要邁出的一步。
你了解最常見的編程語言嗎?你知道最流行的程序開發環境嗎?
你知道Basic、Pascal、C、C++和Jave家族這些常見的編程語言各自都有什麼優點嗎?如果你對這些都不是很清楚的話,那麼下面這一部滲攜分你可不能錯過。
基礎篇
Basic:
Basic是一種非常適合初學者學習的編程語言。它簡單易懂,其命令和語句一般都是英文單詞或縮寫,易於理解,便於記憶。只要具有一些英語知識的人都可以很快地掌握它。擴展地Basic語言常見地有:BASICA、GWBASIC、Quick Basic、Ture Basic和Turbo Basic。其中比較好的是Turbo Basic,它是一種可編譯的語言,所以它的速度更快、效率更高。Turbo Basic不僅保持了Basic語言一貫的比較容易學習的特點,還具有像PASCAL語言那樣嚴謹的基本控制結構。
Pascal:
Pascal語言是一門結構化的語言,它具有豐富的數據類型和控制結構,簡明易懂,所以特別適合與教學。Pascal語言還是一種自編譯的語言,這就使它的可靠性大大提高了。在Pascal的各個版本中,尤以Turbo Pascal的功能最為強大。如今,在許多學校的計算機脊敏語言課上,學的都是Pascal語言,用的都是Turbo Pascal。
C:
C語言作為系統描述語言,既可以用來寫系統軟體,有可以用來寫應用軟體,自然受到廣大用戶的喜愛。C語言有許多優點,它靈活性好、效率高、實用性強,而且對硬體的控制能力很強。人們常把C語言稱作中級語言,意指它是一門介於高級語言和匯編語言之間的語言。
C++:
隨著軟體規模的不斷擴大,人們發現,使用傳統的「數據結構+演算法」的結構化編程模式已經難以適應軟體的發展了。這時,「面向對象+消息」的程序設計思想便逐漸被人們所注意。對於C語言,人們發現當C語言程序的規模超過5萬行時,程序就變得難以調試和維護。這時,將面向對象的思想引入C語言變成了程序員的共同心願。於是,C++語言便應運而生了,它以C語言為基礎,引入了面向對象的思想,成為目前最流行的編程語言之一。
Java:
如果要用一句話來描述Java,那就是「一種簡單的、面向對象的、解釋型的、健壯的、安全的、結構中立的、可移植的、高性能的、多線程的、動態的語言」。同是面向對象的語言,Java與C++相比更加安全而且具有更高的可移植性。Java程序需要在安裝有Java虛擬機的平台上執行。要求在Java應用程序運行時每一步都強制執行安全措施,這必然會導致編譯執行速度下降,但魚與熊掌不可兼得,畢竟Java已經如此強大了。
JavaScript & Java Applet:
Java是一種具有獨立功能得強大得語言,與網路沒有必然得聯系;相比之下,JavaScript和Java Applet就更適合在網頁中開發和使用。JavaScript被稱為Java的腳本程序,是Java程序的簡化。通過編程,你可以根據需要動態地創建你的主頁。JavaScript是一種解釋型的語言,所以程序不需要進行預編譯,只有當程序被執行時才被轉化為可執行代碼。
與前者相比,Java Applet才更像是一個程序。它是一類被嵌入到Web頁中的由與Java兼容的瀏覽器控制執行的程序,Java Applet程序需要事先被編譯成class文件,然後將它導入到網頁中由瀏覽器控制執行。
如果能熟練地掌握這兩種語言,你的網頁一定會增色不少。
SQL語言:
SQL語言簡稱「結構化查詢語言」,它結構簡潔、功能強大、簡單易學,如今無論是像Oracle、Sybace、Informix、SQL Server這些大型的資料庫管理系統,還是像Visual Foxpro、PowerBuilder這些微機上資料庫開發系統,都支持SQL語言作為查詢語言。
開發篇
當前在不同的程序設計領域都有各自的一些著名的軟體開發工具,我們今天就先把目光投向VB、VC、Delphi、C++ Builder、PowerBuilder這些大哥大級的開發工具上吧。
Visual Basic:
VB除了有強大得資料庫編程能力,還引入了面向對象得程序設計思想。它功能強大,學習簡單。而且,VB還引入「控制項」的概念,使得大量已經編好得VB程序可以被我們直接拿來使用,就像搭積木一樣簡單。如今,VB已經有了6.0版。對於初學者來說,用VB編程是一件很容易上手的事。
Visual C++:
Visual C++可以說是為專門的程序設計人員而推出的。它的功能在當前的程序設計工具中可以說是最強大的,可以說沒有VC做不到的,只有你想不到的。
Delphi:
以Object Pascle為基礎,擴充了面向對象的能力,並且完美地結合了可視化的開發手段。Delphi使用了本地編譯器直接生成技術,使程序的執行性能遠遠高於其它產品生成的程序。它還是真正的面向對象的編程語言,人們預測Delphi將會成為可視化編程的主流環境。
C++ Builder
CB是將C++的面向對象與可視化緊密結合起來的一個強大的、開發效率高的集成開發環境。CB的兼容性極強,它支持OWL 、VCL和MFC這三種常見的類庫。在BC和VC下通過的程序幾乎不用做任何修改就可以在CB下編譯通過。可以說CB是VC強有力的競爭者。
PowerBuilder:
PowerBuilder是新一代資料庫應用開發工具,它支持應用系統同時訪問多種資料庫。PowerBuilder是完全可視化的資料庫開發工具,它提供了大量控制項,大大加快了項目的開發速度。其編程語言叫做PowerScript,也是一種高級的、結構化的編程語言。PowerBuilder適合初學者快速學習資料庫開發,是一種適用面非常廣的開發工具。
方案一 Basic語言 & Visual Basic
優點
(1)Basic 簡單易學,很容易上手。
(2)Visual Basic 提供了強大的可視化編程能力,可以讓你輕松地做出漂亮的程序。
(3)眾多的控制項讓編程變得象壘積木一樣簡單。
(4)Visual Basic 的全部漢化讓我們這些見了English就頭大的人喜不自禁。
缺點
(1)Visual Basic 不是真正的面向對象的開發工具。
(2)Visual Basic 的數據類型太少,而且不支持指針,這使得它的表達能力很有限。
(3)Visual Basic 不是真正的編譯型語言,它產生的最終代碼不是可執行的,是一種偽代碼。它需要一個動態鏈接庫去解釋執行,這使得Visual Basic 的編譯速度大大變慢。
結論:方案一適合初涉編程的朋友,它對學習者的要求不高,幾乎每個人都可以在一個比較短的時間里學會vB編程,並用VB 做出自己的作品。對於那些把編程當做游戲的朋友來說,VB 是您最佳的選擇。
方案二 Pascal語言 & Delphi
優點
(1)Pascal語言結構嚴謹,可以很好地培養一個人的編程思想。
(2)Delphi是一門真正的面向對象的開發工具,並且是完全的可視化。
(3)Delphi使用了真編譯,可以讓你的代碼編譯成為可執行的文件,而且編譯速度非常快。
(4)Delphi具有強大的資料庫開發能力,可以讓你輕松地開發資料庫。
缺點
Delphi幾乎可以說是完美的,只是Pascal語言的過於嚴謹讓人感覺有點煩。
結論: 方案二比較適合那些具有一定編程基礎並且學過Pascal語言的朋友。
方案三 C語言 & Visual C++
優點
(1)C語言靈活性好,效率高,可以接觸到軟體開發比較底層的東西。
(2)微軟的MFC庫博大精深,學會它可以讓隨心所欲地進行編程。
(3)VC是微軟製作的產品,與操作系統的結合更加緊密。
缺點
對使用者的要求比較高,既要具備豐富的C語言編程經驗,又要具有一定的WINDOWS編程基礎,它過於專業
結論: VC是程序員用的東西。如果你是一個永不滿足的人,而且可以在編程上投入很大的精力和時間,那麼學習VC你一定不會後悔的。
方案四 C++語言 & C++ Builder
優點
(1)C++語言的優點全部得以繼承。
(2)完全的可是化。
(3)極強的兼容性,支持OWL、VCL和MFC三大類庫。
(4)編譯速度非常快。
缺點
由於推出的時間太短,關於它的各種資料還不太多。
結論:我認為C++ Builder 是最好的編程工具。它既保持了C++語言編程的優點,又做到了完全的可視化。
方案五 SQL語言 & Power Builder
對於一些傳統的數據開發人員來說,Foxpro系列也許讓他們感到更加熟悉。但是對於初學者來說,PowerBuilder也許是最好的資料庫開發工具。各種各樣的控制項,功能強大的PowerBuilder語言都會幫助你開發出自己的資料庫應用程序。
Ⅹ 在MFC中使用WPF技術
一 介紹
本文將以一個實例來說明如何將WPF技術集成在基於MFC的應用程序中 這種技術的主要目的是為了增強基於Win /MFC的應用程序的在圖形方面的表現能力 本文所提供的演示程序將在MFC對話框架應用程序中顯示一個WPF動畫時鍾 界面如圖 所示
本文需派賀差要的開發工具和開發庫 為了建立和運行demo程序 我們需要安裝如下的組件
Visual Studio 或Visual Studio NET Framework 或 NET Framework
所需要的平台 demo程序必須在下面支持 NET Framework 的操作系統平台上運行
Windows Vista Windows XP SP Windows Server SP
如果你是一名C++開發人員 並且想使用WPF技術來增強自己的基於Win /MFC應用程序 本文非常適合你 為了能從本文學習到更多的知識 我們需要熟悉VC++/CLi MFC XAML和C# 但是 如果我們不了解C#或XAML 我們仍然可以通過引用現成的DLL來使用WPF程序
二 什麼是WPF
WPF是Windows Presentation Foundation的拍碧縮寫 它是微軟 NET Framework 的一個子系統 這種技術允許開發人員高效地創建可視化的應用程序 並改善用戶體驗 由於WPF的發布 使用Windows程序在富控制項的設計 開發上更如虎添翼 WPF主要關注一套應用程序服務 用戶介面 D和 D 矢量圖 動畫 數據綁字 音頻 並提供一個在UI和商業邏輯之間的非常清晰的界限
WPF API是被管制的代碼 但是大多數Win /MFC程序是非管制的C++代碼 按著慣例 WPF API不能通過非常製程序調用 然後 通過使用VC編譯器的/clr選項 我們可以建立一個由管制和非管制混合而面的系統 在這個系統中 我們可以使管制和非管制代碼無縫地混合在一起
有一個要注意的是在C++工程中不允許編譯XAML文件 因此 我們必須建立一個包含在本例中所需要的所有XAML而的C# DLL 然後在C++工程中包含這個Dll引用
有兩種基本的技術可以融合WPF和Win /MFC代碼
將WPF放到Win /MFC程序中 使用這種技術 開發人員可以使用WPF的高級圖形能力來渲染Win /MFC應用程序
將Win /MFC放到WPF中 使用這種技術 開發人員可以在WPF中使用已經存在的
Win /MFC控制項 並通過一定的機制來傳遞數據
在本文中將採用第一種方法
三 融合Win /MFC和WPF程序
上面部分所說的是本例的基本規則 下面在本節中將介紹如何編寫具體的實現代碼 在本例中 我首先會演示使用XAML和C#建立WPF內容 並在VC++中引用這個DLL
本例的目的是建立一個用於設置日期和時間的設置工具 其中動畫部分使用WPF實現 程序的其他部分仍然使用MFC實現
這個演示程序由兩部分組成 一個是MFCHostMPF(由VC++/MFC代碼組成) 另一個是WPFControls(由XAML和C#代碼組成) 這個MFCHostWPF工程將由WPFControls工程所產生的DLL作為一個外部的引用 如圖 所示
向MFC工程中加入一個WPF引用 如圖 和圖 所示
三 在MFC應用程序中加入和WPF相關的代碼
先提一下 gcnew關鍵字被用於建立一個管制類型的實例 在本例中將建立一個垃圾回收集合棧的實例 所有被gcnew分配的內存空間將被垃圾回收器自動管理 而開發人員並不需要為什麼時間釋放它們而操心
為了使用WPF程序 關塵皮鍵是System::Windows::Interop::HwndSource類 這個類將在Win 窗口中使用WPF程序 因此 WPF程序可以作為MFC窗口的子窗口放到UI上 而在WPF對象和Win 窗口之間的通訊要通過引用C++程序中被存儲的靜態欄位 這些靜態欄位的代碼如下
ref class Globals { public: static System::Windows::Interop::HwndSource^ gHwndSource; static WPFControls::AnimClock^ gwcClock; };
HWND hwndWPF; // 和WPF相關的hwnd 為了建立一個HwndSource 首先需要建立一個HwndSourceParameters結構 這個結構需要如下的參數 類 窗口 窗口類型 窗口的初始位置 窗口的初始尺寸 父窗口 一但我們將HwndSourceParameters結構編寫完 就可以將這個結構到HwndSource的構造方法HwndSource(HwndSourceParameters)中 最後 我們將WPF時鍾的引用賦值給HwndSource對象的RootVisual屬性 並通過調用Handle ToPointer()返回HwndSource的HWND 代碼如下HWND GetHwnd(HWND parent int x int y int width int height) { System::Windows::Interop::HwndSourceParameters^ sourceParams = gcnew System::Windows::Interop::HwndSourceParameters ( MFCWPFApp ); sourceParams >PositionX = x; sourceParams >PositionY = y; sourceParams >Height = height; sourceParams >Width = width; sourceParams >ParentWindow = IntPtr(parent); sourceParams >WindowStyle = WS_VISIBLE | WS_CHILD; Globals::gHwndSource = gcnew System::Windows::Interop::HwndSource(*sourceParams); DateTime tm = DateTime::Now; Globals::gwcClock = gcnew WPFControls::AnimClock(); Globals::gwcClock >ChangeDateTime(tm Year tm Month tm Day tm Hour tm Minute tm Second); FrameworkElement^ myPage = Globals::gwcClock; Globals::gHwndSource >RootVisual = myPage; return (HWND) Globals::gHwndSource >Handle ToPointer(); }
因此 無論用戶如何變化時鍾 我們的MFC代碼都會調用RefereshWPFControl()來刷新WPF時鍾void RefreshWPFControl() { FrameworkElement^ page; DateTime tm = DateTime::Now; Globals::gwcClock >ChangeDateTime(tm Year tm Month tm Day tm Hour tm Minute tm Second); page = Globals::gwcClock; Globals::gHwndSource >RootVisual = page; return; }
現在我們已經有了大部分我們需要的功能了 而最後的任務是在MFC對話框代碼中找個地方調用HwndSource實現創建函數 當然 有很多地方可以做這個工作 但是OnCreate也許是最好的位置 在OnCreate事件句柄中調用GetHwnd()函數的代碼如下int CMFCHostWPFDlg::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CDialog::OnCreate(lpCreateStruct) == ) return ; hwndWPF = GetHwnd(this >GetSafeHwnd() ); return ; }
四 結論 lishixin/Article/program/net/201311/11996