Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 23-11-2008
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 20
aeff Va camino a la fama
bueno, tengo una propuesta para que me la rectifiquen, es una prueba mi objetivo era eliminar el parpadeo, de la forma siguiente ya no ocurre pero necesito saber si esta forma es optimizada o no es conveniente,

Código Delphi [-]
type
  TXCustomCheckBox = class (TCustomCheckBox)
  protected
    st: Integer;
    procedure CreateParams(var Param: TCreateParams);
    procedure WMPaint(var Message: TWMPaint); message WM_PAINT;
    procedure BMSetChecked(var Message: TMessage); message BM_SETCHECK;
    procedure BMSetState(var Msg: Tmessage); message BM_SETSTATE;
  public
    constructor Create(aOwner: TComponent); override;

  end;

implementation

  constructor TXCustomCheckBox.Create(aOwner: TComponent);
  begin
    inherited;
  end;

  procedure TXCustomCheckBox.BMSetState(var Msg: Tmessage);
  begin
    Inherited;
    Invalidate;
  end;

  procedure TXCustomCheckBox.CreateParams(var Param: TCreateParams);
  begin
    inherited;
    Param.Style := Param.Style or BS_OWNERDRAW;
  end;

  procedure TXCustomCheckBox.BMSetChecked(var Message: TMessage);
  begin
    inherited;
    Invalidate;
    st := Message.WParam;
  end;

  procedure TXCustomCheckBox.WMPaint(var Message: TWMPaint);
  var
    Canvas: TCanvas;
    vPaint: TPaintStruct;
  begin
    BeginPaint(Handle, vPaint);
    Canvas := TCanvas.Create;
    Canvas.Handle := GetDc(Handle);
    Canvas.FillRect(Canvas.ClipRect);
    case st of
      0:Canvas.TextOut(1,1,'a');
      1:Canvas.TextOut(1,1,'b');
    end;
    EndPaint(Handle, vPaint);
  end;

espero que me den sus criterios colegas, mil gracias de antemano,

saludos!
aeff!
Responder Con Cita
 



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
Crear un TButton con un skin aeff Varios 9 12-11-2008 02:38:02
Activar un TComboBox con un TCheckBox nolo SQL 4 02-11-2008 02:39:23
Selección multiple con TCheckBox Nelly Varios 1 09-08-2007 00:28:06
Propiedad Checked de TCheckBox FunBit OOP 4 05-09-2005 10:53:06
TCheckbox no acepta el OnClick atirado OOP 2 30-09-2004 00:52:25


La franja horaria es GMT +2. Ahora son las 06:25:23.


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