como fazer ??
Como eu faco, qdo eu clicar em algum item do radio group (Triangulo, Retangulo, Losango), eles aparecam com suas respectivas forma?
eu to comecando a mecher no Delphi e to meio confuso ainda... :D obrigado para quem poder me ajudar !!
eu to comecando a mecher no Delphi e to meio confuso ainda... :D obrigado para quem poder me ajudar !!
Tiozinho
Curtidas 0
Respostas
Cruz
09/05/2003
Você quer que o radiobutton se transforme em um retangulo,losango,triangulo ou quer que as formas sejam desenhadas na tela...
GOSTEI 0
Tiozinho
09/05/2003
Isso...
Que ela apareçam na tela conforma voce vai clicando nelas...
Que ela apareçam na tela conforma voce vai clicando nelas...
GOSTEI 0
Crash
09/05/2003
Como eu faco, qdo eu clicar em algum item do radio group (Triangulo, Retangulo, Losango), eles aparecam com suas respectivas forma?
eu to comecando a mecher no Delphi e to meio confuso ainda... :D obrigado para quem poder me ajudar !!
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
Tiozinho
09/05/2003
Não tem algum comando do delphi que desenhe a imagem ??
Se não tiver muito obrigado pela ajuda....
Se não tiver muito obrigado pela ajuda....
GOSTEI 0
Rebel_inside
09/05/2003
Ter até tem, porém é um pouco mais complicado de ser feito.
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:
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...
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
Tiozinho
09/05/2003
Brigadão a todos q ajudaram...
GOSTEI 0
Tiozinho
09/05/2003
Como eu faço para que o texto q aparece na label fique em outra linha?
ex.
o texto tem que
aparecer assim na label.
ex.
o texto tem que
aparecer assim na label.
GOSTEI 0
Toshio Bruno
09/05/2003
Como eu faço para que o texto q aparece na label fique em outra linha?
ex.
o texto tem que
aparecer assim na label.
Ex: Label1.Caption:=´ Toshio´+#10 ´ Bruno´;
GOSTEI 0
Toshio Bruno
09/05/2003
unit Unit1;
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.
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
Tiozinho
09/05/2003
Outra pergunta.... :D
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?
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
Robotizar
09/05/2003
Não tem algum comando do delphi que desenhe a imagem ??
Se não tiver muito obrigado pela ajuda....
ë 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
Robotizar
09/05/2003
ops corrige ai
form1.CANVAS.draw(0,0,img);
form1.CANVAS.draw(0,0,img);
GOSTEI 0