Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-12-2006
pascalutn2003 pascalutn2003 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Córdoba
Posts: 36
Poder: 0
pascalutn2003 Va por buen camino
Smile Un editor COOL. Al recibir el foco se "ilumina" y viceversa...

HOLA A TODOS:

A ver que les parece esto que les tiro.

Es un editor que al recibir el foco cambia de color y la apariencia de la fuente y cuando lo pierde (al foco ) vuelve a la normalidad.

En realidad me hacia falta algo asi y comence a diseñarlo; seguramente esta para arreglarlo y mejorarlo pero a mi me sirvio a pesar de sus defectos.

Perdonen por no haberlo comentado, me parecio que no hacia falta.

EDGARDO - Córdoba - Argentina

Código Delphi [-]

unit CoolEdit;

interface

uses
  Windows, Messages, SysUtils, Classes, Controls, StdCtrls, Graphics, Forms;

type
     TCoolEdit = class(TEdit)
     private

          fColor              :    TColor;
          fColorWithFocus     :    TColor;
          fColorWithOutFocus  :    TColor;

          fFont               :    TFont;
          fFontFocus          :    TFont;
          fFontNoFocus        :    TFont;

          FColorFont          :    TColor;
          fFontColorFocus     :    TColor;
          fFontColorNoFocus   :    TColor;

          Procedure SetColor(Value:TColor);
          Procedure SetFont(Value:TFont);
          Procedure SetColorFont(Value:TColor);


     protected

          Procedure WMSetFocus(var Message:TWMSetFocus);message WM_SETFOCUS;
          Procedure WMKillFocus(var Message:TWMKillFocus);Message WM_KILLFOCUS;

     public

          Constructor Create(AOwner:TComponent);override;
          Destructor Destroy;override;

     published

          Procedure RePaint;Override;

          Property FocusColor      :    TColor Read fColorWithFocus Write SetColor Default clAqua;
          Property NoFocusColor    :    TColor Read fColorWithOutFocus Write SetColor Default clSilver;

          Property FocusFont       :    TFont Read fFontFocus Write SetFont;
          Property NoFocusFont     :    TFont Read fFontNoFocus Write SetFont;

          Property FontColorFocus  :    TColor Read fFontColorFocus Write SetColorFont Default clBlue;
          Property FontColorNoFocus:    TColor Read fFontColorNoFocus Write SetColorFont Default clBlack;

     end;

procedure Register;

implementation

Var  Foco :    Boolean;

Constructor TCoolEdit.Create(AOwner:TComponent);
Begin

     Inherited Create(AOwner);

     Color:=clSilver;
     fColorWithFocus:=clAqua;
     fColorWithOutFocus:=clSilver;
     fFontColorFocus:=clBlue;
     fFontColorNoFocus:=clBlack;


End;

Procedure TCoolEdit.WMSetFocus(var Message:TWMSetFocus);
Begin
     Inherited;

     Foco:=True;

     Repaint;
End;

Procedure TCoolEdit.WMKillFocus(var Message:TWMKillFocus);
Begin
     Inherited;

     Foco:=False;

     Repaint;
End;

Procedure TCoolEdit.Repaint();
Begin
     If Foco Then Begin
          Font.Style:=[fsBold];
          Font.Color:=fFontColorFocus;
          Color:=fColorWithFocus;
     End
     Else begin
          Font.Style:=[];
          Font.Color:=fFontColorNoFocus;
          Color:=fColorWithOutFocus;
     End;
End;

Procedure TCoolEdit.SetColor(Value:TColor);
Begin
     If fColor <>Value Then Begin
          fColor:=Value;
          Repaint;
     End;
End;

Procedure TCoolEdit.SetFont(Value:TFont);
Begin
     If fFont<>Value Then Begin
          fFont:=Value;
          Repaint;
     End;
End;

Procedure TCoolEdit.SetColorFont(Value:TColor);
Begin
     If fColorFont <>Value Then Begin
          fColorFont:=Value;
          Repaint;
     End;
