Professional Documents
Culture Documents
Basic Windows: Jim Fawcett 21 May 2003
Basic Windows: Jim Fawcett 21 May 2003
Jim Fawcett
21 May 2003
Classic Windows Processing
user events
via
keyboard or mouse
windows
implements process
WinMain
message queue windows
messages and messages
implements
message
message loop
routing
provides
win32 API application
messages
functionality
Basic Windows 2
Basic Windows 3
Where is Example Code?
Lecture1/BasicWindows/MinWin
Lecture1/BasicWindows/MFCWin
Lecture1/Dialog
Lecture1/MFCFrameWindow
Lecture1/DataViz
Lecture1/WinForms
Basic Windows 4
Windows Processing Using MFC
windows
messages
messages
Microsoft Foundation Classes
messages
(MFC)
CFrameWnd
CStatic
messages
CWinApp
CEdit
CButton
CApp
application
single global CWindow function calls
functionality
instance
starts processing
database support
CDC CMenu CGdiObject CCmdTarget CFile utility classes
classes
other control
CProperty Page CStatic CScrollBar CListBox
classes
Basic Windows 6
Basic Windows 7
Where is Example Code?
Lecture1/BasicWindows/MinWin
Lecture1/BasicWindows/MFCWin
Lecture1/Dialog
Lecture1/MFCFrameWindow
Lecture1/DataViz
Lecture1/WinForms
Basic Windows 8
MFC-Based Dialog Application
CWinThread CWnd
Object stored
locally
CWinApp CDialog
in
CDemoApp::InitInstance()
CDemoApp CDemoDlg
Basic Windows 9
Basic Windows 10
Where is Example Code?
Lecture1/BasicWindows/MinWin
Lecture1/BasicWindows/MFCWin
Lecture1/Dialog
Lecture1/MFCFrameWindow
Lecture1/DataViz
Lecture1/WinForms
Basic Windows 11
MFC-Based Frame Window
CWnd
CFrameWnd
CWinApp
CChildView
CMainFrame public:
m_pMainWnd public:
...
... protected:
void OnPaint();
BOOL GetToggle();
void OnMouseMove(UINT nFlags, CPoint point);
CWizFrameWinApp void OnLButtonDow n(UINT nFlags, CPoint point);
protected:
public: void OnToggle(); // menu handler int OnCreate(LPCREATESTRUCT lpCreateStruct);
... int OnCreate(LPCREATESTRUCT lpCreateStruct);
virtual BOOL InitInstance(); ... private:
void OnAppAbout(); CChildView m_w ndView ; CStatic *m_pCStatic;
CStatusBar m_w ndStatusBar; int m_TriangleX;
int m_TriangleY;
int m_DisplayX;
private: int m_DisplayY;
BOOL m_Toggle; int m_MouseX;
int m_MouseY;
Basic Windows 12
MFC-Based Frame Window
Basic Windows 13
Where is Example Code?
Lecture1/BasicWindows/MinWin
Lecture1/BasicWindows/MFCWin
Lecture1/Dialog
Lecture1/MFCFrameWindow
Lecture1/DataViz
Lecture1/WinForms
Basic Windows 14
MFC-BASED SDI
Application CWinApp CView
CGdiDemoView
CDialog CGdiDemoApp
Attribute:
CPoint pentagon[5] CPoint
CPoint center
local object f loat angle
def ined in
OnAboutDlg( ) Operation:
OnDraw( )
local object OnLButtonDown(...)
in
InitInstance( )
CAboutDlg
CFrameWnd CSingleDocTemplate
CDocument
af xres.rc
GdiDemo.rc
GdiDemo.cpp
GdiDemoDoc.h GdiDemoDoc.cpp
GdiDemo.rc2
af xres.h
MainFrm.h
MainFrm.cpp
GdiDemoView.h GdiDemoView.cpp
Lecture1/BasicWindows/MinWin
Lecture1/BasicWindows/MFCWin
Lecture1/Dialog
Lecture1/MFCFrameWindow
Lecture1/DataViz
Lecture1/WinForms
Basic Windows 18
WinForm-Based Application
ContainerControl
Form
myForm
Basic Windows 19
WinForm-Based Application
Basic Windows 20
Where is Example Code?
Lecture1/BasicWindows/MinWin
Lecture1/BasicWindows/MFCWin
Lecture1/Dialog
Lecture1/MFCFrameWindow
Lecture1/DataViz
Lecture1/WinForms
Basic Windows 21
End of Presentation