Windows Programming. Krzysztof Mossakowski, MSc

Size: px
Start display at page:

Download "Windows Programming. Krzysztof Mossakowski, MSc"

Transcription

1 , MSc

2 Contents 1. Windows, messages, time, errors 2. Types, structures, macros, the mouse, the keyboard, versions 3. GDI 4. Resources, dialog boxes, controls, scrolling 5. The application, forms, events, dialog boxes 6. Containers, controls 7. Custom controls Introduction, XAML, the application 8. Controls, events, resources 9. 2-D and 3-D Graphics 10. Multimedia, animation 11. DLL libraries, the clipboard, the registry, printing 12. The memory, processes and threads, the file system 13. Windows Shell, visual styles 14. Windows Mobile 15. International applications, GUI guidelines Lecture 1-2 WIN32 API WINDOWS FORMS WPF INFORMACJE OGÓLNE

3 Lecture 1-3 Bibliography Win32: R. Simon, Microsoft Windows 2000 API SuperBible, Sams, 2000 C. Petzold, Programming Windows, 5th Ed., Microsoft Press, 1998 J. Richter, C. Nassarre, Windows via C/C++, 5th Ed., Microsoft Press, 2008 Windows Forms: M. MacDonald, Pro.NET 2.0 Windows Forms and Custom Controls, Apress, 2006 C. Petzold, Programming Microsoft Windows with C#, Microsoft Press, 2002 I. Serban et al., GDI+ Custom Controls with Visual C# 2005, Packt Publishing, 2006 Windows Presentation Foundation: C. Anderson, Essential Windows Presentation Foundation, Addison-Wesley, 2007 M. MacDonald, Pro WPF in C# 2008, 2nd Ed., Apress, 2008 S. Noble et al., WPF Recipes in C# 2008, Apress, 2008 C. Petzold, Applications = Code + Markup: A Guide to the Microsoft Windows Presentation Foundation, Microsoft Press, 2006

4 Programming Tools for Windows Win API Win16 - up to Windows 3.1 Win32s - Windows 3.1 Win32 - since Windows 95 and all versions based on NT Visual Basic Visual C++ MFC (Microsoft Foundation Class Library) WTL (Windows Template Library) Visual J++.NET Windows Forms (.NET Framework 1.0+) Windows Presentation Foundation (.NET Framework 3.0+) Lecture 1-4 Delphi Builder C++ Borland Developer Studio Qt GTK+ wxwidgets

5 Win32 API Application Lecture 1-5 #include <Windows.h> int APIENTRY _twinmain( HINSTANCE hinstance, HINSTANCE hprevinstance, LPSTR lpcmdline, int ncmdshow ) {... MyRegisterClass(hInstance);... InitInstance(hInstance, ncmdshow);... while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } } return (int)msg.wparam;

6 Lecture 1-6 The Window Class It defines window s features (the most important is the window procedure) Types of windows classes: system (e.g. Button, ComboBox, ScrollBar, MDIClient) global in application available for all modules local in application without the CS_GLOBALCLASS flag To register window s class, call one of functions: RegisterClass(CONST WNDCLASS *lpwndclass) RegisterClassEx(CONST WNDCLASSEX *lpwcx) Information about a class: GetClassInfoEx(), GetClassLong() Modification of a class: SetClassLong()

7 Lecture 1-7 Attributes of the Window Class lpszclassname [to get use the GetClassName() function] lpfnwndproc hinstance hcursor [or use: SetCursor(), WM_SETCURSOR] hicon, hiconsm [or use the WM_SETICON message] hbrbackground [or use the WM_ERASEBKGND message] lpszmenuname style [e.g. CS_DBLCLKS] cbclsextra [SetClassWord(), GetClassWord()] cbwndextra [SetWindowLong(), GetWindowLong()]

8 Registration of a Window Class Lecture 1-8 ATOM MyRegisterClass(HINSTANCE hinstance) { WNDCLASSEX wcex; wcex.cbsize = sizeof(wndclassex); wcex.style = CS_HREDRAW CS_VREDRAW; wcex.lpfnwndproc = (WNDPROC)WndProc; wcex.cbclsextra = 0; wcex.cbwndextra = 0; wcex.hinstance = hinstance; wcex.hicon = LoadIcon(hInstance, (LPCTSTR)IDI_MY001); wcex.hcursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrbackground =(HBRUSH)(COLOR_WINDOW+1); wcex.lpszmenuname = (LPCTSTR)IDC_MY001; wcex.lpszclassname = szwindowclass; wcex.hiconsm = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL); return RegisterClassEx(&wcex); }

9 The CreateWindow Function Lecture 1-9 HWND CreateWindow( LPCTSTR lpclassname, LPCTSTR lpwindowname, DWORD dwstyle, int x, int y, int nwidth, int nheight, HWND hwndparent, HMENU hmenu, HINSTANCE hinstance, LPVOID lpparam ); HWND CreateWindowEx( DWORD dwexstyle, LPCTSTR lpclassname, LPCTSTR lpwindowname, DWORD dwstyle, int x, int y, int nwidth, int nheight, HWND hwndparent, HMENU hmenu, HINSTANCE hinstance, LPVOID lpparam );

10 Window Creation Lecture 1-10 [VS.NET] BOOL InitInstance(HINSTANCE hinstance, int ncmdshow) { HWND hwnd; hwnd = CreateWindow(szWindowClass, sztitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hinstance, NULL); if (!hwnd) { return FALSE; } } ShowWindow(hWnd, ncmdshow); UpdateWindow(hWnd); return TRUE;

11 Lecture 1-11 Messages The basic rule for all Windows applications is to respond to events generated by the system and the user All messages sent to the window are handled in the window procedure The message: parameters: hwnd, identifier, wparam, lparam MSG structure Types of messages: system WM_USER + _ WM_APP + _ registered (RegisterWindowMessage())

12 Lecture 1-12 Message Queues The message queue is a FIFO structure stored in system memory Queued messages: user interface, e.g. WM_MOUSEMOVE, WM_CHAR WM_TIMER, WM_PAINT, WM_QUIT Functions for queued messages: PostMessage(), PostThreadMessage() GetMessage(), PeekMessage(), DispatchMessage() GetMessageTime(), GetMessagePos() WaitMessage() SendMessageExtraInfo(), GetMessageExtraInfo()

