Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Popupmenu Ereignis onClick wird bereits beim überfahren mit der Maus ausgelöst. (https://www.delphipraxis.net/171546-popupmenu-ereignis-onclick-wird-bereits-beim-ueberfahren-mit-der-maus-ausgeloest.html)

Kirchi 12. Nov 2012 08:56

Popupmenu Ereignis onClick wird bereits beim überfahren mit der Maus ausgelöst.
 
Hallo zusammen.

Ich habe eine Anwendung, bei der man über ein Popupmenü den Status eines Datenbankeintrags mit einem Popupmenü definieren soll. Das Problem ist nun, dass schon beim überfahren mit der Maus im Popupmenü der Status geändert wird und nicht beim anklicken. ich möchte aber, dass der Status erst geändert wird, wenn ich den Eintrag im Popupmenü anklicke.

Code:
Procedure TForm1.MyPopupClick(Sender: TObject);
Begin
    If Sender Is TMenuItem Then
    Begin
        ItemStatus := TMenuItem(Sender).Tag - 5000;
        // Schreibe Status
        dm.qry_Item.Active := False;
        dm.qry_Item.SQL.Clear;
        dm.qry_Item.SQL.Add('Select * From Item where id=500';
        dm.qry_Item.Active := True;
        dm.qry_Item.First;
        dm.qry_Item.Edit;
        dm.qry_ItemStatus.Value := StatusID[ItemStatus];
        dm.qry_ItemStatusDateTime.Value := Now;
        dm.qry_Item.Post;
    end;
end;

Uwe Raabe 12. Nov 2012 09:03

AW: Popupmenu Ereignis onClick wird bereits beim überfahren mit der Maus ausgelöst.
 
Kann ich so nicht nachvollziehen. Probier das doch erstmal in einer abgespeckten Version in einem neuen Projekt. Wenn es da geht, such nach den Unterschieden.

himitsu 12. Nov 2012 09:15

AW: Popupmenu Ereignis onClick wird bereits beim überfahren mit der Maus ausgelöst.
 
Wenn man das MenuItem.OnClick bei einem SubMenü verwendet, dann ist man selber Schuld.
Ansonsten kenn ich keine Gründe, warum das Klicken beim blosen Überfahren, mir der Maus, ausgelöst werden sollte.

Wenn es zu einem MenuItem ein Untermenü gibt, dann wird das Untermenü ja nicht nur durch Anklicken aufgemacht..

Kirchi 12. Nov 2012 10:14

AW: Popupmenu Ereignis onClick wird bereits beim überfahren mit der Maus ausgelöst.
 
Hallo himitsu,

Danke. Genau das war das Problem. Warum geht das nicht mit dem Submenüeintrag. Ich würde aber dem User die Möglichkeit lassen zusätzliche Informationen im Status zu hinterlegen ohne ein weiteres Fenster zu öffnen. Ich habe bei dem Submenüeintrag doch auch eine eigene onClick Procedure hinterlegt.

himitsu 12. Nov 2012 10:48

AW: Popupmenu Ereignis onClick wird bereits beim überfahren mit der Maus ausgelöst.
 
Mit Einträgen im SubMenü sollte es gehn ... nur nicht bei dem Menüeintrag, wo das SubMenü dran hängt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:17 Uhr.

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