자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi stringgrid에 넣은 Image 클릭 이벤트 발생을 어떻게 해야 하나요?
2019.06.11 10:13
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
안녕하세요
간략하게 질문 드리겠습니다.
StringGrid에 이미지를 넣는데 까지는 성공 했습니다..
Image := TImage.Create(PreStrGrid);
Image.Parent := PreStrGrid;
Rect := PreStrGrid.CellRect(0, 2);
PreStrGrid.Objects[0, 2] := Image;
이런식으로 만들고
TImage(PreStrGrid.objects[0,2]).Picture.LoadFromFile('경로');
요렇게 이미지를 넣었는데
그리드에서 이미지를 클릭시 폼을 하나 띄우고 싶은데
StringGrid MouseDown 이벤트에서는 작동이 안되네요...
방법이 있을까요? 힌트 부탁 드립니다.
Delphi stringgrid에 넣은 Image 클릭 이벤트 발생을 어떻게 해야 하나요?
2019.06.11 10:13
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
안녕하세요
간략하게 질문 드리겠습니다.
StringGrid에 이미지를 넣는데 까지는 성공 했습니다..
Image := TImage.Create(PreStrGrid);
Image.Parent := PreStrGrid;
Rect := PreStrGrid.CellRect(0, 2);
PreStrGrid.Objects[0, 2] := Image;
이런식으로 만들고
TImage(PreStrGrid.objects[0,2]).Picture.LoadFromFile('경로');
요렇게 이미지를 넣었는데
그리드에서 이미지를 클릭시 폼을 하나 띄우고 싶은데
StringGrid MouseDown 이벤트에서는 작동이 안되네요...
방법이 있을까요? 힌트 부탁 드립니다.
자문 자답입니다...휴..
TImage로 안하고 TBitmap으로 해서 하니 되네요..ㅎㅎ
MouseDown 이벤트가 발생 하네요...혹시 몰라 대강 소스 올려 봅니다.
Procedure SetBitmap;
var
Bitmap : TBitmap;
begin
Bitmap := TBitmap.Create;
Bitmap.LoadFromfile(' PATH ');
StringGrid.Objects[0,0] := Bitmap;
end;
procedure TfmMain.StringGridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
Bitmap : TBitmap;
begin
Bitmap := TBitmap(StringGrid.Objects[ACol, ARow]);
StringGrid.Canvas.Draw(Rect.Left, Rect.Top, Bitmap);
end;
요기서 궁금한게 SetBitmap 함수와 StringGridDrawCell 함수에서 Bitmap 을 Free 안해줘도 되는지 궁금하네요.....
Free하믄 에러가 나는데....아직 초보라 여기까지도 힘드네용...ㅠㅠ