Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-03-2014
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Poder: 18
Parsec Va por buen camino
Funcion OndrawTab funciona dependiendo del PC

Hola,

Pongo la propiedad OwnerDraw del PageControl en true y pongo el siguiente código en su evento OnDrawTab:


Código Delphi [-]
procedure TForm1.PageControl1DrawTab(
  Control: TCustomTabControl;
  TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
  R: TRect;
  Texto: String;

begin
  if Active then
  begin
    Control.Canvas.Font.Color := clRed;
    Control.Canvas.Font.Style := [fsBold];
  end;

  Texto := PageControl1.Pages[TabIndex].Caption;

  R := Rect;
  Control.Canvas.FillRect(R);

  if not Active then
    InflateRect(R, 0, -3);

  DrawText(
    Control.Canvas.Handle, PChar(Texto), -1, R,
    DT_SINGLELINE or DT_CENTER or DT_VCENTER);
end;

En mi portátil funciona perfectamente, lo llevo al PC del cliente y no funciona, muestra las pestañas en blanco.
He comprobado que cuando abre el formulario Form1.Show en mi portátil ejecuta la función OndrawTab y en el PC del cliente no pasa por ella, como si no existiese.

¿Alguien me puede explicar que sucede?
Muchas gracias
Responder Con Cita
  #2  
Antiguo 27-03-2014
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 18
Chris Va por buen camino
Tu PC no utiliza los temas de Windows?
La PC del Cliente utiliza los temas de Windows?
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #3  
Antiguo 27-03-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Parsec.

Con seguridad el otro equipo tiene Windows 64 bits, aquí está reportado el error + solución: Report #: 19859 - WMDrawItem fails under WOW64.

Y en este otro: TPageControl OnDrawTab and Win64, encontrarás el código en una unidad para agregarlo a tu aplicación.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 27-03-2014
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Poder: 18
Parsec Va por buen camino
Hola Ecfisa,

exacto!!!, es de 64 bits.

Muchas gracias...algún día tendré que ver la forma de invitaros a algo.
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
funcion RANDOM ... funciona bien ?!!!!! ingel Varios 5 07-04-2010 16:22:08
la funcion round no funciona en fastreport ? IVAND Impresión 4 24-02-2008 01:23:29
Función Que No Me Funciona En Una Dll MON___ OOP 3 21-04-2007 02:20:25
Funcion para saber si un registro .dbf esta bloqueado ( en red no me funciona ) Wonni Conexión con bases de datos 7 06-10-2006 19:49:32
¿Cómo funciona la función sum en SQL? nuri SQL 9 11-08-2005 17:12:25


La franja horaria es GMT +2. Ahora son las 22:22:55.


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
Copyright 1996-2007 Club Delphi