Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-11-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Ñuño Martínez Ver Mensaje
Simplemente con no incrustarle dicho archivo, el programa se mostrará con el estilo normal.
Yo pensaba lo mismo, pero aunque es cierto que los controles se ven al estilo clásico, el marco de la ventana sigue viéndose según el tema escogido en el sistema.

Lo que pone el compañero cHackAll, usando SetWindowTheme, realmente pone incluso el borde al estilo clásico. Aunque, no sé porqué, a mi no me fucionó poniendo

Código Delphi [-]
SetWindowTheme(Handle, nil, nil);

sino

Código Delphi [-]
SetWindowTheme(Handle, '', '');

De todas formas, hasta donde probé ayer, si aplicamos SetWindowTheme a la ventana, el cambio no aplica a todos los controles, hay que aplicar recursivamente la función. Pero, ahí me atoré, no logro que el cambio se vea sino hasta que oculto la ventana y vuelvo a mostrarla. Probé con Update, Refresh, Invalidate y todos los análogos pero nada. Funciona con los TButton, pero otros controles como TEdit sólo hasta que se redibuja la ventana.

Ojalá cHackAll nos de alguna luz sobre esto.

// Saludos
Responder Con Cita
  #2  
Antiguo 14-11-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 22
cHackAll Va por buen camino
Cita:
Empezado por roman Ver Mensaje
...Aunque, no sé porqué, a mi no me fucionó poniendo

Código Delphi [-]
SetWindowTheme(Handle, nil, nil);

sino

Código Delphi [-]
SetWindowTheme(Handle, '', '');

...
Claro;

Cita:
Empezado por cHackAll Ver Mensaje
...lo que significa que al presionar el Button1, el S.O. quedará como el Win2k...

Código Delphi [-]
//... 
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  SetWindowTheme(Button1.Handle, ' ', ' ');
end;

...
Cita:
Empezado por roman Ver Mensaje
...De todas formas, hasta donde probé ayer, si aplicamos SetWindowTheme a la ventana, el cambio no aplica a todos los controles, hay que aplicar recursivamente la función...
Mi no entender!

Caso 1; quieren una aplicacion con barra de titulo XP y el resto clásico? pues no hagan nada

Caso 2; quieren una aplicacion con 100% estilo clásico? simplemente NO incluyan el manifest y como es de suponerse;

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

Caso 3; quieren una aplicacion con 100% estilo clásico (y aparte quemarse las pestañas)? usen SetWindowTheme recursivamente... para sufrir más podemos extender el hilo con un buen numero de formas para hacerlo

Caso 4; quieren intercambiar estilos? API EnableTheming, tambien les puede servir para Caso 2.

etc... etc.

Cita:
Empezado por roman Ver Mensaje
...Ojalá cHackAll nos de alguna luz sobre esto...
Quien definitivamente necesita una luz sobre "ésto" soy yo!
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #3  
Antiguo 14-11-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Bueno, yo en realidad no quiero nada. Sólo estaba tratando de responderle al compañero.

Tu caso 2 es más que suficiente si quiere el estilo clásico desde el principio, pero si quiere convertir -en ejecución- de XP a clásico, pues habrá que quemarse las pestañas

// Saludos
Responder Con Cita
  #4  
Antiguo 14-11-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 22
cHackAll Va por buen camino
Cita:
Empezado por roman Ver Mensaje
Bueno, yo en realidad no quiero nada. Sólo estaba tratando de responderle al compañero.
jejeje, reconozco perfectamente tu "posición" en este caso amigo roman, disculpa si no di el mensaje adecuado

Con respecto al Caso 3 (Cruft);

Código Delphi [-]
procedure EnumControls(Control: TControl);
var Index: Integer;
begin
 with TWinControl(Control) do
  begin
   for Index := 0 to ControlCount - 1 do
    EnumControls(Controls[Index]);
   SetWindowTheme(Handle, '', '');
   if Visible then
    begin
     ShowWindow(Handle, SW_HIDE);
     ShowWindow(Handle, SW_SHOW);
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 EnumControls(Self);
end;

Saludos
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx

Última edición por cHackAll fecha: 14-11-2008 a las 21:11:53. Razón: +Cruft
Responder Con Cita
  #5  
Antiguo 01-12-2008
Avatar de Kipow
Kipow Kipow is offline
Miembro
 
Registrado: abr 2006
Ubicación: Guatemala
Posts: 329
Poder: 21
Kipow Va por buen camino
Yo tenia ese problema y exceptuando los (bitbtn) todo funciono a la perfeccion, solamente le desmarque el check que tiene en Opciones del proyecto / Application / Enable Runtime Themes y listo.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Actualizador de aplicacion estilo avg capo979 Internet 3 10-11-2008 23:10:43
Uno de gallegos (clasico) boreg Humor 22 21-04-2008 15:06:09
Un partido Clasico jcarteagaf La Taberna 1 18-03-2008 17:27:14
Como mover una aplicacion al estilo winamp huiculi Varios 2 13-04-2007 21:47:20
Aplicación estilo Systemworks sitrico Varios 0 27-10-2005 23:04:14


La franja horaria es GMT +2. Ahora son las 17:18:41.


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