討論區快速選單
知識庫快速選單
掌握Salesforce雲端管理秘訣 網路投保旅行平安險
[ 回上頁 ] [ 討論區發言規則 ]
提供學vc++視窗程式設計經驗?
更改我的閱讀文章字型大小
作者 : sunnycheck(sunny) 人氣指數超過10000點
[ 貼文 64 | 人氣 18991 | 評價 130 | 評價/貼文 2.03 | 送出評價 29 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/4/14 上午 11:06:46
各位大大們安安~
小弟曾用vb、php來寫軟体,最近想要學習vc++來寫視窗軟体
不知要怎麼學起,小弟也看過了幾本書!
vc教學手冊,此書對有點程式概念的我來說,還不算難
但要寫視窗軟体就摸不著頭緒了!
可否請大大們提供一下經驗呢?
3qqqq
作者 : mynameiswww(WWW)
[ 貼文 127 | 人氣 8798 | 評價 30 | 評價/貼文 0.24 | 送出評價 33 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人sunnycheck註記此篇回應為很有道理 2006/4/14 上午 11:10:07
http://www.czvc.com/show.asp?id=25
http://www.czvc.com/show.asp?id=24
看這兩本書啦 這兩本書是很好的vc++視窗程式設計教學
作者 : ghost_liao(ghost) 貼文超過200則人氣指數超過10000點
[ 貼文 367 | 人氣 13998 | 評價 1230 | 評價/貼文 3.35 | 送出評價 94 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人sunnycheck註記此篇回應為最佳解答 2006/4/14 下午 02:28:13
首先要先請問你,要用SDK或者MFC來開發程式,因為這兩種的學習方式並不相同,如果是SDK,那麼你必須熟悉所有建立視窗架構API的功能與執行順序,才克有可能建立出來視窗程式,反之如果是MFC,那麼你必須去學習MFC內建立視窗的類別架構與他們之間互相的關係,至於哪一種比較容易上手,那就見仁見智,我個人是比較偏向MFC,但是我偶而也會使用SDK的方法,以上是個人淺見,提供給你做參考。
作者 : shing819(Clier) VC++曠世奇才貼文超過1000則人氣指數超過30000點
[ 貼文 1740 | 人氣 40353 | 評價 8630 | 評價/貼文 4.96 | 送出評價 84 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人sunnycheck註記此篇回應為很有道理 2006/4/14 下午 05:45:07

>各位大大們安安~
>小弟曾用vb、php來寫軟体,最近想要學習vc++來寫視窗軟体
>不知要怎麼學起,小弟也看過了幾本書!
>vc教學手冊,此書對有點程式概念的我來說,還不算難
>但要寫視窗軟体就摸不著頭緒了!
>可否請大大們提供一下經驗呢?
>3qqqq


你並沒有學過C++語法,這對學視窗會有影響,C++有基礎
就夠了,SDK有基礎就夠了,學MFC很快就上手,但如果要無
所不能,那C++,SDK,MFC要很專精,否則想研發出新技術
就?套句俗諺,「阿婆生子」,就是要很拼,但還不一定生的出
來.

作者 : sunnycheck(sunny) 人氣指數超過10000點
[ 貼文 64 | 人氣 18991 | 評價 130 | 評價/貼文 2.03 | 送出評價 29 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/4/14 下午 09:11:25
所以說要寫vc++視窗軟体就要先學c++跟sdk嘍!是這樣嗎?
我看過有人就用mfc直接來寫在加一點sdk!這樣子ok嗎?
作者 : henrytso(CodeWarrior) VC++優秀好手貼文超過200則
[ 貼文 243 | 人氣 4166 | 評價 1790 | 評價/貼文 7.37 | 送出評價 6 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人sunnycheck註記此篇回應為很有道理 2006/4/14 下午 10:14:52
提供一下個人經驗, 想當初我只會寫 C (大學時代), 後來因一次機會, 轉向使用 C++ 寫RTDB, 前後用了C++ 8個月左右, 過程中沒有很正統的從頭學起, 以邊做邊學的方式硬幹.之後換了工作, 因而改用 VC++ 2.0 加 MFC 寫 Windows 程式(1995年), 也是邊做邊看書的硬來, Win32 API 寫法到現在連 Hello world 都沒寫過, 但用 MFC 寫 Windows 程式還是很順手, 當然, Win32 API 還是會用到, 但傳統的 Windows Message 控制都全部交給 MFC 來處理. 有人說如果學 MFC 前沒有學過 Win32 SDK 傳統 Windows 程式寫法. 會有一定程度的不便, 不過個人覺得, 還是因人而異.
如果全部安步就班的來學, 其學習時間很長, 根用 VB 寫 Windows 程式來比, 真是差太多太多了, 建議你應該好好了解自己的能力, 適當的跳著學會比較節省學習時間. 也就是說用到什麼學什麼, 了解什麼, 不必按書一頁一頁的學習, 否則以個人經驗, 還未學到一半就沒力了.
個人建議依下列順序來學習 MFC Windows Programming
1. 先從Dialog Base Windows A.P 開始
2. 先學會所有 Windows 元件的基本應用. 即 CButton, CEdit, Cstatic, CProgressCtrl, CListView, CComboBox, CBitmapButton, CSliderCtrl, CMenu , CScrollBar, CListCtrl, CTreeCtrl 等 class 的應用. 當你學會這些 Windows 程式的基本元件的應用後, 你就可以寫一些簡單的程式, 這樣你會比較有信心的學下去.
3. 當建立好信心後, 就可以學 MFC 的 Document / View 架構. 檔案讀寫控制等做法.
4. 學完上面 1 ~ 3 後, 你會發現要寫一個像樣的程式還是不行, 這時候, 你會開始更深入研究MFC 的其他 class 的運用. 這個過程會比之前的來得久. 只要你有恆心, 撐過去後你就會發現你原來已經不知不覺中的學會了.
以上就是我的學習經歷. 給各位要學的人一個參考.

P.S : 千萬不要拿學 VB 的過程與時間來跟學 VC / MFC 比, 否則你會很快的打退堂鼓.
作者 : shing819(Clier) VC++曠世奇才貼文超過1000則人氣指數超過30000點
[ 貼文 1740 | 人氣 40353 | 評價 8630 | 評價/貼文 4.96 | 送出評價 84 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人sunnycheck註記此篇回應為很有道理 2006/4/15 下午 04:25:17

>所以說要寫vc++視窗軟体就要先學c++跟sdk嘍!是這樣嗎?
>我看過有人就用mfc直接來寫在加一點sdk!這樣子ok嗎?

MFC是用C++語法實作,當然要有C++基礎,MFC是SDK封裝
後的類別,當然要有SDK基礎,如果需要trace source code才
有能力看懂.

MFC會加上SDK是因為MFC提供的功能有限,沒辦法全用MFC
解決所有難題,微軟當初為什麼不全部完整封裝SDK再賣?讓人
懷疑商業動機?
作者 : sandy1212(yvonne)
[ 貼文 31 | 人氣 5547 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/9/22 下午 02:47:20

>個人建議依下列順序來學習 MFC Windows Programming
>1. 先從Dialog Base Windows A.P 開始
>2. 先學會所有 Windows 元件的基本應用. 即 CButton, CEdit, Cstatic, CProgressCtrl, CListView, CComboBox, CBitmapButton, CSliderCtrl, CMenu , CScrollBar, CListCtrl, CTreeCtrl 等 class 的應用. 當你學會這些 Windows 程式的基本元件的應用後, 你就可以寫一些簡單的程式, 這樣你會比較有信心的學下去.
>3. 當建立好信心後, 就可以學 MFC 的 Document / View 架構. 檔案讀寫控制等做法.
>4. 學完上面 1 ~ 3 後, 你會發現要寫一個像樣的程式還是不行, 這時候, 你會開始更深入研究MFC 的其他 class 的運用. 這個過程會比之前的來得久. 只要你有恆心, 撐過去後你就會發現你原來已經不知不覺中的學會了.

Hi henryso,

 想請問一下, 你這樣的順序也適用在 Visual Studio .Net 2003嗎? 不是要區分版本不同, 只是我的公司是用.Net 2003啦!
作者 : jonay(jonay) VC++優秀好手C++ Builder優秀好手C++優秀好手貼文超過500則
[ 貼文 887 | 人氣 8025 | 評價 5030 | 評價/貼文 5.67 | 送出評價 30 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/9/22 下午 04:09:03
>>MFC會加上SDK是因為MFC提供的功能有限,沒辦法全用MFC
>>解決所有難題,微軟當初為什麼不全部完整封裝SDK再賣?讓人
>>懷疑商業動機?
以我看來,MFC跟本就是一個封裝失敗的產物
而MS又死不承認失敗(怎麼看都覺得是工程師硬想出的封裝方式,一點也沒有為使用者想)
以下是節錄一個網站的比較:
SDK:(Windows API)
HFONT CreateFont(
  int nHeight, // height of font
  int nWidth, // average character width
  int nEscapement, // angle of escapement
  int nOrientation, // base-line orientation angle
  int fnWeight, // font weight
  DWORD fdwItalic, // italic attribute option
  DWORD fdwUnderline, // underline attribute option
  DWORD fdwStrikeOut, // strikeout attribute option
  DWORD fdwCharSet, // character set identifier
  DWORD fdwOutputPrecision, // output precision
  DWORD fdwClipPrecision, // clipping precision
  DWORD fdwQuality, // output quality
  DWORD fdwPitchAndFamily, // pitch and family
  LPCTSTR lpszFace // typeface name
  );
MFC:(VC++)
BOOL CFont::CreateFont(
  int nHeight,
  int nWidth,
  int nEscapement,
  int nOrientation,
  int nWeight,
  BYTE bItalic,
  BYTE bUnderline,
  BYTE cStrikeOut,
  BYTE nCharSet,
  BYTE nOutPrecision,
  BYTE nClipPrecision,
  BYTE nQuality,
  BYTE nPitchAndFamily,
  LPCTSTR lpszFacename
  );//跟本是照抄一遍
BCB:
將HFONT封裝爲TFont1
TFont1 ->Name = “細明體”; //字型設定
TFont1 ->Size = 24; //設定大小
封裝是一種藝術,即然要做成物件,那就要好記好用
我只看過VC++高手,但是對於MFC高手我覺得反而是一種諷刺



作者 : shing819(Clier) VC++曠世奇才貼文超過1000則人氣指數超過30000點
[ 貼文 1740 | 人氣 40353 | 評價 8630 | 評價/貼文 4.96 | 送出評價 84 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/9/22 下午 08:18:53
>以我看來,MFC跟本就是一個封裝失敗的產物
>而MS又死不承認失敗(怎麼看都覺得是工程師硬想出的封裝方式,一點也沒有為使用者想)


小偷被抓到會說這不是我偷的,我只是拿來欣賞一下, 要微軟承認
MFC 是失敗品,他們會說是使用者沒照規則使用, 以 Windows Me
為例,微軟作業系統中最爛的作品,現在應該沒人用,Windows 98
都比它好,微軟若承認失敗,股票馬上下跌,資產立刻縮水, Bill 是生意
人當然要硬ㄠ,現在 Bill 已經不管事了,離開了微軟形象應該會變好.



>以下是節錄一個網站的比較:
> );//跟本是照抄一遍

>BCB:
>將HFONT封裝爲TFont1
>TFont1 ->Name = “細明體”; //字型設定
>TFont1 ->Size = 24; //設定大小
>封裝是一種藝術,即然要做成物件,那就要好記好用
>我只看過VC++高手,但是對於MFC高手我覺得反而是一種諷刺
>
>


我蠻討厭它用巨集方式,害我難以除錯,用正常一點的方式寫,
為了偷懶這樣搞,效率好有什麼用,除錯方便比較實在.

作者 : llm(排骨湯)
[ 貼文 101 | 人氣 1452 | 評價 200 | 評價/貼文 1.98 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/9/22 下午 08:32:35
>以我看來,MFC跟本就是一個封裝失敗的產物

我也這麼認為.
作者 : 64bit(64bit) 人氣指數超過10000點
[ 貼文 47 | 人氣 14140 | 評價 0 | 評價/貼文 0 | 送出評價 3 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/11/20 下午 03:15:27
>以我看來,MFC跟本就是一個封裝失敗的產物
>
MFC真的不好嗎, 那寫視窗還有什麼選擇??
直接用API的話, 好像有點土法煉鋼 ...
作者 : shing819(Clier) VC++曠世奇才貼文超過1000則人氣指數超過30000點
[ 貼文 1740 | 人氣 40353 | 評價 8630 | 評價/貼文 4.96 | 送出評價 84 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/11/20 下午 03:51:16

>>以我看來,MFC跟本就是一個封裝失敗的產物
>>
>MFC真的不好嗎, 那寫視窗還有什麼選擇??


VB/VB.NET/C#/BCB/JAVA/Delphi........



>直接用API的話, 好像有點土法煉鋼 ...
>


那是指 VC6.0 現在 VS2005 程式碼有做部份修訂,MFC 基本上
還是很好用.至少比用Win32 SDK 寫方便許多.缺點就是不該用
巨集(適可而止),這妨害 debug 以及可讀性差.

作者 : sunnycheck(sunny) 人氣指數超過10000點
[ 貼文 64 | 人氣 18991 | 評價 130 | 評價/貼文 2.03 | 送出評價 29 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/11/20 下午 08:17:20
這篇是我去年發表的!至今也一年多了....
公司在軟体上的開發一直使用VC++及VB,
在VC++上開發視窗程式也以Dialog 為主 !
所以在整個學習中我体會到,
先了解控制元件的基本使用,(上面有大大也是提到這一點....)
慢慢得從工作中學習 VC++ 視窗程式的設計技巧
才不至被嚇倒了!大家共勉之...
作者 : timohu(曉諭) 人氣指數超過10000點
[ 貼文 148 | 人氣 23056 | 評價 110 | 評價/貼文 0.74 | 送出評價 11 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/6/4 下午 02:48:58
想不到原PO又來回應本文,謝謝大加的經驗分享,
我想問一下sunny前輩,最近我也開始要學MFC,
就好像是之前發文的你一樣,不過我基礎更少,只有VB兩年的經驗
VC++大一計概混過就全忘光了@_@
想知道一下您後來是選擇哪些書來看的。
還有什麼需要注意的,希望可以多得到些心得分享

我現在要用MFC寫的GUI其實之前用VB也寫過類似的了
只是目前更新的套件沒有支援VB了,所以要改用VC++
網路、rs232、snmp等功能的建立

本來是想用留言的,但似乎沒有辦法直接留言給你∼只好回文囉

作者 : heliboy(heliboy)
[ 貼文 103 | 人氣 305 | 評價 110 | 評價/貼文 1.07 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/6/5 上午 06:59:13

Programming Windows, Charles Petzold < 學用Win32 API
Programming Windows with MFC, Jeff Prosise < 學用MFC
深入淺出MFC, 侯捷 < 瞭解MFC內部運作
 板主 : 青衫 , Raymond
 > Visual C++ - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Visual C++ - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Visual C++
1 青衫 11070 
2 Raymond 10090 
3 Clier 7630 
4 小約翰 2500 
5 Cog 2030 
6 coco 1870 
7 aming 1410 
8 牧童哥 1400 
9 r2109 1380 
10 Akira 1350 
Visual C++
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.203125