Witam
Stworzyłem menu kontekstowe w zasobach i wyświetlam je w następujący sposób:
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_RBUTTONUP:
{
mouseXY.x = LOWORD(lParam);
mouseXY.y = HIWORD(lParam);
ClientToScreen(hWnd, &mouseXY);
TrackPopupMenu(hMenuC,TPM_VCENTERALIGN,mouseXY.x,mouseXY.y,0,hWnd,NULL);
}
break;
return DefWindowProc(hWnd, message, wParam, lParam);
Efekt jest dość dziwny. Główna kolumna ma szerokość równą 1px(praktycznie widać tylko ramkę menu kontekstowego i nie widać elementów), ale już podmenu mają normalną szerokość. Czy czegoś zapomniałem skonfigurować? Menu jest zaprojektowane dobrze:
IDR_MENU2 MENU
BEGIN
MENUITEM "pozycja 01", ID_POZYCJA01
POPUP "pozycja 02"
BEGIN
MENUITEM "pozycja 02 a", ID_POZYCJA02_POZYCJA02A
POPUP "pozycja 02 b"
BEGIN
MENUITEM "pozycja 02 ba", ID_POZYCJA02B_POZYCJA02BA
END
END
END
PS. Używam VS 2008