Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi WM_MENUDRAG, WM_MENUGETOBJECT, WM_MENURBUTTONUP (https://www.delphipraxis.net/7725-wm_menudrag-wm_menugetobject-wm_menurbuttonup.html)

neolithos 20. Aug 2003 08:54


WM_MENUDRAG, WM_MENUGETOBJECT, WM_MENURBUTTONUP
 
Ich experimentiere derzeitige mit Menü's. Nun wollte meine Menüeinträge per Drag & Drop verschieben lassen. Also hab ich in der MSDN nachgeschaut und auch etwas gefunden. Leider funktioniert es nicht so wie es dort beschrieben wurde.

Mittels SetMenuInfo Drag&Drop aktivieren.

Ich erhalte WM_MENUDRAG und gebe MND_CONTINUE zurück, erhalte aber nie WM_MENUGETOBJECT.

Was mach ich falsch?

neolithos 20. Aug 2003 09:18

Re: WM_MENUDRAG, WM_MENUGETOBJECT, WM_MENURBUTTONUP
 
In WM_MENUDRAG rufe ich jetzt DoDropDrop.

Delphi-Quellcode:
  var g : TIID;
    i : IDropTarget;
  with PMenuGetObjectInfo(Message.LParam)^ do
    begin
      g := IDropTarget;
      riid := @g;
      i := Self;
      pvObj := @i;
      Message.Result := MNGO_NOERROR;
    end;
Das erzeugt derzeitig einen Fehler!

neolithos 22. Aug 2003 10:23

Re: WM_MENUDRAG, WM_MENUGETOBJECT, WM_MENURBUTTONUP
 
Änderung:

Delphi-Quellcode:
  with PMenuGetObjectInfo(Message.LParam)^ do
    if IsEqualGUID(riid^, IDropTarget) then
       begin
         pvObj := Pointer(Self as IDropTarget);
         Message.Result := MNGO_NOERROR;
       end
    else
       Message.Result := MNGO_NOINTERFACE;


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz