Q&A

  • 이런게 가능은 합니까? 고수님들..
제가 간단한 컨트롤 하나 만들어 봤어염..



TMyPanel = class(TCustomPanel)

private

FImage : TImage;

.....

protected

.....

public

constructor Create(AOwner: TComponent); override;

destructor Destroy; override;

published

.....

property DragCursor;

property DragKind;

property DragMode;

property OnDragDrop;

property OnDragOver;

property OnEndDock;

property OnEndDrag;

property OnMouseDown;

end;



constructor TMyPanel.Create(AOwner: TComponent);

begin

inherited Create(AOwner);

FAction := False;

Font.Name := '굴림체';

Font.Size := 9;



Fimage := TImage.Create(AOwner);

Fimage.Parent := Self;

Fimage.Align := alClient;

Fimage.OnDragOver := OnDragOver;

Fimage.OnMouseDown := OnMouseDown;

end;



머 이런 식으로염..

보시면 아시겠지만. TCustomPanel을 상속 받아 그안에 FImage : TImage; 을 선언해서

쓰거든여..

판넬위를 TImage가 가로 막아버리니깐 TImage의 이벤트를 공유 해서 쓰려구

Fimage.OnDragOver := OnDragOver;

Fimage.OnMouseDown := OnMouseDown;

으로 써서 공유 할려구 해봤습니다..

물론 오류는 없구여(컴파일시 에러가 안남..)



근데 이벤트가 타질 않아염..

이런거 자체가 불가능 한건지..아님 뭔가 잘못 세팅 한게 있는지 정말 답답 합니다..

고수님들 꼭좀 알려 주세여..



근데 일반 적으로 디자인 하는 모드에서 테스트 해보니깐 정상적으로 되는데..쩝

procedure TForm1.FormCreate(Sender: TObject);

begin

Image1.OnDragOver := Panel1.OnDragOver;

end;

0  COMMENTS