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 = 'Splash' then
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