Stapelfehler
-
Hi,
wenn ich die Struktur vor dem Aufruf nulle, klappt es auch nicht, hier mal der gesamte Code:
bool CMenu::MeasureItem(LPMEASUREITEMSTRUCT pstMeasureItem) { MENUITEMINFO stSubMenuPt; ZeroMemory(&stSubMenuPt, sizeof(MENUITEMINFO)); int nSubMenuItem = LOWORD(pstMeasureItem->itemData); int nType = HIWORD(pstMeasureItem->itemData); SUBMENU *pstSubMenu = this->GetSubMenuStruct(pstMeasureItem->itemID, this- >pstMenu); if (pstSubMenu == NULL || pstSubMenu->hHandle == NULL) return false; if (nType == MT_LINE) { pstMeasureItem->itemHeight = g_nMenuHeight - C_nSeparator; stSubMenuPt.cbSize = sizeof(MENUITEMINFO); stSubMenuPt.fMask = MIIM_STATE; stSubMenuPt.fState = MFS_DISABLED | MFS_UNHILITE; // Hier kommt der Stapelfehler! SetMenuItemInfo(pstSubMenu->hHandle, pstMeasureItem->itemID, false, &stSubMenuPt); } else pstMeasureItem->itemHeight = g_nMenuHeight; if (nSubMenuItem == 0 || nSubMenuItem == pstSubMenu->nCount - 1) pstMeasureItem->itemHeight += 1; pstMeasureItem->itemWidth = pstSubMenu->nWidth; return true; }Was ist daran nur falsch? (Wie gesagt, auf Win2000 funktioniert es, auf WinME aber nicht).
-
Hast du evtl. per define irgendwo gesagt, dass du für W2K compilieren willst?!
-
Nein hab ich nicht!
(Hab nur ein WIN32_LEAN_AND_MEAN drin, dürfte aber nicht schlimm sein?!).