Scheint etwas kompliziert zu sein..
Meine Ausgangsbasis.
Code:
// AudioStreams zum Menu addieren
hSubMenuAudio = CreatePopupMenu();
AppendMenuW(hMenu, MF_STRING | MF_POPUP, (UINT_PTR)hSubMenuAudio, L"Select audio stream");
if (aMediaProperty.NumAudioStream == 0)
EnableMenuItem(hMenu, 6, MF_POPUP | MF_BYPOSITION | MF_DISABLED);
else
{
int IntI = 0;
UINT_PTR AudioStreamID;
for (IntI = 0; IntI < aMediaProperty.NumAudioStream; IntI++)
{
if (KVideo_GetStreamInfo(stAudio, IntI, &StreamInfo))
{
EnableMenuItem(hMenu, 6, MF_POPUP | MF_BYPOSITION | MF_ENABLED);
AudioStreamID = ID_SELECTAUDIOSTREAM + IntI;
AppendMenuW(hSubMenuAudio, MF_STRING | MFT_RADIOCHECK, AudioStreamID, StreamInfo.ppszName);
}
if (IntI == 0)
CheckMenuItem(hSubMenuAudio, ID_SELECTAUDIOSTREAM, MF_CHECKED);
}
}
Ich erstelle hier ein Menu mit Submenus
Abhängig von den AudioStreams die vorhanden sind erhöhe ich die ID.
Code:
AudioStreamID = ID_SELECTAUDIOSTREAM + IntI;
Der Bereich der Maximalen ID ist festgelegt.
Code:
#define ID_SELECTAUDIOSTREAM 32800
#define ID_SELECTAUDIOSTREAM_LAST 32809 // 9 Einträge Reserviert
Wenn es so wie in Delphi nicht geht wie soll ich dann die Value in der WinProc analysieren.
Die Beispiele sind etwas verworren
gruss