Creating context menu for win32 API

contextmenu, winapi

Solution

You can't convert a string literal to wide by casting, you have to declare it as a wide char string. The casting just defeats the compiler warning, it doesn't change the content of the string.

change this

(LPCWSTR)"Exit"
(LPCWSTR)"Play"

to this

_T("Exit")
_T("Play")

or this

L"Exit"
L"Play"

Problem

I am trying to create context menu for win32 application using ``` case WM_RBUTTONDOWN: { HMENU hPopupMenu = CreatePopupMenu(); InsertMenu(hPopupMenu, 0, MF_BYPOSITION | MF_STRING, ID_CLOSE, (LPCWSTR)"Exit"); InsertMenu(hPopupMenu, 0, MF_BYPOSITION | MF_STRING, ID_EXIT, (LPCWSTR)"Play"); SetForegroundWindow(hWnd); TrackPopupMenu(hPopupMenu, TPM_BOTTOMALIGN | TPM_LEFTALIGN, 0, 0, 0, hWnd, NULL); } ``` But I always get context menu as shown below alt text http://img191.imageshack.us/img191/866/70219076.png I want text exit and play to be displayed in the menu

Original source