博客來網路書店查詢

書名

博客來網路書店查詢
顯示具有 MFC 標籤的文章。 顯示所有文章
顯示具有 MFC 標籤的文章。 顯示所有文章

星期四, 3月 12, 2009

VC課程第十次上課的工具列程式




第十次上課的工具列程式,遺漏了一個動作:
在工具列上點選圖示,請設定每一個圖示的ID與功能表上選項ID一致,就可以產生效果。
例如修改了紅色圖示

修改了綠色圖示
您可以看到程式執行時紅色與綠色皆可使用。

星期一, 3月 09, 2009

VC課程假日班範例

VC課程假日班範例位置:
第一天上課

第二天上課

第三天上課

第四天上課

第五天上課

第六天上課

為避免各位不瞭解物件導向相關名詞,所以初階課程主要以物件導向為主做介紹,
進階課程再提視窗設計。
所有課程資料若九十天內無人下載則系統會自動刪除,若您仍需要下載,再請您
告訴我,再重新上傳檔案。

星期一, 3月 02, 2009

VC課程以MFC建立視窗程式簡報

VC課程中出現錯誤訊息的學員作品分析-3

這裡以「Test」這一個專案分析,這一個專案可編譯但是不能執行。
檢查時確認資源檔案沒有問題,後來於「 new CSingleDocTemplate」
發現順序錯誤,經修正後就可以執行,錯誤與修正後語法如下:

VC課程中出現錯誤訊息的學員作品分析-2

這裡以「Document_View_SDI」這一個專案分析,編譯時出現了以下的錯誤訊息:
------------
Compiling...
Document_View_SDI.cpp
C:\Document_View_SDI\Document_View_SDI.cpp(10) : error C2146: syntax error : missing ';' before identifier 'AFX_MSGMAP'
C:\Document_View_SDI\Document_View_SDI.cpp(10) : error C2270: 'IMPLEMENT_DYNCRATE' : modifiers not allowed on nonmember functions
C:\Document_View_SDI\Document_View_SDI.cpp(10) : fatal error C1004: unexpected end of file found

這一個練習比較看不出來錯誤的地方,「IMPLEMENT_DYNCREATE」是對的,但是,
程式碼中
重點在於「BEGIN_MESSAGE_MAP(MyView, CView) 」出現兩次,也就是少了「BEGIN_MESSAGE_MAP(MyDocument, CDocument)」。
另外,「doc = pDocTemplate->CreateNewDocument();」有錯,所以修改後就可編譯。


資源檔內的menu名稱也請修改為「IDR_MAINFRAME」,就可以順利執行,編譯後畫面如下:


VC課程中出現錯誤訊息的學員作品分析-1

這裡以「6_」這一個專案分析,編譯時出現了以下的錯誤訊息:
------------
Compiling...
6_.cpp
c:\6_\6_.cpp(12) : error C2146: syntax error : missing ';' before identifier 'AFX_MSGMAP'
c:\6_\6_.cpp(12) : error C2270: 'IMPLEMENT_SYNCREATE' : modifiers not allowed on nonmember functions
c:\6_\6_.cpp(12) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

重點在於「IMPLEMENT_SYNCREATE」,所以檢測語法,發現到多個語法寫錯,
正確語法應該為「IMPLEMENT_DYNCREATE」,附上程式碼錯誤的畫面:

這裡也請留意「ON_COMMAND 」語法錯誤

而「m_pMainWnd = pDocTemplate->CreateNewFrame( doc, NULL )」建立的對象也寫錯了。

資源檔內的menu名稱也請修改為「IDR_MAINFRAME」,就可以順利執行,邊後後畫面如下: