Ver Mensaje Individual
  #17  
Antiguo 30-05-2016
xangiesaurx xangiesaurx is offline
Miembro
NULL
 
Registrado: feb 2016
Posts: 57
Reputación: 9
xangiesaurx Va por buen camino
Hola, vengo a dejarles la solución que aplique para este problema, por si a alguien más en un futuro le sirve.

Básicamente, lo que hace este código es buscar en donde se encuentran los temas/skins el registro del último skin aplicado a la aplicación, lo jala y lo aplica.

Código Delphi [-]
  StyleServices.OnThemeChange:=OnThemeChange;

  SearchDir := 'Direccion del folder' + PathDelim;
  if DirectoryExists(SearchDir) then begin
    if FindFirst(SearchDir+'*.*',
                faAnyFile - faDirectory,
                searchResults) = 0 then
   repeat
     try
       if TStyleManager.IsValidStyle(
            SearchDir+searchResults.Name) then
          TStyleManager.LoadFromFile(
             SearchDir+searchResults.Name);
     except
       OutputDebugString('Not valid style file');
     end;
   until FindNext(searchResults) <> 0;
  end else
    OutputDebugString('Theme`s folder does not exist');
 // Sort the styles using a StringList
 SLStyles := TStringList.Create;
 try
   SLStyles.Duplicates := TDuplicates.dupIgnore;
   for Style in TStyleManager.StyleNames do
     SLStyles.Add(Style);
   SLStyles.Sort;

   R:=TRegistry.Create;
   try
     if R.OpenKey(PrgKey,false) then
     begin
       try
         S:=R.ReadString('ThemeStyle');
         TStyleManager.TrySetStyle(S,false);
       except
       end;
     end;
   finally
      FreeAndNil(R);
   end;

 finally
   SLStyles.Free;
 end;
Responder Con Cita