Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-04-2008
Avatar de thelibmx
thelibmx thelibmx is offline
Miembro
 
Registrado: mar 2007
Posts: 515
Poder: 18
thelibmx Va por buen camino
Question diversas Lineas y figuras dentro de formulario en delphi en modo diseño

Hola amigos reciban un saludo, no se que tan buena o mala sea esta idea y que tan posible es, la verdad que son pocos los casos que he querido hacerlo y desconozco la manera de como hacerlo o si es posible.

¿Hay alguna manera de poder dibujar lineas y diversas figuras dentro de un formulario en delphi en modo diseño, por ejemplo,algunas lineas para separar algunos campos, algunos cuadrados, rectangulos, incluso circulos, o lineas diagonales, no necesariamente en un form, tal ves dentro de un panel? algo que fuera como el paint, que hubiera algun componente dentro de delphi que le des click al lapiz y puedas trazar las lineas dentro del formulario o un panel?

se que esta medio loca la idea, pero tengo curiosidad por ver si hay algo similar dentro de delphi.

por su atencion gracias
__________________
En movimiento...
Responder Con Cita
  #2  
Antiguo 03-04-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Puedes utilizar un objeto TShape, TBevel o hasta puedes crear un nuevo componente que se ajuste a tus necesidades el cual te sera de utilidad tanto en tiempo de diseño como de ejecución. Tambien es posible que encuentres un componente en la telaraña.

PD; lo que yo haría es crear una imagen y ponerla de fondo; con ello crearía el efecto que yo quisiera (claro esta; sería estático)

Saludos
Responder Con Cita
  #3  
Antiguo 03-04-2008
Avatar de thelibmx
thelibmx thelibmx is offline
Miembro
 
Registrado: mar 2007
Posts: 515
Poder: 18
thelibmx Va por buen camino
tshape esta perfecto !!

habra algun componente similar en el cual puedas trazar lineas en foma diagonal?

Gracias cHackAll
__________________
En movimiento...
Responder Con Cita
  #4  
Antiguo 03-04-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Código:
 TShape.Brush.Color = clBlack
 TShape.Brush.Style = bsBDiagonal
Responder Con Cita
  #5  
Antiguo 03-04-2008
Avatar de thelibmx
thelibmx thelibmx is offline
Miembro
 
Registrado: mar 2007
Posts: 515
Poder: 18
thelibmx Va por buen camino
Question

Gracias amigo cHackAll, he aprendido algo mas, pero me referia a si existia algun componente que hiciera lo que hace el lapiz del paint, cres que exista como tal? o tendre q improvisar y simular la linea diagonal
__________________
En movimiento...
Responder Con Cita
  #6  
Antiguo 04-04-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Dibujando encima de un TImage lineas rectas, tambien se pueden hacer otras figuras.
Código Delphi [-]
unit Unit1;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls, Forms, Dialogs,
  Buttons, ExtCtrls, StdCtrls, ComCtrls, Menus;

type
  TDrawingTool = (dtLine, dtRectangle, dtEllipse, dtRoundRect);
  TForm1 = class(TForm)
    Image1: TImage;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
    BrushStyle: TBrushStyle;
    PenStyle: TPenStyle;
    PenWide: Integer;
    Drawing: Boolean;
    Origin, MovePt: TPoint;
    DrawingTool: TDrawingTool;
    CurrentFile: string;
    procedure DrawShape(TopLeft, BottomRight: TPoint; AMode: TPenMode);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  AnteriorBkMode: integer;
begin
  Drawing := True;
  Image1.Canvas.MoveTo(X, Y);
  Origin := Point(X, Y);
  MovePt := Origin;
 with Image1.Canvas do begin
  Brush.Color := clBlack;
  AnteriorBkMode := SetBkMode(Handle, TRANSPARENT);
  SetBkMode(Handle, AnteriorBkMode);
end;

end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
   if Drawing then
  begin
    DrawShape(Origin, MovePt, pmNotXor);
    MovePt := Point(X, Y);
    DrawShape(Origin, MovePt, pmNotXor);
  end;
end;


procedure TForm1.DrawShape(TopLeft, BottomRight: TPoint; AMode: TPenMode);
begin
  with Image1.Canvas do
  begin
    Pen.Mode := AMode;
    case DrawingTool of
      dtLine:
        begin
          Image1.Canvas.MoveTo(TopLeft.X, TopLeft.Y);
          Image1.Canvas.LineTo(BottomRight.X, BottomRight.Y);
        end;
      dtRectangle: Image1.Canvas.Rectangle(TopLeft.X, TopLeft.Y, BottomRight.X,
        BottomRight.Y);
      dtEllipse: Image1.Canvas.Ellipse(Topleft.X, TopLeft.Y, BottomRight.X,
        BottomRight.Y);
      dtRoundRect: Image1.Canvas.RoundRect(TopLeft.X, TopLeft.Y, BottomRight.X,
        BottomRight.Y, (TopLeft.X - BottomRight.X) div 2,
        (TopLeft.Y - BottomRight.Y) div 2);
    end;
  end;
end;


procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
    if Drawing then
  begin
    DrawShape(Origin, Point(X, Y), pmCopy);
    Drawing := False;
  end;
end;

end.
Saludos
Responder Con Cita
  #7  
Antiguo 04-04-2008
Avatar de thelibmx
thelibmx thelibmx is offline
Miembro
 
Registrado: mar 2007
Posts: 515
Poder: 18
thelibmx Va por buen camino
Thumbs up

Gracias amigo Caral, si mas o menos eso buscaba, solo me preguntaba si habia un componente que lo hiciera en modo diseño, (segun yo entiendo q en modo diseño es cuando puedes ver los formularios y los puedes manipular, y modo ejecucion es cuando corres tu programa), aun asi me sirve de mucho Gracias amigos
__________________
En movimiento...
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Ver un html dentro de un formulario c++. LordSarevok C++ Builder 4 23-04-2007 17:59:47
Tomar lineas dentro de un Memo ?? Coco_jac Varios 9 09-02-2006 08:14:24
Modo diseño y modo ejecución buildero_d OOP 3 11-09-2005 07:45:00
Asignar en tiempo de diseño un datafield dentro de un informe melanthea C++ Builder 7 25-06-2004 19:35:35


La franja horaria es GMT +2. Ahora son las 15:35:42.


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