Einzelnen Beitrag anzeigen

magicshadow

Registriert seit: 28. Apr 2003
85 Beiträge
 
#1

Problem mit TrackPopupMenuEx

  Alt 10. Mär 2004, 12:32
Hallöchen.

Ich hab mir ein kleines PopUp Menue über die Api gebastelt, welches auf eigentlich wunderbar funst, nur der erste Aufruf des PopUp's verblüfft mich immer, denn dabei hat die Maus über dem PopUp das HoureGlass Symbol.
Wie gesagt es kommt immer beim ersten aufruf, wenn ich das PopUp neu aufrufe ist es der nortmlae Zeiger!

Erzeugt wird das Menue so:
Code:
procedure InitPopUpMenue;
begin
     if m_hPopup <> 0 then exit;

     m_hPopup := CreatePopupMenu;
     AppendMenu(m_hPopup, MF_STRING, 0, PChar('&Start'));
     AppendMenu(m_hPopup, MF_SEPARATOR, 1, PChar(''));
     AppendMenu(m_hPopup, MF_STRING, 2, PChar('E&instellungen'));
     AppendMenu(m_hPopup, MF_SEPARATOR, 3, PChar(''));
     AppendMenu(m_hPopup, MF_STRING, 4, PChar('&IP Kopieren'));
     AppendMenu(m_hPopup, MF_STRING, 5, PChar('&Ende'));
end;
aufgerufen wird es hier:
Code:
...
TrackPopupMenuEx(m_hPopup, TPM_RETURNCMD, Maus.x, Maus.y, Hwnd, nil);
...
[/code]

Und die Funktion ist volgender Maßen deklariert:
Code:
function TrackPopupMenuEx (hMenu, wFlags, x , y : Integer;
                     hwnd : Integer; lprc : Pointer) : Integer; stdcall; external 'user32.DLL';
Wäre cool, wenn das einer kennt udn die Lösung parat hätte.
  Mit Zitat antworten Zitat