Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#1

VST Node finden und neuen eintrag addieren

  Alt 14. Sep 2008, 18:55
Hier ist der anfang mit VST (Anfänger mit der Komponente)

Delphi-Quellcode:
procedure TMainForm.LoadTreeDefault;
var
  IntI : Integer;
  IntObj : Integer;
  Data : PTreeData;
  
begin

// ******************************************************************* //
// ************** Available Skin Sreens ****************************** //
// ******************************************************************* //
  // Größe der Struktur TTreeData zuweisen
  FSkinTree.NodeDataSize := SizeOf(TTreeData);

  // TStringList erstellen und mit Daten für die Screens füllen
  FAvailableScreens := TStringList.Create;

  FAvailableScreens.Add('Splash');
  FAvailableScreens.Add('Mainmenu');
  FAvailableScreens.Add('Audioplayer');
  FAvailableScreens.Add('Radio');
  FAvailableScreens.Add('Equalizer');
  FAvailableScreens.Add('Gallerie');
  FAvailableScreens.Add('Relaiscontrol');
  FAvailableScreens.Add('Phone');
  FAvailableScreens.Add('Dvd');
  FAvailableScreens.Add('ExtApps');
  FAvailableScreens.Add('CaveBar');
  FAvailableScreens.Add('CaveBigBar');
  FAvailableScreens.Add('PlaylistenEditor');
  FAvailableScreens.Add('Plugin');
  FAvailableScreens.Add('CaveMessages');

  ParentNode := FSkinTree.AddChild(nil);
  Data := FSkinTree.GetNodeData(ParentNode);
  Data^.FCaption := 'Available Screens';
  Data^.FColumn1:='';

  for IntI := 0 to FAvailableScreens.Count -1 do
  begin
    ScrChildNode := FSkinTree.AddChild(ParentNode);
    Data := FSkinTree.GetNodeData(ScrChildNode);
    Data^.FCaption := FAvailableScreens.Strings[IntI];
    ScrChildNode.CheckType := ctRadioButton;
    if Data^.FCaption = 'Splashthen
      ScrChildNode.CheckState := csCheckedNormal;
  end;

// ******************************************************************* //
// ************** Available Skin Objecte ***************************** //
// ******************************************************************* //
  // TStringList erstellen und mit Daten für die Screen Objecte füllen
  FScreensObj := TStringList.Create;
  FScreensObj.Add('Bitmap');
  FScreensObj.Add('Text');

  ParentNode := FSkinTree.AddChild(nil);
  Data := FSkinTree.GetNodeData(ParentNode);
  Data^.FCaption := 'Visuals';
  Data^.FColumn1:='';

  for IntObj := 0 to FScreensObj.Count -1 do
  begin
    ObjChildNode := FSkinTree.AddChild(ParentNode);
    Data := FSkinTree.GetNodeData(ObjChildNode);
    Data^.FCaption := FScreensObj.Strings[IntObj];
  end;
  ObjChildNode.CheckType := ctNone;

  With FSkinTree.TreeOptions do
    MiscOptions := MiscOptions + [toCheckSupport];

  if not Assigned(SkinManagerInterface)then
    SkinManagerInterface := TCAVESkinManager.Create;

  SkinManagerInterface.SkinPath := SkinIni.filename;
  SkinManagerInterface.ParseIniToTree(SkinManagerInterface.SkinPath, 'Splash', FSkinTree);
    

end;
es werden zwei Bäume angelegt einer mit Available Screens und einer mit Visual
nach dem parsen einer Section in meiner Ini
SkinManagerInterface.ParseIniToTree(SkinManagerInterface.SkinPath, 'Splash', FSkinTree); vergleiche ich die einträge der section bsp.. ob eine variable 'background' vorhanden ist
wenn vorhanden dann möchte ich diese der ChildNode 'Bitmap' hinzu addieren.

Mein Problem ist nun wie finde ich diesesn Eintrag ?

gruss Emil
Miniaturansicht angehängter Grafiken
insert_198.jpg  
  Mit Zitat antworten Zitat