Ir al contenido


Foto

Focos Resaltantes


  • Por favor identifícate para responder
9 respuestas en este tema

#1 lKinGl

lKinGl

    Advanced Member

  • Moderador
  • PipPipPip
  • 118 mensajes
  • LocationVenezuela

Escrito 21 noviembre 2008 - 09:13

He Aqui un Truco bastante sencillo pero muy util :p

1) Agregamos 2 Edits a Nuetro Formulario.
2) Seleccionamos El Edit1
3) En El Evento OnEnter Ponemos Este Código.



delphi
  1. Edit1.Color := clGradientInactiveCaption;



4) En el Evento OnExit este código



delphi
  1. Edit2.Color := clWindow;



y Repetimos los mismos 4 pasos para el Edit2 Salu2 Espero que les guste :D
  • 0

#2 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 21 noviembre 2008 - 10:45

Bueno si la idea es resaltar el foco, comparto este componente con ustedes, solo tienen que instalarlo y listo para funcionar:



delphi
  1. unit EditResalte;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, Classes, Controls, StdCtrls, graphics, types;
  7.  
  8. type         
  9.   //Edit
  10.   TEditResalte = class(TEdit)
  11.   private
  12.     { Private declarations }
  13.     cOldColor: TColor;
  14.     FAlignment: TAlignment;
  15.     procedure SetAlignment(const Value: TAlignment);
  16.   protected
  17.     { Protected declarations }
  18.     procedure DoEnter; override;
  19.     procedure DoExit; override;
  20.   public
  21.     { Public declarations }
  22.   published
  23.     { Published declarations }
  24.     procedure CreateParams(var Params: TCreateParams); override;
  25.     property Alignment: TAlignment read FAlignment write SetAlignment default taLeftJustify;
  26.   end;
  27.  
  28.   //Memo
  29.   TMemoResalte = class(TMemo)
  30.   private
  31.     { Private declarations }
  32.     cOldColor: TColor;
  33.   protected
  34.     { Protected declarations }
  35.     procedure DoEnter; override;
  36.     procedure DoExit; override;
  37.   public
  38.     { Public declarations }
  39.   published
  40.     { Published declarations }
  41.   end;
  42.  
  43. const
  44.   cColorResalte = $00B1F2FE;
  45.  
  46. procedure Register;
  47.  
  48. implementation
  49.  
  50. procedure Register;
  51. begin
  52.   RegisterComponents('Standard', [TEditResalte, TMemoResalte]);
  53. end;
  54.  
  55.  
  56. procedure TEditResalte.DoEnter;
  57. begin
  58.   //Resalta el cuadro de texto
  59.   inherited;
  60.   cOldColor := Color;
  61.   Color := cColorResalte; 
  62.   SelectAll;
  63. end;
  64.  
  65. procedure TEditResalte.DoExit;
  66. begin
  67.   //Quita el Resalte del cuadro de texto
  68.   Color := cOldColor;
  69.   inherited;
  70. end;
  71.  
  72. procedure tEditResalte.CreateParams(var Params: TCreateParams);
  73. const
  74.   Alignments: array[TAlignment] of DWord = (0, 2, 1);
  75. begin
  76.   inherited CreateParams(Params);
  77.   Params.Style := Params.Style or Alignments[FAlignment];
  78. end;
  79.  
  80. procedure tEditResalte.SetAlignment(const Value: TAlignment);
  81. begin
  82.   if FAlignment <> Value then
  83.   begin
  84.     FAlignment := Value;
  85.     RecreateWnd ;
  86.   end;
  87. end;
  88.  
  89.  
  90. //Valores del MEMo
  91. procedure TMemoResalte.DoEnter;
  92. begin
  93.   //Resalta el cuadro de texto
  94.   inherited;
  95.   cOldColor := Color;
  96.   Color := cColorResalte;
  97.   SelectAll;
  98. end;
  99.  
  100. procedure TMemoResalte.DoExit;
  101. begin
  102.   //Quita el Resalte del cuadro de texto
  103.   Color := cOldColor;
  104.   inherited;
  105. end;
  106.  
  107. end.



Anexo el .Pas y el .Dpk

Archivos adjuntos

  • Archivo adjunto  26_.zip   1,14KB   12 descargas

  • 0

#3 lKinGl

lKinGl

    Advanced Member

  • Moderador
  • PipPipPip
  • 118 mensajes
  • LocationVenezuela

Escrito 21 noviembre 2008 - 11:02

eduarcol falta esto para instalarlo

  rtl,
  vcl,
  pkTexto;
  • 0

#4 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 21 noviembre 2008 - 11:05

crea un dpk nuevo y añades el .pas, no deberia pedirte mas nada
  • 0

#5 lKinGl

lKinGl

    Advanced Member

  • Moderador
  • PipPipPip
  • 118 mensajes
  • LocationVenezuela

Escrito 21 noviembre 2008 - 11:09

bueno ahora me da error en zCore70
  • 0

#6 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 21 noviembre 2008 - 11:14

algun problemilla de configuración debes tener por ahi, si quieres al que tengo en el adjunto quitale el pktexto del uses (que lo deje por error).  y compilas, lo otro lo agrega cualquier DPK por defecto.

Si eso no funciona, entra en File --> New --> Other y eliges Package, alli le das al boton Add y le agregas el .pas que te envio.
  • 0

#7 lKinGl

lKinGl

    Advanced Member

  • Moderador
  • PipPipPip
  • 118 mensajes
  • LocationVenezuela

Escrito 21 noviembre 2008 - 11:21

algun problemilla de configuración debes tener por ahi, si quieres al que tengo en el adjunto quitale el pktexto del uses (que lo deje por error).  y compilas, lo otro lo agrega cualquier DPK por defecto.

Si eso no funciona, entra en File --> New --> Other y eliges Package, alli le das al boton Add y le agregas el .pas que te envio.


Thank you, esa era la solucion :p
  • 0

#8 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 21 noviembre 2008 - 12:06

y cual de las dos opciones soluciono el problema?
  • 0

#9 lKinGl

lKinGl

    Advanced Member

  • Moderador
  • PipPipPip
  • 118 mensajes
  • LocationVenezuela

Escrito 21 noviembre 2008 - 12:08

File --> New --> Other y eliges Package, alli le das al boton Add y le agregas el .pas
  • 0

#10 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 13 mayo 2009 - 08:39

bueno a mi me gusto el 1er truquito y me sirvio de mucho
es simple pero muy util
gracias
  • 0




IP.Board spam blocked by CleanTalk.