13 Lecture 1-13 Nonqueued Messages Routed directly to the window procedure Examples: notifications for a window, e.g. WM_ACTIVATE, WM_SETFOCUS, WM_SETCURSOR actions from functions, e.g. WM_WINDOWPOSCHANGED after SetWindowPos() Functions sending nonqueued messages: SendMessage(), SendMessageCallback() BroadcastSystemMessage(), BroadcastSystemMessageEx() SendMessageTimeout() SendNotifyMessage() SendDlgItemMessage()

14 The Message Loop Lecture 1-14 The GetMessage() function returns FALSE when WM_QUIT is taken from the message loop The PostQuitMessage() function sends the WM_QUIT message to the queue Functions modifying messages: TranslateAccelerator() TranslateMessage() IsDialogMessage() while (GetMessage(&msg, NULL, 0, 0)) { if (TranslateAccelerator(msg.hwnd, hacceltable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } }

15 Lecture 1-15 The Window Procedure It is a function which processes all messages sent to the window The window procedure is common for all windows of one window class The window procedure takes 4 parameters: HWND, UINT, WPARAM, LPARAM It returns a value of type LRESULT (specific for a message) The default window procedure: DefWindowProc() Changing the window procedure (subclassing) for one window: SetWindowLong(), GetWindowLong() for a window class: SetClassLong(), GetClassLong() use CallWindowProc() to handle a message

16 Lecture 1-16 Window Procedure Sample LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; PAINTSTRUCT ps; HDC hdc; switch (message) { case WM_PAINT: hdc = BeginPaint(hWnd, &ps); EndPaint(hWnd, &ps); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc( hwnd, message, wparam, lparam); } return 0; }

17 Window s Elements Lecture 1-17

18 Types of Windows Overlapped Lecture 1-18 a top-level window with a title, border and client area in most cases, it is the main window of the application overlapped windows have the WS_OVERLAPPED or WS_OVERLAPPEDWINDOW style applied Pop-up dialog boxes, message boxes, and other windows positioned outside the main window the WS_POPUP lub WS_POPUPWINDOW style must be applied Child Layered [2000+] they support opacity and transparency the WS_EX_LAYERED must be applied Message-only [2000+]

19 Lecture 1-19 Child Windows Confined to the parent window s client area They always have the WS_CHILD style applied Clipping - WS_CLIPCHILDREN, WS_CLIPSIBLINGS Parent windows all child windows are moved, hidden and destroyed with their parents SetParent(), GetParent(), GetAncestor() EnumChildWindows(), IsChild() Messages sent directly to the child window s procedure sent to a parent when the child window is disabled notification messages are sent from a child to the parent window The WS_EX_LAYERED style does not work for child windows

20 Window Relationships Foreground, background Lecture 1-20 the foreground window is a non-child window with which the user is currently working GetForegroundWindow(), SetForegroundWindow() Z-order the order of drawing overlapping windows WS_EX_TOPMOST BringWindowToTop(), SetWindowPos(), DeferWindowPos() GetTopWindow(), GetNextWindow() The owned window always above its owner in the Z-order destroyed with its owner hidden when its owner is minimized CreateWindowEx(), GetWindow() with GW_OWNER

21 Lecture 1-21 Active and Disabled Windows Activation the active window the user is currently working with it (from the same thread as the foreground window) SetActiveWindow(), GetActiveWindow(), SetWindowPlacement() WM_ACTIVETEAPP, WM_ACTIVATE Disabling a disabled window receives neither keyboard nor mouse input it receives messages from other windows, applications and the system WS_DISABLED EnableWindow(), IsWindowEnabled() WM_ENABLE

22 Lecture 1-22 Visible, Minimized, Maximized Windows Visibility hidden windows are not drawn they have the WS_VISIBLE style IsWindowVisible(), ShowWindow(), SetWindowPos(), DeferWindowPos(), SetWindowPlacement(), SetWindowLong(), ShowOwnedPopups() WM_SHOWWINDOW Minimized, maximized and restored windows WS_MINIMIZE, WS_MAXIMIZE IsZoomed(), IsIconic(), GetWindowPlacement() CloseWindow(), ShowWindow(), SetWindowPlacement() WM_QUERYOPEN, WM_GETMINMAXINFO

23 Lecture 1-23 Size and Position of a Window To use the default position and size, apply the CW_USEDEFAULT constant in the window class System commands are sent as WM_SYSCOMMAND Functions: MoveWindow(), SetWindowPos(), SetWindowPlacement(), CascadeWindows(), TileWindows() GetWindowRect(), GetClientRect(), AdjustWindowRect() ScreenToClient(), ClientToScreen(), MapWindowPoints() WindowFromPoint(), ChildWindowFromPoint() Messages: WM_WINDOWPOSCHANGING, WM_WINDOWPOSCHANGED WM_SIZE, WM_SIZING, WM_MOVE, WM_MOVING WM_NCCALCSIZE WM_GETMINMAXINFO

24 Lecture 1-24 Destruction of a Window Actions taken by the system during destruction of a window: hiding the window (if it is visible) removing window s internal data invalidating the window s handle The DestroyWindow() function: 1. sends the WM_DESTROY message to the window 2. sends the WM_DESTROY message to all descendant windows The WM_CLOSE message: is received when the user clicks the close button (X) an application can prompt the user for a confirmation the DestroyWindow() function can be called to destroy the window

25 Lecture 1-25 The Most Useful Window Styles The type of a window: WS_CHILD, WS_OVERLAPPED, WS_POPUP, WS_EX_APPWINDOW, WS_EX_TOOLWINDOW, WS_EX_MDICHILD Window s border: WS_BORDER, WS_DLGFRAME, WS_THICKFRAME, WS_EX_CLIENTEDGE, WS_EX_WINDOWEDGE Elements of a window: WS_HSCROLL, WS_VSCROLL, WS_CAPTION, WS_MINIMIZEBOX, WS_MAXIMIZEBOX, WS_SYSMENU Other features: WS_EX_ACCEPTFILES, WS_EX_CONTEXTHELP, WS_EX_LEFTSCROLLBAR

26 Lecture 1-26 Other Window s Features The class GetClassName(), GetClassInfo(), SetClassInfo() GetClassWord(), SetClassWord() The name GetWindowText(), SetWindowText(), GetWindowTextLength() The private data GetWindowLong(), SetWindowLong() with GWL_USERDATA The handle - HWND FindWindow(), FindWindowEx() IsWindow()

27 Lecture 1-27 Scenario of Using a Window 1. The class is registered RegisterClass(), RegisterClassEx() 2. The window is created CreateWindow(), CreateWindowEx() 3. All messages are processed WndProc() 4. The window is destroyed DestroyWindow() WM_CLOSE, WM_DESTROY

28 Lecture 1-28 The Desktop The desktop is a window created at system startup It covers the screen It can have a wallpaper Functions: GetDesktopWindow() SystemParametersInfo() SPI_GETDESKWALLPAPER, SPI_SETDESKWALLPAPER SPI_SETDESKPATTERN SPI_GETWORKAREA, SPI_SETWORKAREA

29 Time The simplest timer (very inaccurate) SetTimer(), KillTimer() WM_TIMER Period of time GetTickCount() GetSystemTimeAdjustment() High-resolution timer QueryPerformanceCounter() QueryPerformanceFrequency() The system time GetSystemTime(), SetSystemTime(), GetTimeFormat() The local time GetLocalTime(), SetLocalTime() Lecture 1-29

30 Lecture 1-30 System Errors The last-error code the only way to check the reason of a failure of the last called Win32 API function GetLastError(), FormatMessage(), SetLastError() User notifications MessageBox() MB_ABORTRETRYIGNORE, MB_OK, MB_OKCANCEL, MB_RETRYCANCEL, MB_YESNO, MB_YESNOCANCEL MB_ICONEXCLAMATION, MB_ICONWARNING, MB_ICONCONFIRMATION, MB_ICONASTERISK, MB_ICONQUESTION, MB_ICONSTOP, MB_ICONERROR MessageBeep(), Beep() FlashWindow(), FlashWindowEx()

Windows Programming. 1 st Week, 2011

Windows Programming. 1 st Week, 2011 Windows Programming 1 st Week, 2011 시작하기 Visual Studio 2008 새프로젝트 파일 새로만들기 프로젝트 Visual C++ 프로젝트 Win32 프로젝트 빈프로젝트 응용프로그램설정 Prac01 솔루션 새항목추가 C++ 파일 main.cpp main0.cpp cpp 다운로드 솔루션빌드 오류 Unicode vs. Multi-Byte

More information

Introduction to Computer Graphics (CS602) Lecture No 04 Point

Introduction to Computer Graphics (CS602) Lecture No 04 Point Introduction to Computer Graphics (CS602) Lecture No 04 Point 4.1 Pixel The smallest dot illuminated that can be seen on screen. 4.2 Picture Composition of pixels makes picture that forms on whole screen

More information

We display some text in the middle of a window, and see how the text remains there whenever the window is re-sized or moved.

We display some text in the middle of a window, and see how the text remains there whenever the window is re-sized or moved. 1 Programming Windows Terry Marris January 2013 2 Hello Windows We display some text in the middle of a window, and see how the text remains there whenever the window is re-sized or moved. 2.1 Hello Windows

More information

Windows and Messages. Creating the Window

Windows and Messages. Creating the Window Windows and Messages In the first two chapters, the sample programs used the MessageBox function to deliver text output to the user. The MessageBox function creates a "window." In Windows, the word "window"

More information

Getting Started. 1 st Week, Sun-Jeong Kim. Computer Graphics Applications

Getting Started. 1 st Week, Sun-Jeong Kim. Computer Graphics Applications OpenGL Programming Getting Started 1 st Week, 2008 Sun-Jeong Kim Visual Studio 2005 Windows Programming 2 Visual C++ Win32 Application New Project 3 Empty project Application Settings 4 Solution Prac01

More information

Window programming. Programming

Window programming. Programming Window programming 1 Objectives Understand the mechanism of window programming Understand the concept and usage of of callback functions Create a simple application 2 Overview Windows system Hello world!

More information

4 th (Programmatic Branch ) Advance Windows Programming class

4 th (Programmatic Branch ) Advance Windows Programming class Save from: www.uotechnology.edu.iq 4 th (Programmatic Branch ) Advance Windows Programming class برمجة نوافذ المتقدمة أعداد :م.علي حسن حمادي 2006... 2010 >==> 2012 2013 CONTENTS: The Components of a Window

More information

2. On the main menu, click File -> New... or File -> New -> Other... Windows Fundamentals

2. On the main menu, click File -> New... or File -> New -> Other... Windows Fundamentals Windows Fundamentals http://www.functionx.com/win32/index.htm http://www.functionx.com/visualc/index.htm Introduction to windows Overview Microsoft Windows is an operating system that helps a person interact

More information

