Fórum como fazer ?? #158887
09/05/2003
0
eu to comecando a mecher no Delphi e to meio confuso ainda... :D obrigado para quem poder me ajudar !!
Tiozinho
Curtir tópico
+ 0Posts
09/05/2003
Cruz
Gostei + 0
09/05/2003
Tiozinho
Que ela apareçam na tela conforma voce vai clicando nelas...
Gostei + 0
09/05/2003
Crash
Como vc é iniciante o recomendavel é voce criar as tres imagens que deseja que apareça no Paint e salve-as como Bitmap.
Insira 3 componentes TImage no form e coloque suas propriedades visible = false.
No evento onclick voce coloca:
Case RadioGroup1.ItemIndex of
0: begin
Image1.Visible:= True;
Image1.Visible:= False;
Image1.Visible:= False;
end;
1: begin
Image1.Visible:= False;
Image1.Visible:= True;
Image1.Visible:= False;
end;
2: begin
Image1.Visible:= False;
Image1.Visible:= False;
Image1.Visible:= True;
end;
t+
Gostei + 0
10/05/2003
Tiozinho
Se não tiver muito obrigado pela ajuda....
Gostei + 0
10/05/2003
Rebel_inside
Você teria que criar um controle (derivado do TGraphicControl ou TGraphicalControl, não me lembro :shock: ) e sobrescrever o método Paint dele para desenhar a forma que você deseja.
Isso é mais complicado, porém com melhores resultados.
um exemplo muito simples:
unit UDesenho;
interface
uses
Windows, SysUtils, Classes, StdCtrls, ExtCtrls;
type
TTipoDesenho = (tdTriangulo, tdQuadrado, tdLosango);
TDesenho = class(TGraphicControl)
private
FTipoDesenho: TTipoDesenho;
procedure SetTipoDesenho(Value: TTipoDesenho);
public
procedure Paint; override;
property TipoDesenho: TTipoDesenho read FTipoDesenho write SetTipoDesenho;
end;
(...)
implementation
procedure TDesenho.SetTipoDesenho(Value: TTipoDesenho);
begin
if (Value<>FTipoDesenho) then begin
FTipoDesenho:= Value;
Invalidate;
end;
end;
procedure TDesenho.Paint;
begin
with Canvas do begin
// Limpa a imagem
FillRect(BoundsRect);
case FTipoDesenho of
tdTriangulo: begin { Desenha o triangulo }
end;
tdQuadrado: begin { Desenha o quadrado }
end;
tdLosango: begin { Desenha o losango }
end;
end;
end;
end;
(...)
end.
A parte de registrar esse componente eu não irei explicar por ser um pouco mais avançada. Procure no help do Delphi como fazê-lo :)
Em todo caso, você pode proceder da seguinte maneira:
- Criar uma nova unit com esse componente. Por exemplo: UDesenho;
- Adicionar à uses list do Form;
- Criar uma variável para este tipo;
- No evento OnCreate do form, criar e posicionar esse componente.
Exemplo...
unit UTeste; interface uses Windows, SysUtils, Classes, Forms, Dialogs,(...), UDesenho; type TForm1 = class(TForm) (...) end; var Form1: TForm1; // Caso você não tenha registrado o componente e adicionado ao seu form, declare essa variável! // Desenho1: TDesenho; implementation procedure TForm1.FormCreate(Sender: TObject); begin // Caso tenha declarado a variável, coloque o seguinte código: // Desenho1:= TDesenho.Create(Self); // Desenho1.Parent:= Self; // Desenho1.Left:= 10; // Desenho1.Top:= 10; end; procedure TForm1.RadioGroup1Click(Sender: TObject); begin case RadioGroup1.ItemIndex of 0: Desenho1.TipoDesenho:= tdTriangulo; 1: Desenho1.TipoDesenho:= tdQuadrado; 2: Desenho1.TipoDesenho:= tdLosango; end; end; end.
Gostei + 0
10/05/2003
Tiozinho
Gostei + 0
18/05/2003
Tiozinho
ex.
o texto tem que
aparecer assim na label.
Gostei + 0
18/05/2003
Toshio Bruno
Ex: Label1.Caption:=´ Toshio´+#10 ´ Bruno´;
Gostei + 0
18/05/2003
Toshio Bruno
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
RadioGroup1: TRadioGroup;
procedure FormCreate(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
p:TPicture;
S:String;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
p:=Tpicture.Create;
end;
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0:begin
S:=´Imagem1.bmp´;
P.LoadFromFile(´C:\Meus Documentos\´+S);
Image1.Picture:=p;
end;
1:begin
S:=´Imagem2.bmp´;
P.LoadFromFile(´C:\Meus Documentos\´+S);
Image1.Picture:=p;
end;
2:begin
S:=´Imagem3.bmp´;
P.LoadFromFile(´C:\Meus Documentos\´+S);
Image1.Picture:=p;
end;
end;
end;
end.
Gostei + 0
18/05/2003
Tiozinho
no PageControl, colocando 9 novas pagina elas aparecen todas uma do lado da outra. Como eu faço para que q fique 5, e embaixo delas 4?
Gostei + 0
18/05/2003
Robotizar
ë muito facil
primeiro pegue a figura q vc quer desenhar e ponha no c: aqui vou chama-la de Figura
ponha um botão no form e os seguintes comandos
procedure button......
var
img: tbitmap;
begin
img:= tbitmap.create;
img.loadfromfile(´c:\figura´);
form1.draw(0,0,img);
end;
muito simples velhinho
Gostei + 0
18/05/2003
Robotizar
form1.CANVAS.draw(0,0,img);
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)