PDA

Ver la Versión Completa : Seleccionar los bordes


Giasl
12-06-2003, 12:42:00
En una aplicacion que estoy desarollando necesitaria que apeciera un selector de bordes como lo hacen por ejemplo la excel o el FontPage. Es decir que apareciera como una especie de celda en la que puedes seleccionar el borde derecho o el izquierdo el de arriba o el de abajo o todos a la vez, etc...

Gracias 1000

andres1569
13-06-2003, 21:47:25
Aquí va una idea, aunque no la he probado:

Colocas sobre un Panel varios controles TShape y los redimensionas para que tengan, por ejemplo, los bordes de arriba/abajo un Height de 3, y los de izquierda/derecha un Width de 3. Cuando el usuario de tu aplicación pulsa sobre uno de ellos (capturas el evento OnMouseDown de cada uno de ellos), cambias el color del mismo (hay color de relleno, "Brush" y de Borde, "Pen") cambiando por ejemplo entre un color negro y el color del Panel (de esta forma parecerá que ha desaparecido):


procedure TForm1Shape1OnMouseDown (Sender: TObject ...);
begin
with TShape(Sender) do
if Brush.Color = clWhite then
begin
Brush.Color := clBtnFace; // aquí el color del Panel
Pen.Color := clBtnFace; // aquí el color del Panel
end
else begin
Brush.Color := clBlack;
Pen.Color := clBlack;
end;
end;

Giasl
16-06-2003, 16:42:23
Me pillaste la idea.

Si después de enviar la consulta al foro me di cuenta que poniendo 4 controles manuales como bien comentas solcuiono el problema. Como además tengo que utilizar este codigo en varios forms de la aplicación, estoy pensando en crear un componente.
Lo que sucede es que, como los usuarios estan acostumbrados a lo que ya cononcen, y además si ya está hecho por que hacerlo de nuevo. ¿ Me preguntaba si existina un componente silimar a los que trae office 2000 o XP para la selección de bordes ?

De todoas formas gracias por el interés, tu sugerencia es muy buena...


QTH. 73s