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 Event sobald Popup geschl. wird, wenn kein Eintr. gew. wurde (https://www.delphipraxis.net/72467-event-sobald-popup-geschl-wird-wenn-kein-eintr-gew-wurde.html)

DerDan 30. Jun 2006 14:49


Event sobald Popup geschl. wird, wenn kein Eintr. gew. wurde
 
Hallo

ich hab eine Grafik Applikation. Im Zeichenfenster kann man mit der rechten Mouse Taste Popupmenus aufklappen.

Wenn man einen Eintrag auswählt soll danch die Mouse per SetMousePos wieder an den Punkt verschoben werden, der aktuell war als
das Popup geöffnet wurde.


Delphi-Quellcode:
procedure TForm1.Memo1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if mbRight = Button then
  begin
    FMouseDownAt := Mouse.CursorPos;
    // als nächstes erscheint das Popup
  end;
end;

procedure TForm1.Memo1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if mbRight = Button then
  begin
    // Popup ist wieder weg
    Mouse.CursorPos := FMouseDownAt;
  end;
end;

Funktioniert soweit schon.

Aber wenn kein Eintrag ausgewählt wurde soll die Mouse nicht automatisch verschoben werden. Leider gibt es dafür kein Ereignis!

Wie löse ich das Problem?


mfg


DerDan

Phistev 30. Jun 2006 16:20

Re: Event sobald Popup geschl. wird, wenn kein Eintr. gew. w
 
Verlege den Code zum Zurückbewegen des Cursors in die OnClick-Events der MenuItems, da das der Zeitpunkt ist, an dem der Cursor zurückbewegt werden soll.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:47 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