110 likes | 122 Views
This course covers the fundamentals of GUI and Windows programming, including Win32/Windows API, Visual Studio, MFC, C#, .NET, Windows Forms, and WPF. Learn how to develop applications using various technologies and frameworks.
E N D
CS360/CS580H GUI & Windows Programming Introduction
Course Outline • Win32/Windows API & SDK • Visual Studio 2013 • MFC – C++ & MS 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 user/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 entrty point • _tWinMain • WndProc
WPF (4.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
.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