판넬이 있구요..판넬이 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;