Treeview-Link !!!!!!!!!

Résolu
Signaler
Messages postés
68
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
29 juillet 2008
-
Messages postés
68
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
29 juillet 2008
-
Salut :)

j ai un petit probleme avec le LINK de Children de Treeview
ci je click sur le Child 1 oubien Child2 oubien Child3 Child en Treeview
Result est toujour :
data.Url := ListBox1.Items[3];

Pouqoi ?!!!

voila mon Code :
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtrls, SHDocVw, ComCtrls, ImgList;
type
    PMydata = ^TMyData;
    TMyData = Record
        Url: string;

    end;
type
  TForm1 = class(TForm)
    TreeView1: TTreeView;
    ListBox1: TListBox;
    WebBrowser1: TWebBrowser;
    ImageList1: TImageList;
    procedure FormCreate(Sender: TObject);
    procedure TreeView1DblClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
 
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var node: TTreeNode;
I: Integer;
data: PMyData;
Begin
node:=TreeView1.Items.GetFirstNode;

  while node <> nil do
   begin
    if node.level = 1 then
    begin
       for i:= 0 to 3 do
       begin
         data.Url := ListBox1.Items[i];
         new( data);
         Node.Data := data;
       end;
    end;
    node := node.GetNext;
  end;
  end;

procedure TForm1.TreeView1DblClick(Sender: TObject);
var  oNewNode    : TTreeNode;
     data: PMyData;
begin
    data := (Sender as TTreeView).Selected.Data;
    if data <> Nil then
    Webbrowser1.Navigate(data.url);
end;

end.

et voila mes Formes :
object Form1: TForm1
  Left = 192
  Top = 114
  Width = 791
  Height = 507
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 13
  object TreeView1: TTreeView
    Left = 10
    Top = 0
    Width = 121
    Height = 221
    Indent = 19
    TabOrder = 0
    OnDblClick = TreeView1DblClick
    Items.Data = {
      02000000250000000000000000000000FFFFFFFFFFFFFFFF0000000003000000
      0C537563686D616368696E656E1F0000000100000002000000FFFFFFFFFFFFFF
      FF000000000000000006476F67676C651E0000000100000002000000FFFFFFFF
      FFFFFFFF0000000000000000055961686F6F1C0000000100000002000000FFFF
      FFFFFFFFFFFF0000000000000000034D534E230000000000000000000000FFFF
      FFFFFFFFFFFF00000000010000000A4672656520456D61696C1C000000010000
      0002000000FFFFFFFFFFFFFFFF000000000000000003474D58}
  end
  object ListBox1: TListBox
    Left = 140
    Top = 0
    Width = 101
    Height = 221
    ItemHeight = 13
    Items.Strings = (
      'http://google.de'
      'http://yahoo.de'
      'http://msn.de'
      'http://gmx.de ')
    TabOrder = 1
  end
  object WebBrowser1: TWebBrowser
    Left = 250
    Top = 0
    Width = 481
    Height = 431
    TabOrder = 2
    ControlData = {
      4C000000B63100008C2C00000000000000000000000000000000000000000000
      000000004C000000000000000000000001000000E0D057007335CF11AE690800
      2B2E126208000000000000004C0000000114020000000000C000000000000046
      8000000000000000000000000000000000000000000000000000000000000000
      00000000000000000100000000000000000000000000000000000000}
  end
end

3 réponses

Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
procedure TForm1.FormCreate(Sender: TObject);
var node: TTreeNode;
    I   : Integer;
    pData: PMyData;
Begin
  node := TreeView1.Items.GetFirstNode;
  I    := 0;
  while node <> nil do
  begin
   if node.level = 1 then
    if I < ListBox1.count then
    begin
      new(pData);
      pData^.Url := ListBox1.Items[i];
      Node.Data := pData;
      inc(I);
    end;
   node := node.GetNext;
  end;
end;






<hr size="2" width="100%" />
Messages postés
68
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
29 juillet 2008

Merci bien  !
et bonne nuit
Messages postés
68
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
29 juillet 2008

Salut

je voudrais maintenet faire 2 Functions

1. OnDBClick
2. Onclick

1. OnDBClick : C'est fini, ok
2. Onclick : je voudrais faire meme chause mais je etiluse cett foi  ListBox2

alor j'ai
essaye ce qui suit mais il ne funtione pas (Onclick) mais
(OnDBClick ok) :
procedure TForm1.FormCreate(Sender: TObject);
var node: TTreeNode;
    I   : Integer;
    pData: PMyData;
Begin
  node := TreeView1.Items.GetFirstNode;
  I    := 0;
  while node <> nil do
  begin
   if node.level = 1 then
    if I < ListBox1.count then
    begin
      new(pData);
      pData^.Url := ListBox1.Items[i];
      Node.Data := pData;
      inc(I);
    end;
   node := node.GetNext;
  end;

  while node <> nil do
  begin
   if node.level = 1 then
    if I < ListBox2.count then
    begin
      new(pData);
      pData^.Url2 := ListBox2.Items[i];
      Node.Data := pData;
      inc(I);
    end;
   node := node.GetNext;
  end;
end;