moldov
Messages postés165Date d'inscriptionmercredi 8 octobre 2003StatutMembreDernière intervention10 novembre 2008
-
13 nov. 2006 à 22:55
moldov
Messages postés165Date d'inscriptionmercredi 8 octobre 2003StatutMembreDernière intervention10 novembre 2008
-
14 nov. 2006 à 12:44
Bonjour,
Je vous expose mon problème ainsi que les pistes que j'ai explorées.
Alors voila, je crée dans un ScrollBox des boutons dynamiquement suivant un fichier de configuration.
Ensuite je déclare la propriété btn.PopupMenu := mon popummenu. Ce que je veux faire c'est que lorsque que je clique sur mon Popupmenu, j'affiche le Caption du bouton qui est appuyer.
Le problème c'est que j'arrive pas a remonter au bouton car le Sender de la fonction du clique du Popup est lui même.
Alors j'ai regardé du coté de la propriété PopupComponent. Mais ce code me genère une violation d'accès :
ShowMessage( TBitBtn( TPopupMenu(Sender).PopupComponent ).Caption ); Celui ci me donne une string vide
ShowMessage( TBitBtn( TPopupMenu(Sender).PopupComponent ).Name);
Si vus avez une piste, je suis preneur
Merci et bonne Prog
A voir également:
Retrouver qui déclenche le PopupMenu avec bouton créées dynamiquement.
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 14 nov. 2006 à 08:31
evenement OnContextPopup du composant (commun a tout les composant possedant le ppm) :
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
procedure FormCreate(Sender: TObject);
private
procedure DoButtonContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.DoButtonContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
begin
with (Sender as TComponent) do
PopupMenu1.Items[0].Caption := ClassName+'.'+Name;
end;