精華區beta Programming 關於我們 聯絡資訊
<--------------- <liame@ms1.pclan.com.tw> 次寫入到主題 <36AFDE2A.C7759E26@ms1.pclan.com.tw>... > 1. m_pMainWnd 中 第一個m表示 menber(成員) 而 p 表pointer(指標) > 而 m_hMenu 中 m=>menber ,h 表示 Handle > 那麼 Handle 在 vc中 若翻成中文 ,要翻成什麼意思??? > 我們平常都是直接以Handle稱之, 不知目前中文普遍接受 的譯名為何. 你大概是要翻譯圖書吧! 若我要寫書翻書, 目前想到的名詞是 -- "表識". 不知 諸君以為然否? > > > 2. > if (menu.m_hMenu == NULL) > menu.LoadMenu(IDR_HELLO); > m_hMenuShared = menu.m_hMenu; > 在 VC++ 5.0的 sample 中(mdi),有這一段 > 我研究了一段時間還是不懂其意義 > 尤其是第三行,所以如有空的話~幫幫忙 ~~~~ ^&^ > 每一個MDIClient都可以有自己不同的Menu, 但若要使 使所有的MDIClient使用共用的Menu, 則須設定m_hMenuShared. 可以參考Online help中m_hMenuShared的說明. > > > 3.也是 sample(mdi)中的一段 > > > void CMainFrame::OnHello() > { > CHelloWnd *pHelloWnd = new CHelloWnd; > if (!pHelloWnd->Create(_T("Hello"), > WS_CHILD | WS_VISIBLE | WS_OVERLAPPEDWINDOW, > rectDefault, this)) > return; > > // the default PostNcDestroy handler will delete this object when > destroyed > } > > return 後沒接任何東西,應該是 return 0 吧 > 但~既然用 void 為何要用 return呢//??? > 原來的程式邏輯上應該是在if 條件不成立之下, 加上底下一行: delete pHelloWnd; 但是, 因為MFC在處理PostNcDestroy的程式 裡會自動將這個物件delete ,你可以在那邊 看到這一行: delete this; 所以, 根本不需要也不能再 delete 一次. 但程式邏輯不完備, 程式高手如果不瞭解MFC 及其原因, 一看很可能會自己加上去, 反而造 成錯誤, 所以, 作者加上一行註解說明為什麼 不需於此delete的原因, 讓高手一看也就知道 為什麼了! -- 市隱 一段電影的對白: Are you kidding? No, I am serious! 看到的螢幕翻譯如下: 妳是凱蒂嗎? 不, 我是喜瑞兒! 希望這個譯者不要來翻我們的專業圖書纔好!