Q&A

  • TPanel과 Timage가 같이 있을때 드래그 문제..
판넬이 있구요..판넬이 Timage가 언쳐 있어염..

Timage의 크기는 판넬과 같구요...



근데..거기서 사용자가 마우스 오른쪽 버튼을 클릭 했을때를 알기 위해..

ImgProc를 사용 했는데.. 원인은 거기에 있었던거 같습니다.



FOldWndProc(Msg);=>를 주석 처리 한후 마면 문제는 없는데...그러면 원하는 이미지가 안나오구...참 난감 합니다..

그러니깐 이미지와 판넬이 하나인거처럼 할려구요...

쩝 ..... 한번만 더 도와 주세염..



TMyPanel = class(TCustomPanel)

private

FOldWndProc : TWndMethod;

protected

public

constructor Create(AOwner: TComponent); override;

destructor Destroy; override;

published

property OnDragOver;

end;



constructor TMyPanel.Create(AOwner: TComponent);

begin

inherited Create(AOwner);

FAction := False;

Font.Name := '굴림체';

Font.Size := 9;



Fimage := TImage.Create(AOwner);

Fimage.Parent := Self;

FOldWndProc := Fimage.WindowProc;

Fimage.WindowProc := ImgProc;

end;



procedure TMyPanel.ImgProc(var Msg : TMessage);

var Pnt : TPoint;

begin

FOldWndProc(Msg);

case Msg.Msg of

WM_RBUTTONDOWN : begin

GetCursorPos(Pnt);

FMouseRightChick := True;

if FPopUp <> nil then FPopUp.Popup(Pnt.x, Pnt.y);

end;

CM_MOUSELEAVE : begin

FMouseRightChick := False;

end;

else exit;

end;

end;



0  COMMENTS