PDA

Ver la Versión Completa : Uso de la unidad Themes...


fide
25-10-2007, 22:48:53
Por favor. Alguien sabe o tiene documentacion de como uso la unidad Themes.pas de delphi??

Al parecer esta manipula los estilos visuales de Windows. No estoy muy seguro de que se hace con ella pero puede ser de ayuda para algo importante.. Si alguien ha trabajado con ella, que por favor lo diga...

aeff
25-10-2007, 23:28:51
fide colega, que delphi es ese? en el 5 no la veo por ninguna parte y en C++ builder 6 la que encontré me da una cantidad de errores, asi no se puede estudiar,

puedes comentar más acerca de esta unit??

saludos!

fide
26-10-2007, 01:02:22
Bueno, esta unit tiene unas cuantas definiciones de componentes de Windows y todas esas cosas, como los CheckBox y unas cuantas cosas mas.

Por ejemplo, esta es una definicion de un tipo de datos de esta unit.


type

TThemedElement = (
teButton,
teClock,
teComboBox,
teEdit,
teExplorerBar,
teHeader,
teListView,
teMenu,
tePage,
teProgress,
teRebar,
teScrollBar,
teSpin,
teStartPanel,
teStatus,
teTab,
teTaskBand,
teTaskBar,
teToolBar,
teToolTip,
teTrackBar,
teTrayNotify,
teTreeview,
teWindow
);



Ha, eso es en delphi 7.

xEsk
26-10-2007, 03:56:19
Como el nombre indica, tiene relación con los temas de Windows. En este ejemplo (http://www.clubdelphi.com/foros/showpost.php?p=235721&postcount=2) hago uso de la unidad themes, para "pintar" un checkbox en un TDBGrid usando el tema de windows actual... si no usara esto, se pintaría el checkbox "cutre" antiguo...

Esta unit nos ofrece funciones, variables y tipos para trabajar con los temas de Windows.

Saludos.

dec
26-10-2007, 04:00:24
Hola,

Buen apunte xEsk. :)

fide
26-10-2007, 05:15:16
Gracias por la ayuda acerca de esta Unit. Espero obtener mas datos. Cuando los tenga los publico enseguida!

fide
27-10-2007, 11:01:23
Hola. Este pequeño código sirve para saber si el estilo visual que tenemos aplicado en la PC es al clásico, o si es otro distinto como el de Xp.

Ha, lo unico que lo he implementado sobre delphi 7, y presinde del uses XPMan que no lo traen las versiones anteriores a la 7. En realidad lo que tiene este delphi que no tienen los anteriores es el archivo WindowsXP.res que se encuentra en la carpeta lib. Bueno, solo necesitan copiarlo en cualquier lugar accesible para la App y despues agregarselo al proyecto para que este truco funcione..

Mas abajo se puede bajar el archivo a utilizar. Peguenlo en la carpeta lib...


Aqui como se debe de incluir en el delphi, lo cual provoca que la app se adapte al estilo visual en curso!


{$R WindowsXP.res}


despues se puede ejecutar esto a gusto...


...
//Si no es delphi 7, no incluir XPMan, sino {$R WindowsXP.res}
uses Themes, XPMan;

procedure TForm1.Button1Click(Sender: TObject);
begin

if ThemeServices.ThemesEnabled then
ShowMessage('Se esta utilizando Windows XP u otro que no es el clasico!')
else
ShowMessage('Se esta utilizando el estilo de Windows Clasico!');

end;

aeff
27-10-2007, 15:24:28
hmmm, interesante eso fide ¿no?, en Delphi 5 tambien funciona ese archivo de recurso, ¿por que será un archivo de recurso el que logra este propósito en nuestras aplicaciones?

ahh!, lo abrí con el ResourceHacker y miren lo que vi:


<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="company" type="win32" /><description>not necessary</description><dependency><dependentAssembly><assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*" /></dependentAssembly></dependency></assembly>


saludos!

fide
28-10-2007, 03:02:43
Es una ocx o algo de eso ese archivo de recursos he??????
:confused::confused::confused: