130 likes | 274 Views
CS360/CS580H. GUI & Windows Programming. Outline. Win32/Windows API & SDK Visual Studio MFC – Microsoft Foundation Classes C# & .NET – concepts Windows Forms WPF - Windows Presentation Foundation ( DirectX+XAML based) RTL included (post-Vista)
E N D
CS360/CS580H GUI & Windows Programming
Outline • Win32/Windows API & SDK • Visual Studio • MFC – Microsoft Foundation Classes • C# & .NET – concepts • Windows Forms • WPF - Windows Presentation Foundation (DirectX+XAML based) RTL included (post-Vista) • WPF controls are OK in a WinForms app & vice-versa • This is a 2nd API (based on .NET 2.0)
Win32 = Windows API • Basic windows functions • Messages from use/system • (mouse-click, close, etc.) • Usable with C/C++ • Programmer must do almost everything • Used with the Windows SDK
WinAPI Programs • WinMain • Primary entry point from OS • 3 parts • Procedure definition • Init • Message processing loop • WinProc • Performs actions to process messages
Windows Messages • Mechanism for system/user event triggering • Requires a "callback" mechanism • O/S calls your functions • Reverse of a "system call" • Message processing loop in program • Tests for message types • Calls your handler functions • Program is idle until an event
Windows Forms • GUI part of .NET Framework • Does not offer a paradigm comparable to Model–View–Controller of C++ with MFC • Event driven
MFC • A class library • Contains portions of the Win32API • Classes contain pre-written code to do things like: • Create/Open/close a window • Open a dialog box • Independent of user settings
MFC programs • InitInstance • Primary entry point • _tWinMain • WndProc
WPF (Windows Presentation Foundation) (V4.5 – Aug 2012 – may be the last version) • 1st release in 2005 • Implements SOAP & non-MS web svc's tech's. • DirectX vs. older GDI interface • XAML (based on XML) • Standalone apps • Embedded objects on a website • RTL included in all Windows post-XP • Unifies • Rendering, typography, vector graphics, animation, fixed, adaptive & pre-rendered docs, events, bindings • Poor response-time, not for low-power devices
What is .NET • From MS, “.NET is the Microsoft Web services strategy” for connecting programs, people, devices, etc. • 4 components: • Common Language Specification (CLS) • Framework Class Library (FCL) • Common Language Runtime (CLR) • .NET Tools
Common Language Specification • Common Language Specification • Provides a consistent means for inter-language communication • Allows sub-components to be in different languages, e.g.; C#, VB.Net, J#, F#, Managed C++
.NET (3.0) stack .NET Apps .NET Tools WPF CardSpace (InfoCard) Canceled! WF (Workflow) CLR, Base Class Libraries, ASP.NET, ASO.NET, WinForms Windows
Deploying .NET Framework Apps • Distinguish between the app and the Framework • http://msdn.microsoft.com/en-us/library/6hbb4k3e(v=vs.110).aspx • http://support.microsoft.com/kb/818016