1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| procedure TForm1.Button1Click(Sender: TObject);
const Mx = 4095; //taille du buffer - 1
var
Chain : TBuffer; //buffer
LvmItem : TLVItem; //item de liste visuelle
Hwd, //handle du composant à intercepter
idx, //index de défilement
subidx, //index de sous-défilement
LenStr : integer; //longueur d'une chaîne récupérée
begin
Hwd:=StrToInt(edit1.Text); // om met le handle de syslistview dans edit1
LvmItem.cchTextMax:=Mx+1; //spécifie la taille du buffer
LvmItem.pszText:=Chain; //définit le buffer
for idx:=0 to SendMessage(Hwd,LVM_GetItemCount,0,0)-1 do //on récupère le nombre d'item dans la liste visuelle
begin
subidx:=0
LvmItem.iSubItem:=subidx; //précisons la profondeur désirée
LenStr:=SendMessage(Hwd,LVM_GetItemText,idx,Longint(@LvmItem)); //on récupère le texte...
if LenStr>0 then
listbox1.Items.Add(LevelToTabs(subidx)+LvmItem.pszText); //...pour l'ajouter
end;
end; |
Partager