0
我試圖修改一些使用CreateToolbarEx函數的舊代碼(C++),試圖使用新的位圖並將我們的24x24像素工具欄按鈕替換爲更加炫麗的36x36像素。我使用的功能如下:使用新位圖修改CreateToolbarEx函數時的內存分配問題
m_hToolbarWnd = CreateToolbarEx(m_hPagerWnd, ws, ID_TOOLBAR, NUMBERTOOLBARBITMAPS, hInst, IDB_TOOLBAR, tbInitButtons, m_ncButtons, 24, 24, 24, 24, sizeof(TBBUTTON));
我能夠通過改變「24對‘36’擴大現有的工具欄按鈕的大小,但如果我改變IDB_TOOLBAR到新的工具欄位圖並運行該程序,我碰到了一個指向CreateToolbarEx函數的內存訪問讀取違例。我是否錯過了位圖獲取內存分配或創建單個按鈕的方式?新的工具欄是1584x36像素(44個按鈕)。
你有以上通過24×24的按鈕,24×24的位圖仍然代碼... http://msdn.microsoft.com/en-us/library/bb787469%28v=vs .85%29.aspx – AJG85 2011-03-22 16:25:41
正確,我剛剛複製了程序中的工作代碼。當我嘗試用新位圖運行代碼時,我將它更改爲36x36,並將IDB_TOOLBAR重新定義爲新位圖。這種重新定義會導致程序崩潰。 – Micky 2011-03-22 16:58:56
您可能可以將位圖導入到您的應用程序中,以便創建一個新的ID IDB_TOOLBARX或什麼。有時如果您重複使用以前的控件或資源ID,資源文件會變得怪異。 – AJG85 2011-03-22 17:11:11