Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Desactivar estilo visual (https://www.clubdelphi.com/foros/showthread.php?t=68139)

MAXIUM 27-05-2010 02:48:21

Desactivar estilo visual
 
¿Como desactivar el estilo visual de solo algunos componentes? (XPMan)

kurono 27-05-2010 04:47:44

para los componente individuales lo puedes hacer de la manera siguiente

Código Delphi [-]
function SetWindowTheme(hWnd: Cardinal; Optional, pszSubAppName: PChar): Cardinal; stdcall; external 'uxtheme';
 
procedure TForm1.Button1Click(Sender: TObject);
begin
 SetWindowTheme(Button1.Handle, ' ', ' ');
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
 SetWindowTheme(Button1.Handle, nil, nil);
end;

y esto para el sistema windows en general

Código Delphi [-]
function EnableTheming(fEnable: LongBool): Cardinal; stdcall; external 'uxtheme';
 
procedure TForm1.Button1Click(Sender: TObject);
begin
 EnableTheming(False);
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
 EnableTheming(True);
end;

MAXIUM 27-05-2010 05:36:06

Muchas Gracias. Pero no me funciona.

Ñuño Martínez 27-05-2010 10:30:22

Por favor, define "Pero no me funciona."

MAXIUM 27-05-2010 22:20:17

Código Delphi [-]
function SetWindowTheme(hWnd: Cardinal; Optional, pszSubAppName: PChar): Cardinal; stdcall; external 'uxtheme';

procedure TForm1.FormCreate(Sender: TObject);
begin
     SetWindowTheme(Panel1.Handle, nil, ''); //<- NO FUNCIONA
     SetWindowTheme(Button1.Handle, nil, '');
     SetWindowTheme(GroupBox1.Handle, nil, ''); //<- NO FUNCIONA
     SetWindowTheme(BitBtn1.Handle, nil, ''); //<- NO FUNCIONA
end;


kurono 28-05-2010 04:00:49

si estas usando componentes tercero en tu aplicacion como VCL Skip ,suick pack etc debo decirte que no funcionara los codigo que te pase ya, que ese codigo solo quitan el estilo visual del xp del propio sistema no de componente tercero

MAXIUM 28-05-2010 04:36:57

Estoy usando controles nativos, es cosa que veas el código que he puesto.

kurono 29-05-2010 00:07:04

agrega en la linea de la funcion en el archivo que hace referencia añadele la extension .dll de esta manera

Código Delphi [-]
function SetWindowTheme(hWnd: Cardinal; Optional, pszSubAppName: PChar): Cardinal; stdcall; external 'uxtheme.dll';

luego en la carpeta de tu proyecto agrega el archivo uxtheme.dll que se encuenta en la carpeta C:\windows\system32 y con eso debe funcionar

MAXIUM 29-05-2010 00:54:29

Lo curioso, es que solo funciona para los Button.

kurono 29-05-2010 02:05:22

debo comentarte que el codigo que te e dado lo habia utilizado en una aplicacion que habia desarrollado hace mucho y me funcionaba perfectamente no solo con el los buttons si no con todo los componente de lo que no me acuerdo es si tenia que poner algo extra en los uses vere si tengo esa aplicacion todavia para revisarlo de todas manera dime si te funcionado lo ultimo que te expuse


La franja horaria es GMT +2. Ahora son las 04:58:23.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi