Review Questions for GUI class
Class 1
  - What function does a Windows program start with?
  
- Describe an Event
  
- Describe a Message
  
- What is a message queue?
  
- What is a message loop?
  
- What is a Window Procedure?
  
- What is a Window Class? Give 3 examples
  
- What does the CreateWindow function do?
  
- What does the RegisterClass window do?
  
- What is WM_PAINT? WM_DESTROY?
Class 2
  - Name at least 3 different window classes
  
- What does MessageBox do?
  
- Given the 'Hello world' program, what portion of the program (in the
  source code) is is likely to change from one Windows program to another?
  
- Describe each parameter received by a window procedure ('WndProc')
  
- What are IDI_APPLICATION and IDC_ARROW?
  
- What steps are the minimum for handling WM_PAINT?
  
- When creating a child window, how do you specify who it's parent is?
  
- When creating a child window, how do you specify a class (like from
  #1)?
 Class 3
  - Describe 3 things needed to be done, to add a menu to a program
  
- How do you enable or disable a menu item?
  
- How do you check or uncheck a menu item?
  
- What is an HMENU
  
- What is SendMessage? What are it's parameters?
  
- What is a 'Device Context'?
  
- What is WM_COMMAND, and what is it's purpose?
  
- Describe the basic process of creating your own Window Class
  Class 4
  - Name 2 ways commonly used to get an HDC (handle to a Device Context)
  
- What is GDI?
  
- Name at least 3 GDI objects (handles) commonly used with a DC.
  
- What is an enumeration function?
  
- What do CreatePen, and CreateFont do?
  
- What does SelectObject do?
  
- What does DeleteObject do?
  
- Why should you be careful when using the same local variable in a case
  statements that handle two different window messages?
  
- What is a mapping mode?
  
- What is 'twips' mapping mode? What is a Twip?
   Class 5
  - What is a notification message?
  
- Describe any 4 notification messages for a specif type of window class.
  
- In the CreateFont function, a font height of -240, might imply what?
  
- What is the 'Font Mapper'?
  
- What, is your favorite color? Blue... no, green! AAARRRGGGHHHH!
   Class 6
  - What is the difference between a modal and modeless dialog box?
  
- How do you create, and lay-out controls on, a dialog box?
  
- What code is needed to display a Dialog box?
  
- What code is needed to close a dialog box?
  
- How do you determine how a user closed a dialog (ie, OK or Cancel)?
  
- How does the dialog return it's 'close value' to your code?
  
- Do dialog box WndProc functions call DefWindowProc, like normal window
  procedures?
  
- What is WM_INITDIALOG?
  
- What is GetDlgItem?
  
- How do you pass information to, and get data from, a dialog?
   Class 7
  - Describe the difference between a memory handle and a pointer
  
- What are the four steps of memory management in Win16
  
- Whats better, using handles: 100 handles to 100 bytes apiece or 10
  handles to 1000 bytes apiece?
  
- What functions are new to Win32
  
- Should you use malloc/new and free/delete in Win16?
  
- Should you use malloc/new and free/delete in Win32?
  
- Describe, basically, Virtual Memory.
Sorry... Stuff somewhere between classes 8 and 14
  - What is the SDK?
  
- What is MFC?
  
- What is AppWizard?
  
- What is ClassWizard?
  
- Describe the purpose of the CDocument class
  
- Describe the purpose of the CView class
  
- What is the difference between CView and CFormView
  
- What is the CDC class?
  
- Name atleast 2 functions in the CDC class
  
- How do you respond to messages and notification commands, using MFC?
  
- What does this mean: //{{ and //}}?
  
- Name and briefly describe the 5 classes created for you by VC++ for
  an SDI or MDI program.
  
- Name atleast 4 collection classes of MFC
  
- Name and describe atleast 2 functions of those collection classes
  
- What is the Serialize routine?
  
- When is Serialize called?
  
- What is CObject?
  
- Name and describe atleast 3 functions from the CString class
  
- What class helps give access to a database?
  
- What class helps give access to a table (file) in a database?
  
- Describe the purpose of the OnDraw function, and what class it's in.
  
- Describe the purpose of the OnNewDocument function, and what class
  it's in.
  
- How does a view get a pointer to it's associated document?
 
    Class 15
  - What is a CDialog?
  
- Name 2 functions of the CDialog class
  
- What does UpdateData do?
  
- How do you add a data member variable and map it to an on-screen control?