GARANTIR DESCONTO

Fórum Shape #194290

11/11/2003

0

Olá...
Criei um programa e ele está quase pronto, só faltam duas coisas que eu não estou conseguindo achar solução. São elas:

1)Coloquei um Shape no Form e gostaria de criar um evento caso o usuário clique nele. Como faço?

2)Coloquei um Edit em que o usuário, ao clicar em um pincél, aparece uma cor, escolhida por ele num ColorDialog, transforma em HexaColor. Coloquei um botão para o usuário salvar a string desse edit(Utilizei arquivos INI). Coloquei um botão para abrir esse arquivo. Beleza, consegui fazer isso tudo, salvar e abrir, o problema é que gostaria que ao abrir a string o Shape ficasse da cor que foi aberta (o Edit abrirá uma cor no formato Hexa).


Celo-faveri

Celo-faveri

Responder

Posts

11/11/2003

Beppe

1) O TShape não publica alguns eventos, embora os tenha. Vamos usar algo chamado de [i:7f5dcf0dc7]class hacking[/i:7f5dcf0dc7].
Coloque no OnCreate do form e crie um evento OnClick manualmente:
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    procedure ShapeClick(Sender: TObject);
  end;

procedure TForm1.FormCreate(Sender: TObject);
type
  TControlHack = class(TControl);
begin
  TControlHack(Shape1).OnClick := ShapeClick;
end;
  
procedure TForm1.ShapeClick(Sender: TObject);
begin
...
end;


2) Shape1.Brush.Color := StringToColor(Edit1.Text);

Ataliba


Responder

Gostei + 0

12/11/2003

Celo-faveri

1) O TShape não publica alguns eventos, embora os tenha. Vamos usar algo chamado de [i:074c50d776]class hacking[/i:074c50d776]. Coloque no OnCreate do form e crie um evento OnClick manualmente:
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    procedure ShapeClick(Sender: TObject);
  end;

procedure TForm1.FormCreate(Sender: TObject);
type
  TControlHack = class(TControl);
begin
  TControlHack(Shape1).OnClick := ShapeClick;
end;
  
procedure TForm1.ShapeClick(Sender: TObject);
begin
...
end;
2) Shape1.Brush.Color := StringToColor(Edit1.Text); Ataliba


Ataliba...valew pela ajuda, mas não deu certo o negócio do ShapeClick...
aparece o seguinte erro:
´[Error] Unit1.pas(29): Local class, interface or object types not allowed´.

achei isto no Help do Delphi5:
´Declaration

TSeriesClick = procedure(Sender:TChartSeries; ValueIndex: LongInt; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

Description

The TSeriesClick type points to a method that notifies a TChartSeries component that an event has occurred. It is used by the OnClick Event.´

Mas não consegui usá-lo.

Se puder me ajudar ficaria muito grato!!!
Ficaria mais grato ainda se pudesse me madar um exemplo (celo_faveri@hotmail.com);

Valew mesmo!
T+ :wink:


Responder

Gostei + 0

31/05/2021

Wanderson Cardoso

Olá...
Criei um programa e ele está quase pronto, só faltam duas coisas que eu não estou conseguindo achar solução. São elas:

1)Coloquei um Shape no Form e gostaria de criar um evento caso o usuário clique nele. Como faço?

2)Coloquei um Edit em que o usuário, ao clicar em um pincél, aparece uma cor, escolhida por ele num ColorDialog, transforma em HexaColor. Coloquei um botão para o usuário salvar a string desse edit(Utilizei arquivos INI). Coloquei um botão para abrir esse arquivo. Beleza, consegui fazer isso tudo, salvar e abrir, o problema é que gostaria que ao abrir a string o Shape ficasse da cor que foi aberta (o Edit abrirá uma cor no formato Hexa).





Use um button e use esse método
https://drgarcia1986.wordpress.com/2011/08/24/arredondando-a-borda-de-componentes-no-delphi/
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar