Delphi - Panels

   
Vista:

Panels

Publicado por Babilon (1 intervención) el 28/06/2010 16:56:23
Hola, programadores,

tengo una inquietud, los panel, tienen varias propiedades entre ellas podemos cambiar el borde de los paneles, ahora bien se puede darle un color al borde de los paneles, solo a los bordes, ya que es resivado unas cuantas propiedades del mismo y solo veo donde se puede camabiar el color del panel entero y mi inquietud es solo cambiar el color de los bordes, si hay alguna repuesta a mi inquietud y si no se puede tambien me gustaria saberlo.

un saludo desde Republica Dominicana
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
información
Otras secciones de LWP con contenido de Delphi
- Código fuente de Delphi
- Cursos de Delphi
- Temas de Delphi
- Chat de Delphi
información
Códigos de Delphi
- Manejo de Bits
- Creación de una ventana
- Chat

RE:Panels

Publicado por E.T. (1105 intervenciones) el 28/06/2010 19:45:35
Se puede hacer por codigo, el unico inconveniente que hay es que si pasas algo por encima de él se borra el color, o tambien si mueves el panel fuera del escritorio

Declara este tipo en la seccion Type, al inicio del unit así:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TMyPanel = class(TPanel);///Nuevo tipo declarado<<<<-----------------------------------

TForm1 = class(TForm)
Panel1: TPanel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
º
º
º

Para colorear el borde usa lo siguiente:

procedure TForm1.Button1Click(Sender: TObject);
begin
TMyPanel(Panel1).Canvas.Pen.Color := clRed;//Puedes cambiar el color del borde aqui
TMyPanel(Panel1).Canvas.Pen.Width := 5;//Puedes cambiar el grosor del borde aqui
TMyPanel(Panel1).Canvas.MoveTo(0,0);
TMyPanel(Panel1).Canvas.LineTo(Panel1.Width-1, 0);
TMyPanel(Panel1).Canvas.LineTo(Panel1.Width-1, Panel1.Height-1);
TMyPanel(Panel1).Canvas.LineTo(0, Panel1.Height-1);
TMyPanel(Panel1).Canvas.LineTo(0,0);
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar