![]() |
PopUpMenu.item.click ?
mit folgendem Code erstelle ich zur laufzeit ein Popupmenu mit Untermenu'
Delphi-Quellcode:
in der zeile
procedure TForm1.ErzeugeSubMenu(Sender :TObject);
var Item, subItem : TMenuItem; SL : TStringlist; x, i : Integer; begin XPMenu1.Active:= False; PopupMenu1.Items.clear; for x:= 0 to 4 do begin SL:= TStringList.Create; try Item:=TMenuItem.Create(PopUpMenu1); with Item do begin Caption:= IntToStr(x + 2) +' Stunden'; tag:= x; OnClick:= Sagmirwerdubist; SL.AddStrings(fkt_CalcWorkTime((x+2)*5)); for i:= 0 to SL.Count-1 do begin SubItem:=TMenuItem.Create(Item); with SubItem do begin Caption:= SL.Strings[i]; OnClick:= MyPopUpClick; end; Item.Add(SubItem); end; PopUpMenu1.Items.Add(Item); end; finally; SL.Free; end; end; XPMenu1.Active:=true; end;
Delphi-Quellcode:
will ich erfahren, welcher item gedrückt wurde . nun hat aber jeder item submenu's und ich kann dadurch das
OnClick:= Sagmirwerdubist;
onclick ereignis nicht auswerten. sobald ich mich, mit der mouse uber eine item befinde, wird das ereignis ausgelöst. frage 1. warum ist das so? 2. was gibt es für möglichkeiten der abhilfe? danke raik |
Re: PopUpMenu.item.click ?
Zitat:
Zitat:
|
Re: PopUpMenu.item.click ?
Liste der Anhänge anzeigen (Anzahl: 1)
hallo sharky,
das habe ich ja auch festgestellt, aber Sagmirwerdubist reagiert aber sofort und dadurch kann ich das nicht auswerten. es kann ja sein das ich die maus noch weiter verschiebe und schon ist aber das ereignis ausgelöst. Edit: kann ich dieses verhalten irgendwie beeinflussen, das windows das subitem öffnet? |
Re: PopUpMenu.item.click ?
Hai kiar,
mal anderstherum gefragt: Was möchtest Du denn erreichen? |
Re: PopUpMenu.item.click ?
wie du siehst sind dort stunden aufgeführt. nun möchte ich in abhängigkeit der gesamtstundenzahl die items unterdrücken, die rein rechnerisch nicht mehr machbar sind.
also: gesmtstunden = 8 item 6 Stunden gedrückt; daraus folgt item 3 Stunden,4 Stunden und 5 Stunden -> enabled:=false |
Re: PopUpMenu.item.click ?
hey raik,
ich steh grad vor dem selben problem wie du vor 5 jahren... hast du dazu bereits eine lösung gefunden? gruß stefan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:05 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 by Thomas Breitkreuz