2006 視窗課程進度

 

960111

1. DLL

2. Multithread and Synchronization 1, 2, 3

3. Demo 82, 83, 84, 85, 89, 90

 

960104

1. Printing

2. Tooltips (PreTranslateMessages(), 1, 2, 3, 4)

3. Demo 77, 78, 79, 81

4. Homework

modify lastweek's homework to allow a document object with different views
add tooltip control and printing capability to it
I'll put a sample program and description later (still working on it)

這個作業會是最後一個了, 完整的步驟和程式片段

951228

1. File

2. Archive

3. taskbar tray

4. Demo 52, 67, 68, 69, 70, 71

5. Homework

due 96/01/04

請將 Demo 70 及 Demo 71 結合在一起, 你的程式裡應該有兩個 document template, 同樣一種檔案格式 (Demo 69, Demo 70) 所用的格式, 可以用 Form View 瀏覽或是用 Hex View 來瀏覽

951221

1. Sprite

2. Font

3. Demo 25, 29, 35, 36, 37, 38, 39, 50, 51, 57

951214

1. Double buffer 1, 2

2. Demo 18,19,20,21,22,23,24,32,40,41,42

3. Homework: 請依循 MFC 中製作 double buffer 的要點, 撰寫一個 CDoubleBufferScrollView 類別,提供 double buffer 的功能, 並且製作那個圓與方塊的簡單程式 (你只需要製作最簡單的滑鼠點按來移動圓的動畫就可以了)

951207

1. Dialog box and DDX 13DialogBox.rar

2. CImage class

3. Demo 12, 13, 14, 15, 16, 17

4. Homeworks: due next week

  • follow chapter 12 example, create an extra pane on the status bar
  • Use CFrameWnd::SetMessageText() to change the message on pane 0 of the status bar
  • Use CStatusBar::SetPaneText() and a timer object to make the new pane a ticking digital clock with hh:mm:ss

951130

1. Bitmap 11BitBlt.rar

2. ScrollView 12ScrollView.rar

3. CBitmap class

4. Demo 11 (control bar)

5. Homeworks: due next week (email me the project)

  • follow Chapter 11 example, construct a toolbar with custumized combobox on it.
  • Handle the user selection and print a message on the client area

951123

1. Mapping Mode 10MappingMode1

Physical coordinate (Device coordinate) -- Logical coordinate
Screen coordinate
Client coordinate
Window coordinate

Active X control (server program) setup logical coordinate
(window origin, window extension)

Active X container setup device coordinate
(viewport origin, viewport extension)

2. Demo 10 (toolbar)

3. Homeworks (need not turn in): try demo 10, mapping mode, preview bitmap copying

951116 midterm

template method design pattern
CWinApp : public CWinThread
CMyProgramApp : public CWinApp
Subclassing
Superclassing

 

951109

1. WM_SIZE

2. Device Context

3. Demo 7, 8, 9

WM_RBUTTONUP, WM_NCRBUTTONUP, WM_CONTEXTMENU

951102

1. Scribble

2. Collection Classes

3. Basic Graphic API (Move, Line, Rectangle, Ellipse, RoundRect, Pie, Chord)

951026

0. Demo

00MFCSDI
00MFCMDI (explaining all windows, menus, file dialogs)
00MFCDlg (demo dialog based applications,
basic DDX mechanisms, message handling mechanisms)

1. MFC 程式的基本運作機制
MFC equivalent

2. MFC Collection classes

3. Part 1 of the editor

07EditorCharacter
The Character Object
Properties:
Functionalities:

4. Demo 4, 5, 6

951019

0. Electronic books


a. Petzold Charles.Petzold.-.Programming.Windows.5th.Edition.(MS.Press).iso
a1. Petzold ProgrammingWindows6_Petzold (中文)
b. forge32 forgers-win32-tutorial-pdf.zip
c. Proise MSPress-ProgrammingWindowsWithMFC-2ed.chm
c1.Proise ProgrammingWindowsWithMFC2_Prosise (中文)
d. 侯俊傑 深入淺出 MFC 2nd Ed

1. Go through event handling procedure again

user/prog generate event =>
user32 =>
target thread envent queue =>
target thread event loop =>
dispatch message (user32) =>
target window procedure (arguments, handling event)

2. Your single thread program can process only one event at a time

demo long event handling 02LongEventHandling

3. Explaining WinMain arguments

4. Q&A

5. Sending other program a message

6. WM_LBUTTONDOWN message

7. WM_PAINT message

951012

1. describe how to use TRACE macro and dbwin32

in both MFC environment and WIN32 environment

2. go through windows events

a. using spy++ to see mouse, keyboard events
b. make an win32 app and see the wm_command events
c. explain the event queue model
d. explain postmessage and sendmessage
e. show wm_settext message
f. show MSG structure
g. show event handling and DefWindowMessage
h. show WM_CREATE WM_CLOSE WM_DESTROY messages
3. show 001sheduledshutdown example0

a. WIN32 app
b. ExitWindowsEx API
c. Sleep API
d. SetTimer and KillTimer API with static timerid variable
e. menu and event handling
f. Create a dialog box template
g. copy aboutbox window procedure to InputDialog window procedure
h. Edit control
i. GetDlgItem
j. GetWindowText with a global variable
k. DialogBox
l. GetSystemTime

視窗系統程式設計課程 首頁

製作日期: 11/02/2006 by 丁培毅 (Pei-yih Ting)
E-mail: pyting@cs.ntou.edu.tw TEL: 02 24622192x6615
海洋大學 理工學院 資訊科學系

x100.gif width=80 height=100>