<--------------- <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!
看到的螢幕翻譯如下:
妳是凱蒂嗎?
不, 我是喜瑞兒!
希望這個譯者不要來翻我們的專業圖書纔好!