End;

Destructor TCoolEdit.Destroy;
Begin
     Inherited Destroy;
End;

procedure Register;
begin
  RegisterComponents('Cool', [TCoolEdit]);
end;

end.

Última edición por vtdeleon fecha: 05-12-2006 a las 04:05:43.
Responder Con Cita
  #2  
Antiguo 05-12-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pues está muy bien, hombre. Muchas gracias por compartirlo.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 05-12-2006
pascalutn2003 pascalutn2003 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Córdoba
Posts: 36
Poder: 0
pascalutn2003 Va por buen camino
Thumbs up Yo de nuevo...

¿Te anduvo?

Espero que si, pero fijate bien que si pones el efecto del cambio en el paint (donde debe ir) y no en repaint te puede funcionar mejor ...

En cualquier momento paso otro codigo de un editor con un boton adentro que cambia el glyph...

None vemo depue'
Responder Con Cita
  #4  
Antiguo 05-12-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Bueno. En realidad me limité a leer el código fuente. Me parece curioso que quieras compartirlo, porque puede ser de utilidad a alguien.

Supongo que lo que dices del "Paint" tiene que ver conque no es del todo necesario el "Repaint", ¿verdad?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 05-12-2006
pascalutn2003 pascalutn2003 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Córdoba
Posts: 36
Poder: 0
pascalutn2003 Va por buen camino
Exclamation Me olvidaba...

1.-Tambien se puede proceder del igual modo con un TDBEdit, ya lo hice y obviamente se llama TDBCoolEdit

2.- No te va a funcionar el cambio de color de foco porque no lo termine, solo le di un color fijo pero; en cuanto lo tenga lo paso.
Responder Con Cita
  #6  
Antiguo 05-12-2006
pascalutn2003 pascalutn2003 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Córdoba
Posts: 36
Poder: 0
pascalutn2003 Va por buen camino
Smile Sobre RePaint...

¿Curioso?

Para nada; pasa que es una buena forma de retribuir a las ayudas que me dan las personas que andan por el foro.

Y sip; lo del repaint puede no ser necesario, pero pasa que por ahi pequé de necio y en lugar de utilizar el Paint como corresponde quise ver que pasaba de la forma en que lo subi.

De modo alguno vas a encontrar un par de cosas que no tienen sentido; sucede que iba escribiendo y bla bla bla, pero cuando daba marcha atras en algo no borraba todo el codigo basura.

En fin; espero puedan disfrutarlo (y mejorarlo jejejejeje; le falta mucho) yo por mi lado lo voy a seguir desarrlollando...

EDGARDO - Córdoba - Argentina
Responder Con Cita
  #7  
Antiguo 05-12-2006
Avatar de DarKraZY
DarKraZY DarKraZY is offline
Miembro
 
Registrado: ago 2003
Posts: 460
Poder: 21
DarKraZY Va por buen camino
Hola! Muy bueno el componente. Tan sólo una objeción. La propiedad "FontColorFocus" y "FontColorNoFocus" no es necesaria, ya que podrías usar el atributo Color de "FocusFont" y "NoFocusFont".

unsaludo!
Responder Con Cita
Respuesta



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
Ventana MDI, "Siempre visible" y "Pantalla completa" ixMike API de Windows 7 11-04-2007 18:36:55
¿cuál es mejor: "close" o "application.terminate"? unreal4u Varios 5 05-03-2007 11:01:19
"ChequeaEsto" elegido el futuro "Killer CLubDelphi" mamcx Noticias 51 31-10-2006 20:56:32
porque no me reconoce los caracteres "*" ni "%" cuando filtro mrmago Conexión con bases de datos 10 27-01-2006 04:21:16
Múltiples "Deshacer" en un editor de textos soul6301 Varios 1 05-06-2004 21:38:37


La franja horaria es GMT +2. Ahora son las 12:26:36.


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