现在有几种方法,从远到近说:
1、直接用windows API,语法是C的;
2、使用MFC,他是对windows API进行类的封装,语法是C++;
3、使用QT,C++语法,图形化的,这我不太熟;
4、使用WPF,这个比较特殊,他是专门做应用程序界面的,做出来及其绚丽,但他的语法好像是C#,还有什么Frame框架,反正他的语法不是C++,但可以与C++做的后台程序进行交互,现在的趋势也是用他做界面,C#做前端事务,C++做后台程序。
如果你是用微软的编译器,在windows上运行,我建议你用MFC。
需要你注意的是,C++是门语言,直接学习MFC会对学习单纯的标准C++有巨大的阻碍作用,希望小心。
winform 和WPF程序的修改方法是一样的。
在VS中找到你要修改的项目,然后右键=>属性, 选择“应用程序”选项卡,
在里面可以设置你要改的“程序集名称”,和“图标”。
EXE 程序本身的图标,和运行之后 form 的 Icon 属性,是两个概念。
前者是属于文件 PE 格式的一部分,在文件被创建后就被写死了,除非你懂得如何修改 PE 头,而且注意的是不能修改自身,只能是一个文件去修改另一个文件的 PE 头、
不一样的。xbap要求浏览的用户本机安装有NETFramework35(SP1),ASPNET不用。相当于在网页上的WPFapplication,只是访问权限是web权限。当然也可以在IIS上host。何谓一起用?xbap是单独的一个页面,可以放在同一个server上,由ASPNET链接到xbap页面。
在项目引用中添加windowsformsintegrationdll
然后在xaml用
xmlns:int="clr-namespace:systemwindowsformsintegration;assembly=windowsformsintegration"
<int:windowsformshost>
放你的winform控件
</int:windowsformshost>
摘自《WPF揭秘》
下面是WPF的一些亮点:
1 广泛整合——在WPF出现之前,Windows开发人员若需要在普通的2D图形和控件之外再
使用3D、视频、语音、富文档视图技术,就不得不学习一些独立技术,这些技术之间通
常存在许多不一致,而且是在没有多少内建支持的情况下组合运用它们。而WPF通过统
一的编程模型和紧密整合涵盖了所有这些部分,在紧密整合下,各种媒体类型都能组合
起来并一起呈现。你可以在不同媒体类型上应用一致的效果,你所学的某个领域中的许
多技术可以应用在任何其他领域。
2与分辨率无关——想象这样一个世界,在这里切换到高分辨率设置时并不意味着什么东
西都变小了,而是让图形和文本的显示更清晰!试想,用户界面在轻巧的Ultra-Mobile PC
的屏幕上和在50英寸的电视机上都能很好地显示。WPF让这一切变得简单,允许你缩小
或者放大屏幕上的元素,却不需要考虑屏幕的分辨率,因为WPF使用矢量图形,使许多
这方面的需求变为可能。
硬件加速——虽然WPF是项新技术,但是它是基于Direct3D创建的。特别要注意的是,在
WPF应用程序中无论是2D还是3D的图形或者文字内容都会被转换为3D三角形、材质和其
他Direct3D对象,并由硬件负责渲染。这意味着WPF应用程序与基于GDI的系统不同,它
们可以从硬件加速中获得好处,从而获得更平滑的图像和更好的性能
声明式编程——20多年来,Win16/Win32程序都用声明式资源脚本来定义对话框和菜单的布
局。虽然Windows Forms没有内建对声明式用户界面定义的支持,但所有类型的NET程序
通常是利用声明式定制属性和基于XML的配置和资源文件。
富创作和定制(Rich composition and customization)——WPF控件具有你从没见过的创作
能力。你可以将一些动画按钮放入一个ComboBox控件中,或者将一些视频剪辑放入一个
菜单中!
何时我该使用WPF而不是Windows Forms (Windows Forms没有用了吗)
WPF明显更适合于开发具有富媒体(rich media)的应用程序,但是有人曾说过:Windows
Forms是传统用户界面的商业应用程序的最佳选择。我认为这个说法是针对WPF测试版的,测
试版还缺少许多标准的控件(如TreeView、ListView和OpenFileDialog),也没有可视化的设
计器,这使得用WPF开发传统的Windows应用程序比用Windows Forms要难得多。
虽然Windows Forms有一些十分有用的控件(例如DataGridView和PropertyGrid)是WPF
所没有的,并且在我编写本书的时候,市场上Windows Forms有更多第三方控件,但WPF却有
一些即使对传统用户界面设计而言也是令人激动的特性(如支持分辨率无关性和高级布局)。
在第15章中,我将向你展示如何在一个WPF应用程序中使用Windows Forms控件。
因此,除非必须用Windows 98(Windows Forms 20仍然支持Windows 98但是WPF不支持),
否则我会建议你使用WPF而不是Windows Forms来开发大部分应用程序——特别是在Visual
Studio 2008发布以后。但是Windows Forms不会这么快就消失,在2005年20版本发布之后,不
会再对它做什么重大改进了。很明显,微软正在为WPF铺路(而不是Windows Forms),使它
成为未来的呈现平台
WPF应用程序也可以在Web浏览器内运行。它的优点在于有更好的开发工具和编程模型、
更加丰富的特性、健壮的控件重用性、广泛的编程语言支持,以及对于底层平台的完全访问(如
果安全机制允许的话)。但是查看这样的内容需要Windows系统和NET Framework 30
(Windows Vista和之后的版本默认安装了NET Framework 30)。
为了实现跨平台支持和到处运行,微软已经发布了Silver light。Silver light是一个小型的、
轻量级运行时环境,它是WPF的一个子集。除了支持C#和Visual Basic以外,它还支持XAML
和JavaScript,并且最终它将既可以在Windows系统也可以在非Windows系统中运行。在编写本
书的时候,WPF/E将考虑支持基于矢量的图形、图像、视频、动画、文本和基本控件,但是它
不支持3D、富文档(rich document)、可扩展性和硬件加速。就让我们拭目以待,看WPF或Silver light作为Flash的替代品将会流行到何种程度。
希望对你有帮助。
对于使用Microsoft技术的开发人员来说,这是一个激动人心的时刻。众多新平台、新技术以及新工具的不断涌现,使开发人员的舞台迅速扩大。其中,来自微软的一个新平台是NETFramework30,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语法上有一定的参考价值。但是对于这部分读者,书中的大部分内容比较高级,因此建议先学习NET20,作为学习WPF的第一步。
本书适合以下几类读者:
●准备学习WPF新平台的MicrosoftNET应用程序开发人员。
●准备研究MicrosoftExpressionBlend工具,学习使用WPF及相关工具所提供的协作特性的设计人员。
此外,熟悉以下相关技术的人员,也很适合阅读学习本书:
●MicrosoftNETFramework
●C#
●Web服务
●HTML
●CSS
以上读者,对NETFramework和C#有一个基本理解是必需的,而熟悉Web服务、HTML标记语言以及CSS概念对于学习本书中的内容有帮助,但不是必需的。对于没有NETFramework和C#基础的开发人员,可先学习《NETFramework20高级编程》和《C#2005高级编程(第4版)》(均由清华大学出版社引进并出版)这一类的书籍。
读者并不需要逐章学习本书。我们建议先学习第1章至第3章,对WPF和XAML有一个基本理解,然后浏览后面的几章,从中挑选出您感兴趣或需要的部分进行学习。
本书组织结构
本书先介绍了相关背景,包括Microsoft为什么以及怎样从长期以来使用的Win32平台转向WPF。然后,对WPF及其核心组件和子系统进行了概述,接下来介绍了ExpressionBlend工具的使用,并通过示例演示了如何创建富用户界面。后续几章具体针对与WPF开发相关的各个主题。在本书的最后简要介绍了与WPF平行的其他两个组件,这些组件共同构成了NETFramework30这一重要而又强大的平台。
本书各章内容如下所示:
●第1章 WPF概述 对于曾经开发过Windows应用程序的程序员而言,本书展示了开发Windows应用程序的一些精彩的新变化。此外,对曾经开发过Web应用程序的程序员来说,本书提供的开发方式更令人激动。 Windows Presentation Foundation,也称做WPF,是下一代图形平台。基于该平台可以构建运行于Windows Vista之上的Windows应用程序和Web应用程序,Windows Vista是Microsoft最新发布的新一代操作系统。WPF为建立优雅的并且非常灵活的用户体验提供了基础,这种用户体验是通过同时使用用户界面、应用程序逻辑、文档以及多媒体实现的。 注意: 尽管WPF最初的目标是用于Windows Vista平台,但是作为NET Framework 30(即以前的Win FX)的一部分,WPF也可以在Windows XP和Windows Server 2003平台上使用。 通过使用XAML与Microsoft Expression Designers等工具,应用程序的界面和功能可以得到进一步加强,这些工具使设计人员和开发人员可以同时开发用户界面与应用程序逻辑,从而共同提供完美的用户体验。 本章对WPF进行概述,包括以下内容: Windows API的演变。 NET Framework 30,基于Windows开发的下一代API。 WPF体系结构与开发模型。 XAML,支持WPF开发的声明式语言。 开发WPF应用程序的相关工具。 11 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应用程序中的多线程问题。最后,深入分析了NETFramework30的其他两个组件:WindowsWorkflowFoundation与WindowsCommunicationFoundation。
使用本书的条件
为了开发WPF应用程序,以及创建本书中的示例程序,必须首先安装以下软件:
●WindowsSDK
●NETFramework30运行时组件
●带有OrcasCTPWinFX开发工具的VisualStudio2005或OrcasreleaseofVisualStudio2005
注意:
在本书第2章中将给出上述所需软件的更多细节,以及介绍如何获取这些必需的组件。
//c=5/9(F-32)
#include
void main()
{
float c,f;
printf("请输入华氏温度(F):");
scanf("%f",&f);
c=(f-32)5/9;
printf("摄氏度(C)为:%2f\n",c);
}
欢迎分享,转载请注明来源:表白网
评论列表(0条)