/*********************************************************************

/********************************************************************* Appendix A Program Process.c This application will send X, Y, Z, and W end points to the Mx4 card using the C/C++ DLL, MX495.DLL. The functions mainly used are monitor_var, change_var, and var. The algorithm

More information

Chapter 15 Programming Paradigm

Chapter 15 Programming Paradigm Chapter 15 Programming Paradigm A Windows program, like any other interactive program, is for the most part inputdriven. However, the input of a Windows program is conveniently predigested by the operating

More information

hinstance = ((LPCREATESTRUCT)lParam)->hInstance obtains the program's instance handle and stores it in the static variable, hinstance.

hinstance = ((LPCREATESTRUCT)lParam)->hInstance obtains the program's instance handle and stores it in the static variable, hinstance. 1 Programming Windows Terry Marris Jan 2013 6 Menus Three programs are presented in this chapter, each one building on the preceding program. In the first, the beginnings of a primitive text editor are

More information

Programming in graphical environment. Introduction

Programming in graphical environment. Introduction Programming in graphical environment Introduction The lecture Additional resources available at: http://www.mini.pw.edu.pl/~maczewsk/windows_2004 Recommended books: Programming Windows - Charles Petzold

More information

Creating a DirectX Project

Creating a DirectX Project Creating a DirectX Project A DirectPLay Chat Program Setting up your Compiler for DirectX Install DirectX SDK Make sure your compiler has path to directx8/include Directx8/lib Directx8/samples/multimedia/common/src

More information

Game Programming I. Introduction to Windows Programming. Sample Program hello.cpp. 5 th Week,

Game Programming I. Introduction to Windows Programming. Sample Program hello.cpp. 5 th Week, Game Programming I Introduction to Windows Programming 5 th Week, 2007 Sample Program hello.cpp Microsoft Visual Studio.Net File New Project Visual C++ Win32 Win32 Project Application Settings Empty project

More information

CS410 Visual Programming Solved Online Quiz No. 01, 02, 03 and 04. For Final Term Exam Preparation by Virtualians Social Network

CS410 Visual Programming Solved Online Quiz No. 01, 02, 03 and 04. For Final Term Exam Preparation by Virtualians Social Network CS410 Visual Programming Solved Online Quiz No. 01, 02, 03 and 04 For Final Term Exam Preparation by Virtualians Social Network 1. Ptr -> age is equivalent to *ptr.age ptr.age (ptr).age (*ptr).age 2. is

More information

LSN 4 GUI Programming Using The WIN32 API

LSN 4 GUI Programming Using The WIN32 API LSN 4 GUI Programming Using The WIN32 API ECT362 Operating Systems Department of Engineering Technology LSN 4 Why program GUIs? This application will help introduce you to using the Win32 API Gain familiarity

More information

C Windows 16. Visual C++ VC Borland C++ Compiler BCC 2. Windows. c:\develop

C Windows 16. Visual C++ VC Borland C++ Compiler BCC 2. Windows. c:\develop Windows Ver1.01 1 VC BCC DOS C C Windows 16 Windows98/Me/2000/XP MFC SDL Easy Link Library Visual C++ VC Borland C++ Compiler BCC 2 2 VC MFC VC VC BCC Windows DOS MS-DOS VC BCC VC BCC VC 2 BCC5.5.1 c:\develop

More information

CS410. Note: VuGujranwala.com is not responsible for any solved solution, but honestly we are trying our best to Guide correctly.

CS410. Note: VuGujranwala.com is not responsible for any solved solution, but honestly we are trying our best to Guide correctly. CS410 Note: VuGujranwala.com is not responsible for any solved solution, but honestly we are trying our best to Guide correctly. Prepared By : Exam Term : Mid Total MCQS : 69 page 1 / 12 1 - Choose Command

More information

IFE: Course in Low Level Programing. Lecture 5

IFE: Course in Low Level Programing. Lecture 5 Lecture 5 Windows API Windows Application Programming Interface (API) is a set of Windows OS service routines that enable applications to exploit the power of Windows operating systems. The functional

More information

Advantech Windows CE.net Application Hand on Lab

Advantech Windows CE.net Application Hand on Lab Advantech Windows CE.net Application Hand on Lab Lab : Serial Port Communication Objectives After completing this lab, you will be able to: Create an application to open, initialize the serial port, and

More information

CS410 Visual Programming Solved Objective Midterm Papers For Preparation of Midterm Exam

CS410 Visual Programming Solved Objective Midterm Papers For Preparation of Midterm Exam CS410 Visual Programming Solved Objective Midterm Papers For Preparation of Midterm Exam 1. If we pass NULL value to "GetDC" function, it retrieves the DC for the: Entire Screen Parent Window Client Window

More information

Question No: 1 (Marks: 1) - Please choose one For showing Dialog we can use "ShowWindow(...)" function.

Question No: 1 (Marks: 1) - Please choose one For showing Dialog we can use ShowWindow(...) function. MUHAMMAD FAISAL MIT 4 th Semester Al-Barq Campus (VGJW01) Gujranwala faisalgrw123@gmail.com CS410 Mega File of Solved Mid Term Papers CS410 - WINDOWS PROGRAMMING Question No: 1 (Marks: 1) - Please choose

More information

Aspect-Oriented Programming with C++ and AspectC++ AOSD 2007 Tutorial. Part V Examples. Examples V/1

Aspect-Oriented Programming with C++ and AspectC++ AOSD 2007 Tutorial. Part V Examples. Examples V/1 Aspect-Oriented Programming with C++ and AspectC++ AOSD 2007 Tutorial Part V V/1 AspectC++ in Practice - Applying the observer protocol Example: a typical scenario for the widely used observer pattern

More information

An Introduction to Windows Programming Using VC++ Computer Graphics. Binghamton University. EngiNet. Thomas J. Watson

An Introduction to Windows Programming Using VC++ Computer Graphics. Binghamton University. EngiNet. Thomas J. Watson Binghamton University EngiNet State University of New York EngiNet Thomas J. Watson School of Engineering and Applied Science WARNING All rights reserved. No Part of this video lecture series may be reproduced

More information

We take a look at implementing some file menu options: New, Open, Save, Save As and Exit.

We take a look at implementing some file menu options: New, Open, Save, Save As and Exit. 1 Programming Windows Terry Marris Jan 2013 7 Files We take a look at implementing some file menu options: New, Open, Save, Save As and Exit. 7.1 Header File The header file is largely unchanged from chapter

More information

Computer Programming Lecture 11 이윤진서울대학교

Computer Programming Lecture 11 이윤진서울대학교 Computer Programming Lecture 11 이윤진서울대학교 2007.1.24. 24 Slide Credits 엄현상교수님 서울대학교컴퓨터공학부 Computer Programming, g, 2007 봄학기 Object-Oriented Programming (2) 순서 Java Q&A Java 개요 Object-Oriented Oriented Programming

More information

// handle of dialog box

// handle of dialog box GetDlgItemText / GetDlgItemTextA / GetDlgItemTextW Hàm GetDlgItemText có nhiệm vụ tìm title hoặc text kết hợp với control trong dialog box UINT GetDlgItemText( HWND hdlg, int niddlgitem, LPTSTR lpstring,

More information

Windows Printer Driver User Guide for NCR Retail Printers. B Issue G

Windows Printer Driver User Guide for NCR Retail Printers. B Issue G Windows Printer Driver User Guide for NCR Retail Printers B005-0000-1609 Issue G The product described in this book is a licensed product of NCR Corporation. NCR is a registered trademark of NCR Corporation.

More information

Course 3D_OpenGL: 3D-Graphics with C++ and OpenGL Chapter 1: Moving Triangles

Course 3D_OpenGL: 3D-Graphics with C++ and OpenGL Chapter 1: Moving Triangles 1 Course 3D_OpenGL: 3D-Graphics with C++ and OpenGL Chapter 1: Moving Triangles Project triangle1 Animation Three Triangles Hundred Triangles Copyright by V Miszalok, last update: 2011-03-20 This project

More information

Using DAQ Event Messaging under Windows NT/95/3.1

Using DAQ Event Messaging under Windows NT/95/3.1 Application Note 086 Using DAQ Event Messaging under Windows NT/95/3.1 by Ken Sadahiro Introduction The NI-DAQ language interface for PCs is mostly a "polling-oriented" Application Programming Interface,

More information

Tutorial 3: A Simple Window

Tutorial 3: A Simple Window Tutorial 3: A Simple Window In this tutorial, we will build a Windows program that displays a fully functional window on the desktop. Source Code for This Tutorial: // Iczelion's tutorial #3: A Simple

More information

Programming In Windows. By Minh Nguyen

Programming In Windows. By Minh Nguyen Programming In Windows By Minh Nguyen Table of Contents **************************************************************** Overview.. 3 Windows Programming Setup..3 Sample Skeleton Program.3 In Depth Look

More information

systemove programovanie win32 programovanie

systemove programovanie win32 programovanie systemove programovanie win32 programovanie zakladny princip uzivatel interaguje so systemom klavesnicou, mysou tym generuje udalosti, ktore sa radia do,,message queue" (front sprav) aplikacia vytahuje

More information

Alisson Sol Knowledge Engineer Engineering Excellence June 08, Public version

Alisson Sol Knowledge Engineer Engineering Excellence June 08, Public version Alisson Sol Knowledge Engineer Engineering Excellence June 08, 2011 Public version Information about the current inflection point Mature Mainframe, desktop, graphical user interface, client/server Evolving

More information

Programmer s Manual MM/104 Multimedia Board

Programmer s Manual MM/104 Multimedia Board Programmer s Manual MM/104 Multimedia Board Ver. 1.0 11. Sep. 1998. Copyright Notice : Copyright 1998, INSIDE Technology A/S, ALL RIGHTS RESERVED. No part of this document may be reproduced or transmitted

More information

Windows Programming in C++

Windows Programming in C++ Windows Programming in C++ You must use special libraries (aka APIs application programming interfaces) to make something other than a text-based program. The C++ choices are: The original Windows SDK

More information

. DRAFT version 0.681

. DRAFT version 0.681 . . D R ve A r F 0. sio T 68 n 1 VULKAN GRAPHICS API IN 20 MINUTES (Coffee Break Series) Kenwright Copyright c 2016 Kenwright All rights reserved. No part of this book may be used or reproduced in any

More information

Modern GUI applications may be composed from a number of different software components.

Modern GUI applications may be composed from a number of different software components. Chapter 3 GUI application architecture Modern GUI applications may be composed from a number of different software components. For example, a GUI application may access remote databases, or other machines,

More information

Task Toolkit Manual for InduSoft Web Studio v6.1+sp3

Task Toolkit Manual for InduSoft Web Studio v6.1+sp3 Task Toolkit Manual for InduSoft Web Studio v6.1+sp3 This manual documents the public Studio Toolkit functions and example program. 1. Introduction The Studio Toolkit is a set of functions provided in

More information

Hands-On Lab. Multitouch Gestures - Native. Lab version: Last updated: 12/3/2010

Hands-On Lab. Multitouch Gestures - Native. Lab version: Last updated: 12/3/2010 Hands-On Lab Multitouch Gestures - Native Lab version: 1.0.0 Last updated: 12/3/2010 CONTENTS OVERVIEW... 3 EXERCISE 1: BUILD A MULTITOUCH APPLICATION... 7 Task 1 Create the Win32 Application... 7 Task

More information

Designing Interactive Systems II

Designing Interactive Systems II Designing Interactive Systems II Computer Science Graduate Programme SS 2010 Prof. Dr. RWTH Aachen University http://hci.rwth-aachen.de 1 Review: Conviviality (Igoe) rules for networking role of physical

More information

Qno.2 Write a complete syantax of "Getparents" functions? What kind of value it return and when this function is use? Answer:-

Qno.2 Write a complete syantax of Getparents functions? What kind of value it return and when this function is use? Answer:- CS410 Visual Programming Solved Subjective Midterm Papers For Preparation of Midterm Exam Qno.1 How can I use the CopyTo method of the Windows Forms controls collection to copy controls into an array?

More information

Review. Designing Interactive Systems II. The Apple Macintosh

Review. Designing Interactive Systems II. The Apple Macintosh Review Designing Interactive Systems II Computer Science Graduate Programme SS 2010 Prof. Dr. Media Computing Group RWTH Aachen University What is the difference between Smalltalk, Squeak, and Morphic?

More information

Input and Interaction

Input and Interaction Input and Interaction 5 th Week, 2011 Graphical Input Devices Mouse Trackball Light Pen Data Tablet Joy Stick Space Ball Input Modes Input devices contain a trigger which can be used to send a signal to

More information

arxiv: v1 [physics.med-ph] 22 Aug 2016

arxiv: v1 [physics.med-ph] 22 Aug 2016 arxiv:1608.06248v1 [physics.med-ph] 22 Aug 2016 Visual C++ Implementation of Sinogram-based Adaptive Iterative Reconstruction for Sparse View X-Ray CT D. Trinca a,, Y. Zhong b, Y. Wang b, T. Mamyrbayev

More information

Front Panel: Free Kit for Prototyping Embedded Systems on Windows

Front Panel: Free Kit for Prototyping Embedded Systems on Windows QP state machine frameworks for Microsoft Windows Front Panel: Document Revision D February 2015 Copyright Quantum Leaps, LLC info@state-machine.com www.state-machine.com Table of Contents 1 Introduction...

More information

Game Programming Genesis Part II : Using Resources in Win32 Programs by Joseph "Ironblayde" Farrell

Game Programming Genesis Part II : Using Resources in Win32 Programs by Joseph Ironblayde Farrell Game Programming Genesis Part II : Using Resources in Win32 Programs GameDev.net Introduction Game Programming Genesis Part II : Using Resources in Win32 Programs by Joseph "Ironblayde" Farrell Welcome

More information

MOBILE COMPUTING Practical 1: Graphic representation

MOBILE COMPUTING Practical 1: Graphic representation MOBILE COMPUTING Practical 1: Graphic representation Steps 2) Then in class view select the Global, in global select the WINMAIN. 3) Then write the below code below #define MAX_LOADSTRING 100 enum Shapes

More information

Lecture 5: Introducing Dialog Boxes & Child Window Controls for Win 32 API

Lecture 5: Introducing Dialog Boxes & Child Window Controls for Win 32 API Lecture 5: Introducing Dialog Boxes & Child Window Controls for Win 32 API What is Dialog Box? How to make your project to have a Dialog Box Modal Dialog Modeless Dialog WM_INITDIALOG Child Window Controls

More information

Click Next to Continue

Click Next to Continue Exploits & Information about Shatter Attacks Click Next to Continue Chris Paget Introduction Software 3 exploits to be released Techniques for code injection and execution User impersonation

More information

HANNAH HOWARD #ABOUTME

HANNAH HOWARD #ABOUTME HANNAH HOWARD #ABOUTME Personal @techgirlwonder hannah@carbon Anecdote: I have ve.com a dog she/her REACTIVE PROGRAMMING: A Better Way to Write Frontend Applications 1. PROBLEM STATEMENT WHAT IS A COMPUTER

More information

Win32 Multilingual IME Overview for IME Development

Win32 Multilingual IME Overview for IME Development 1 Win32 Multilingual IME Overview for IME Development Version 1.41 04-01-1999 This documentation introduces the basics on how to develop an IME for Windows 95, Windows 98, and Windows NT/2000. It is also

More information

: Lập trình Win32. Lập trình Win32 API. vncoding.net Page 1. Date : 07/09/2014

: Lập trình Win32. Lập trình Win32 API. vncoding.net Page 1. Date : 07/09/2014 Title Author : Lập trình Win32 : Vu Hong Viet Date : 07/09/2014 Lập trình Win32 API 1. Giới thiệu Đây là Tutorial cho lập trình Windows API. Tutorial này sẽ hướng dẫn bạn những kiến thức cơ bản và nâng

More information

Hands-On Lab. Multi-Touch WMTouch - Native. Lab version: Last updated: 12/3/2010

Hands-On Lab. Multi-Touch WMTouch - Native. Lab version: Last updated: 12/3/2010 Hands-On Lab Multi-Touch WMTouch - Native Lab version: 1.0.0 Last updated: 12/3/2010 CONTENTS OVERVIEW... 3 EXERCISE 1: BUILD A MULTI-TOUCH APPLICATION... 5 Task 1 Create the Win32 Application... 5 Task

More information

ProForth VFX for Windows

ProForth VFX for Windows More real Less time ProForth VFX for Windows ProForth VFX for Windows features a completely new Forth kernel written to the ANS Forth standard. ProForth VFX includes the VFX optimising code generator which

More information

Lecture 4. Drawing - coordinate systems Advanced drawing - bitmaps, regions, clipping, metafiles

Lecture 4. Drawing - coordinate systems Advanced drawing - bitmaps, regions, clipping, metafiles Lecture 4 Drawing - coordinate systems Advanced drawing - bitmaps, regions, clipping, metafiles Coordinate systems int SetMapMode( HDC hdc, int nmapmode ); MM_TEXT MM_LOMETRIC MM_HIMETRIC MM_ANISOTROPIC

More information

Different Ways of Writing Windows Programs

Different Ways of Writing Windows Programs How Windows Works Notes for CS130 Dr. Beeson Event-Driven Programming. In Windows, and also in Java applets and Mac programs, the program responds to user-initiated events: mouse clicks and key presses.

More information

Adventures in Messaging

Adventures in Messaging Adventures in Messaging CHAPTER 3 IN THIS CHAPTER What Is a Message? 130 Types of Messages 131 How the Windows Message System Works 132 Delphi s Message System 133 Handling Messages 134 Sending Your Own

More information

BÀI 2. CÁC CHẾ ĐỘ VÀO RA TRÊN WINSOCK

BÀI 2. CÁC CHẾ ĐỘ VÀO RA TRÊN WINSOCK BÀI 2. CÁC CHẾ ĐỘ VÀO RA TRÊN WINSOCK 1 Nội dung Chế độ vào ra blocking và non-blocking Kỹ thuật đa luồng Kỹ thuật thăm dò Kỹ thuật vào ra theo thông báo Kỹ thuật vào ra theo sự kiện Kỹ thuật Overlapped

More information

Windows Socket Message-Driven/WSAAsyncSelect Model. Prof. Lin Weiguo Copyleft 2009~2015, College of Computing, CUC

Windows Socket Message-Driven/WSAAsyncSelect Model. Prof. Lin Weiguo Copyleft 2009~2015, College of Computing, CUC Windows Socket Message-Driven/WSAAsyncSelect Model Prof. Lin Weiguo Copyleft 2009~2015, College of Computing, CUC Dec 2015 Note You should not assume that an example in this presentation is complete. Items

More information

Introducing MFC. Programming Windows with MFC, Second Edition. Jeff Prosise

Introducing MFC. Programming Windows with MFC, Second Edition. Jeff Prosise Introducing MFC Programming Windows with MFC, Second Edition. Jeff Prosise 1 Hello, MFC Short Years Ago Windows Applications written in C: Knowing the ins and outs of new operating system Knowing hundreds

More information

Digital Storage Oscilloscope. Appendix

Digital Storage Oscilloscope. Appendix Digital Storage Oscilloscope Appendix Thomas Grocutt April 2000 Contents 8) Appendix 1 8.1) DSO Control Software 1 8.1.1) Main.c 1 8.1.2) Main.h 3 8.1.3) GUI.c 4 8.1.4) Gui.h 33 8.1.5) Plot_Data.c 35 8.1.6)

More information

Common Controls FAQ. I hope this will be useful to you.

Common Controls FAQ. I hope this will be useful to you. Common Controls FAQ The contents of this documents have been adapted from the Microsoft documentation. The motivation is that the current win32.hlp file doesn t reflect the enormous changes that has undergone

More information

CIS 488 Programming Assignment 14 Using Borland s OWL

CIS 488 Programming Assignment 14 Using Borland s OWL CIS 488 Programming Assignment 14 Using Borland s OWL Introduction The purpose of this programming assignment is to give you practice developing a Windows program using Borland Object Windows Library,

More information

Game Programming Genesis Part III : Tracking Your Window and Using GDI by Joseph "Ironblayde" Farrell

Game Programming Genesis Part III : Tracking Your Window and Using GDI by Joseph Ironblayde Farrell Game Programming Genesis Part III : Tracking Your Window and Using GDI GameDev.net Game Programming Genesis Part III : Tracking Your Window and Using GDI by Joseph "Ironblayde" Farrell Introduction If

More information

Windows Event Binding Made Easy Doug Hennig

Windows Event Binding Made Easy Doug Hennig Windows Event Binding Made Easy Doug Hennig A feature available in other development environments but missing in VFP is the ability to capture Windows events. VFP 9 extends the BINDEVENT() function to

More information

uvi ... Universal Validator Interface Software Developers Kit Revision /29/04 Happ Controls

uvi ... Universal Validator Interface Software Developers Kit Revision /29/04 Happ Controls Happ Controls 106 Garlisch Drive Elk Grove, IL 60007 Tel: 888-289-4277 / 847-593-6130 Fax: 847-593-6137 www.happcontrols.com uvi Universal Validator Interface Software Developers Kit.......... Revision

More information

Multithreading Multi-Threaded Programming. Prof. Lin Weiguo Copyleft 2009~2017, School of Computing, CUC

Multithreading Multi-Threaded Programming. Prof. Lin Weiguo Copyleft 2009~2017, School of Computing, CUC Multithreading Multi-Threaded Programming Prof. Lin Weiguo Copyleft 2009~2017, School of Computing, CUC Oct. 2017 Note You should not assume that an example in this presentation is complete. Items may

More information

CC Pilot XS. Video interface description

CC Pilot XS. Video interface description CC Pilot XS Video interface description Table of Contents Introduction... 3 Purpose... 3 References... 3 History... 3 Introdution... 4 Starting CCVideoXS... 4 Controlling CCVideoXS... 5 Windows messages...

More information

Windows Programming DCAP509

Windows Programming DCAP509 Windows Programming DCAP509 WINDOWS PROGRAMMING Copyright 2012 Vikas Jain All rights reserved Produced & Printed by EXCEL BOOKS PRIVATE LIMITED A-45, Naraina, Phase-I, New Delhi-110028 for Lovely Professional

More information

iscobol TM Evolve Cobol-WOW

iscobol TM Evolve Cobol-WOW iscobol TM Evolve Cobol-WOW 2018 Veryant. All rights reserved. Copyright 2018 Veryant LLC. All rights reserved. This product or document is protected by copyright and distributed under licenses restricting

More information

Application Note QWinTM GUI Kit for Prototyping Embedded Systems on Windows

Application Note QWinTM GUI Kit for Prototyping Embedded Systems on Windows QP state machine frameworks for Microsoft Windows QWinTM GUI Kit for Prototyping Document Revision H June 2017 Copyright Quantum Leaps, LLC info@state-machine.com www.state-machine.com Table of Contents

More information

Client and Server (DirectX)

Client and Server (DirectX) Client and Server (DirectX) Vishnu Kotrajaras Server scalability Your game can handle more players at a time (Over internet, most peer-topeer can only handle about 6 players) All depend on server power

More information

Finding and Exploiting Access Control Vulnerabilities in Graphical User Interfaces

Finding and Exploiting Access Control Vulnerabilities in Graphical User Interfaces Collin Mulliner Independent Security Researcher Finding and Exploiting Access Control Vulnerabilities in Graphical User Interfaces Twitter: @collinrm KiwiCon 2016 Graphical User Interfaces (GUIs) Because

More information

KINGS COLLEGE OF ENGINEERING PUNALKULAM DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK UNIT - I WINDOWS PROGRAMMING PART A (2 MARKS)

KINGS COLLEGE OF ENGINEERING PUNALKULAM DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK UNIT - I WINDOWS PROGRAMMING PART A (2 MARKS) 1 KINGS COLLEGE OF ENGINEERING PUNALKULAM - 613 303 DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK Subject Code & Name: CS1305 Visual Programming Year / Sem : III / VI UNIT - I WINDOWS PROGRAMMING

More information

CMSC434. Introduction to Human-Computer Interaction. Week 10 Lecture 17 Mar 31, 2016 Engineering Interfaces III. Jon

CMSC434. Introduction to Human-Computer Interaction. Week 10 Lecture 17 Mar 31, 2016 Engineering Interfaces III. Jon CMSC434 Introduction to Human-Computer Interaction Week 10 Lecture 17 Mar 31, 2016 Engineering Interfaces III Jon Froehlich @jonfroehlich Human Computer Interaction Laboratory COMPUTER SCIENCE UNIVERSITY

More information

An Introduction to MFC (builds on your lecture on MFC)

An Introduction to MFC (builds on your lecture on MFC) An Introduction to MFC (builds on your lecture on MFC) Tutorial (First Steps in Visual C++ MFC) [For hands on experience go through sample Scribble given in MSDN I cannot write anything better than that]

More information

WTL for MFC Programmers, Part I - ATL GUI Classes By Michael Dunn

WTL for MFC Programmers, Part I - ATL GUI Classes By Michael Dunn The Code Project - WTL for MFC Programmers, Part I - ATL GUI Classes - WTL All Topics, MFC / C++ >> WTL >> Beginners http://www.codeproject.com/wtl/wtl4mfc1.asp WTL for MFC Programmers, Part I - ATL GUI

More information

Open Source Tools for Game Development. Ryan C. Gordon, icculus.org

Open Source Tools for Game Development. Ryan C. Gordon, icculus.org Open Source Tools for Game Development Ryan C. Gordon, icculus.org A few notes... Please tweet with #flourish Feel free to interrupt! Slides are at http://icculus.org/flourish/ Who am I? Game developer,

More information

Hands-On Lab. Version Checking - Native. Lab version: 1.0.0

Hands-On Lab. Version Checking - Native. Lab version: 1.0.0 Hands-On Lab Version Checking - Native Lab version: 1.0.0 Last updated: 12/3/2010 CONTENTS OVERVIEW... 3 EXERCISE 1: UNDERSTANDING VERSION CHECKING... 4 Task 1 Review and Compile the Broken Application...

More information

Imports mshtml Imports System.Text. Module Module1. Public ChildWindowsList As New List(Of WINDOW) Public HTMLDoc As mshtml.htmldocument = Nothing

Imports mshtml Imports System.Text. Module Module1. Public ChildWindowsList As New List(Of WINDOW) Public HTMLDoc As mshtml.htmldocument = Nothing 'WinControl example by Robert Berlinski. Copyright (c) 2016 Robert Berlinski. All rights reserved. 'Compile in Visual Studio Express 2015 for Windows (add mshtml to the project) 'It is only a simple illustration

More information

Translating Python to C++ for palmtop software development - 1 Acknowledgments 1 Acknowledgments

Translating Python to C++ for palmtop software development - 1 Acknowledgments 1 Acknowledgments Translating Python to C++ for palmtop software development - 1 Acknowledgments 1 Acknowledgments Thanks to mom, dad, Lisa and Cecilie for all your love and support. A big thanks to music for keeping me

More information

Binghamton University. EngiNet. State University of New York

Binghamton University. EngiNet. State University of New York Binghamton University EngiNet State University of New York 1 Thomas J. Watson School of Engineering and Applied Science EngiNet WARNING All rights reserved. No Part of this video lecture series may be

More information

LightningChart Quick Reference

LightningChart Quick Reference LightningChart Quick Reference 2 LightningChart Quick Reference, rev. 1.4.2 About this document This document is intended as a quick introduction to Arction LightningChart. Only essential key features

More information

Tutorial 9:Child Window Controls

Tutorial 9:Child Window Controls Tutorial 9:Child Window Controls This win32 tutorial was created and written by Iczelion for MASM32. It was translated for use by HLA High Level Assembly) users by Randall Hyde. All original copyrights

More information

SHORT QUESTIONS & ANSWERS

SHORT QUESTIONS & ANSWERS P.S.N.A. COLLEGE OF ENGINEERING & TECHNOLOGY, Kothandaraman Nagar, Muthanampatti(PO), Dindigul 624 622. Phone: 0451-2554032, 2554349 Web Link: www.psnacet.edu.in SHORT QUESTIONS & ANSWERS Subject code

More information

Ayuda sobre Funciones de la API Win32

Ayuda sobre Funciones de la API Win32 Ayuda sobre Funciones de la API Win32 CreateProcess (10 Parameters) function [Base] Página 1 de 4 CreateProcess The CreateProcess function creates a new process and its primary thread. The new process

More information

Tutorial 7: Mouse Input

Tutorial 7: Mouse Input Tutorial 7: Mouse Input This win32 tutorial was created and written by Iczelion for MASM32. It was translated for use by HLA (High Level Assembly) users by Randall Hyde. All original copyrights and other

More information

CMPT 212 Introduction to MFC and Windows Programming. Spring 2007

CMPT 212 Introduction to MFC and Windows Programming. Spring 2007 CMPT 212 Introduction to MFC and Windows Programming Spring 2007 What is MFC? MFC: Microsoft Foundation Classes MFC is a framework built on top of standard windows C++ libraries Provides the user with

More information

Guide to Good Practice in using Open Source Compilers with the AGCC Lexical Analyzer

Guide to Good Practice in using Open Source Compilers with the AGCC Lexical Analyzer Informatica Economică vol. 13, no. 1/2009 75 Guide to Good Practice in using Open Source Compilers with the AGCC Lexical Analyzer Rocsana BUCEA-MANEA-ŢONIŞ Academy of Economic Studies, Bucharest, Romania

More information

15. Microsoft Foundation Classes

15. Microsoft Foundation Classes 15. Microsoft Foundation Classes This section of the notes presumes the student has already been familiarized with some general principles of GUI programming, and with a very brief introduction to MS-

More information

zhx.ch 收集整理 MFC for that matter) so you can't build ATL or WTL projects with the Express version. If you are using VC 6, then you need the Platf

zhx.ch 收集整理 MFC for that matter) so you can't build ATL or WTL projects with the Express version. If you are using VC 6, then you need the Platf zhx.ch 收集整理 1-1 - WTL for MFC Programmers --An introduction to WTL programming for MFC developers Author:Michael Dunn Gathered:zhx.ch Part I - ATL GUI Classes An introduction to WTL programming for MFC

More information

Using the CFindReplaceDialog class By Tibor Blazko

Using the CFindReplaceDialog class By Tibor Blazko Page 1 of 7 All Topics, MFC / C++ >> Dialog and Windows >> Windows Common dialogs Using the CFindReplaceDialog class By Tibor Blazko How to use the CFindReplaceDialog dialog for text searching Beginner

More information

CMSC434. Introduction to Human-Computer Interaction. Week 10 Lecture 16 Mar 29, 2016 Engineering Interfaces II. Jon

CMSC434. Introduction to Human-Computer Interaction. Week 10 Lecture 16 Mar 29, 2016 Engineering Interfaces II. Jon CMSC434 Introduction to Human-Computer Interaction Week 10 Lecture 16 Mar 29, 2016 Engineering Interfaces II Jon Froehlich @jonfroehlich Human Computer Interaction Laboratory COMPUTER SCIENCE UNIVERSITY

More information

Abstract. MSc. Electronics: Computer Graphics. Sept Abstract.

Abstract. MSc. Electronics: Computer Graphics. Sept Abstract. Abstract. MSc. Electronics: Computer Graphics. Sept. 1997. Abstract. This report gives the reader a detailed account of a project undertaken for the award of an MSc in Electronics. The project is concerned

More information

Undocumented CreateProcess

Undocumented CreateProcess Undocumented CreateProcess Home > Tutorials james - Sat, 08/30/2008-10:27 This tutorial forms a part of a new series which will concentrate on some of the non-gui related issues in Windows programming.

More information

How to Integrate 32-Bit LabWindows/CVI 4.0 Libraries into Microsoft Visual C/C++ or Borland C/C++ Patrick Williams

How to Integrate 32-Bit LabWindows/CVI 4.0 Libraries into Microsoft Visual C/C++ or Borland C/C++ Patrick Williams NATIONAL INSTRUMENTS The Software is the Instrument Application Note 094 How to Integrate 32-Bit LabWindows/CVI 4.0 Libraries into Microsoft Visual C/C++ or Borland C/C++ Patrick Williams Introduction

More information

Designing Non-Rectangular Skin-able GUIs.

Designing Non-Rectangular Skin-able GUIs. Designing Non-Rectangular Skin-able GUIs. M.Tsegaye Department of Computer Science Rhodes University Grahamstown, 6140, South Africa Phone: +27 (46) 603-8619 Fax: +27 (46) 636 1915 Email: g98t4414@campus.ru.ac.za

More information

NeHe's. OpenGL Tutorials

NeHe's. OpenGL Tutorials NeHe's OpenGL Tutorials December 2004 This is a conversion of NeHe's online OpenGL tutorials to RTF and PDF format. Done by Andreas Lagotzki from scratch while learning OpenGL programming. This document

More information

Windows Presentation Foundation. Jim Fawcett CSE687 Object Oriented Design Spring 2018

Windows Presentation Foundation. Jim Fawcett CSE687 Object Oriented Design Spring 2018 Windows Presentation Foundation Jim Fawcett CSE687 Object Oriented Design Spring 2018 References Pro C# 5 and the.net 4.5 Platform, Andrew Troelsen, Apress, 2012 Programming WPF, 2nd edition, Sells & Griffiths,

More information