Ver Mensaje Individual
  #132  
Antiguo 18-10-2007
Avatar de ariefez
ariefez ariefez is offline
Miembro
 
Registrado: sep 2005
Ubicación: Perú - Lima
Posts: 63
Reputación: 19
ariefez Va por buen camino
Me uno a la causa... me parece perfecto tener los componentes del club, aparte de ayudar a otros tambien beneficia a uno en cuanto a la mejora de un componente, adjunto tres lo unico malo es q los hice en Delphi 2007 no se si sera compatible con las anteriores... ¿existe la unidad GraphUtil en dichas versiones? (nunca me habia fijado en eso antes) bueno solo es por el procedimiento GradientFillCanvas.

Los componentes en cuestion son:

TMsBackGround:
da un fondo a un formulario (SDI & MDI) a partir de una bitmap tambien la opcion de una fondo de color solido o con gradiente

TMsGradient:
Nada de otro mundo es solo un gradiente de forma rectangular

TMsInfoView:
Desendiente de TMsGradient permite mostrar conjuntos de texto con una imagen al lado izquierdo

Otra cosa mas, si quiero mejorar alguno de los componentes como haria para notificar el cambio donde lo publico?? no deberia tener un sub-foro los componentes del club delphi, esto xq este hilo se inicio a modo de encuesta.

Por ejemplo para el componente TCCDEditInsideHelp hice unas pequeñas modificaciones:

En el procedimiento WM_Paint modifique unas cuantas lineas

Código Delphi [-]
procedure TCCDEditInsideHelp.WMPaint(var Message: TWMPaint);
var
  MCanvas: TControlCanvas;
  Margin: Byte;
begin
  inherited;
  if ((Text = '') and (Focused)) or (Text <> '') or not FInsideHelpActive then
    Exit;
  { Inicializo el lienzo }
  MCanvas := TControlCanvas.Create;
  try
    { Margen - MEJORAR !!! }
    Margin := 1;
    if BorderStyle = bsNone then
      Margin := 0
    else
      if not Ctl3D then
        Margin := 2;
    { Asignar el canvas }
    MCanvas.Control := Self;
    MCanvas.Brush.Color := Color;
    MCanvas.Font.Assign(Font);
    MCanvas.Font.Color := FInsideHelpColor;
    { Dibujo el texto }
    MCanvas.TextOut(Margin, Margin, FInsideHelpText);
  finally
    FreeAndNil(MCanvas);
  end;
end;

para obtener los margenes hay alguna funcion???

basicamente lo q hice: al entrar en el componente se anula el texto informativo y su fuente es la misma a la del edit, aunque seria mejor crear una propiedad InsideHelpFont y xq no tambien InsideHelpFontAlign

no seria mejor usar Invalidate en vez de RePaint?

todo esto claro con el permiso del autor q despues de esto se convertiria en otra criatura
Archivos Adjuntos
Tipo de Archivo: zip MSSuite.zip (16,6 KB, 10 visitas)
Responder Con Cita