2017-08-11 130 views
0

我有一個啓用了功能包的SDI項目。該程序有一個菜單欄(CMFCMenuBar)和四個工具欄(CMFCToolBar)。CMFCMenuBar顯示錯誤的工具提示

工具欄可以正常工作:我爲TB的按鈕分配了等效菜單項的ID,並在菜單語音中看到TB圖像。現在,當我將鼠標懸停在某些菜單語音上時(總是一樣),我收到了一些隨機工具提示文本,我說隨機是因爲我搜索了我的項目,而且我的解決方案的任何部分都沒有寫入這兩個字符串,例如:

Picture error 1 Picture error 2 Picture Error 3

我最近做了一些手動修改resource.h中文件scrumbling一些IDS ...這可能是一個問題嗎?

而且,我試圖告訴菜單不顯示工具提示來解決這個問題:

dwStile = m_wndMenuBar.GetPaneStyle() | CBRS_SIZE_DYNAMIC/* | CBRS_TOOLTIPS*/ | CBRS_FLYBY; 
m_wndMenuBar.SetPaneStyle(dwStile); 

但是,你可以在上面的圖片看,我沒有結果的。

任何想法,我可以找到錯誤?

+1

請在resource.h中檢查您的ID值 – VuVirt

+0

@VuVirt我應該尋找什麼? – IssamTP

+0

重疊標識值例如 – VuVirt

回答

0

我解決了這個問題。 我發現「隨機字符串」,其中第二部分(後\ n)存儲在我的程序使用的DLL的資源中的字符串。雖然dll對話框的ID在[2000,2500]範圍內,3個字符串的ID爲:1,2,3。

我不記得我在哪裏讀到這樣低的ID可能很危險,所以我手動將其更改了到3000,3001和3002,這就解決了這個問題。

即使這個工作,我想知道爲什麼,所以隨時編輯答案並添加完整的解決方案。

0

當你在資源IDE可以指定彈出的文本是什麼:

The Prompt and Tooltip Text

在我用上面的例子:

公開對話,以管理和修改通話分配和各種約會\ nManage Talk Assignments

請注意使用\ n?這就是分割兩個文本字符串組件。因此,在最終的應用:

Example

所以,你應該能夠在IDE的編輯器正確指定所有的文字。

+0

這不是這個。例如,我有一個聲音「Proiezione \ Configura」,它具有獨特的ID和提示設置爲「Apre la finestra di configurazione della proiezione \ nConfigura Proiezione」,結果是相同的:「Conferma Generazione」。 – IssamTP

+0

如果你願意,請檢查我的答案。 – IssamTP