cs_sarah21000
Messages postés2Date d'inscriptionvendredi 12 juin 2009StatutMembreDernière intervention13 juin 2009
-
13 juin 2009 à 00:04
daysara21
Messages postés12Date d'inscriptionvendredi 22 mai 2009StatutMembreDernière intervention 2 juillet 2010
-
25 juin 2009 à 19:33
salut
est ce qu'il ya une methode pour creer un popup menu dans chaque image(255) qui sont dans un listview
et merci d'avance
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 21 juin 2009 à 22:11
Un seul TPopupMenu suffit pour l'ensemble et tu peux utiliser le code suivant.
Tu associes le TPopupMenu avec le TListItem via la propriété popupmenu de ce dernier.
Dans le cas présent, j'ai simplement créé deux éléments de menu dans le composant TPopupMenu.
procedure TForm1.ListView1ContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
var
li: TListItem;
begin
li := ListView1.ItemFocused;
if assigned(li) then
with PopupMenu1 do
begin
Activer1.Caption := 'Activer ' + li.Caption;
Desactiver1.Caption := 'Désactiver ' + li.Caption;
case li.ImageIndex of
0:
Activer1.Enabled := false;
1, 2:
Activer1.Enabled := True;
end;
Desactiver1.Enabled := not Activer1.Enabled;
//Stockage de l'adresse des propriétés caption
Activer1.Tag := Integer(Pointer(li.Caption));
Desactiver1.Tag := Integer(Pointer(li.Caption));
end;
end;
procedure TForm1.Activer1Click(Sender: TObject);
begin
ShowMessage('Activation de ' + String(Pointer(Activer1.Tag)));
end;
procedure TForm1.Desactiver1Click(Sender: TObject);
begin
ShowMessage('Désactivation de ' + String(Pointer(Desactiver1.Tag)));
end;
May Delphi be with you<hr />Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 13 juin 2009 à 07:53
salut
création de composant à la volée
ou
un seul popup dans lequel tu viens modifier le contenu des items
ou
si le menu doit contenir les meme items, un seul menu posé dans l'IDE suffit !
cs_sarah21000
Messages postés2Date d'inscriptionvendredi 12 juin 2009StatutMembreDernière intervention13 juin 2009 13 juin 2009 à 18:11
salut JULIO
j'ai un imagelist relier avec un listview ce dernier contentient 255 image d'un ordinateur et a chaque image je veut faire un popup menu
pour activer ou desactive l'ordinateur si c'est possible
merci
function TForm1.FindIndex;
begin
for Result:= 0 to Length(ListePostes)- 1 do
if ListePostes[Result].PipeHandle= APipeHandle then
Exit;
result:= -1
end;
procedure TForm1.Button6Click(Sender: TObject);
var I: Byte;
begin
with TIniFile.Create(ExtractFilePath(Application.ExeName)
+'config.ini') do
try
for I:= 1 to 255 do
WriteString('USER_IP', '192.168.0.'+IntToStr(I), 'Y');
finally
Free
end
end;
procedure TForm1.Button7Click(Sender: TObject);
var I: Byte;
Section: TStrings;
S: String;
ListItem: TListItem;
begin
with TIniFile.Create(ExtractFilePath(Application.ExeName)
+'config.ini') do
try
Section:= TStringList.Create;
ReadSection('USER_IP', Section);
for I:= 0 to Section.Count- 1 do
begin
SetLength(ListePostes, Length(ListePostes)+1);
with ListePostes[Length(ListePostes)-1] do
begin
PipeHandle:= PingMonitor1.AddPipeEx(Section[I]);
ListItem:= ListView1.Items.add;
ListItem.ImageIndex:= 0;
ListItem.Caption:= Section[I];
ItemIndex:= ListItem.Index
end
end
finally
Section.Free;
Free
end
end;