자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi 질문 드립니다..TDBGrid 에 이미지 넣을려고 합니다..
2019.11.26 11:09
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
TDBGrid에 이미지를 넣을려고 하는데
DrawColumnCell 이벤트에서 하면 된다는 글들을 많이 봤습니다..
해보니 이미지는 그리는데 까지는 성공 했습니다.
문제가 좀 있는데...
일단 Dataset 에 있는 경로를 읽어 그리고 있고
그리드에 이미지 와 함께 표시가 되는데 일단 Text는 나오게 하고 싶지 않습니다.
그리고 이미지 가 RowHeight 가 너무 작아 너무 작게 그려져서
TStringgrid(DBGrid).defaultRowHeight 로 크게 키운뒤 크게 그리면
이미지가 너무나 깜빡거립니다...
그리고 스크롤을 내리면 화면 아래에서 인디케이터는 없어지는데 화면은 내려가질 않습니다.
계속 내리면 한참있다가 스크롤이 내려 갑니다.
요약하면...
1. Text는 표시를 안하고
2. RowHeight는 좀 크게 되어야 하고
3. 이미지 깜빡임이 없어져야 하고
4. RowHeight를 키웠을 때 스크롤이 화면과 비례하게 내려 가야 하고...
문제가 좀 많이 있는데
Tip이나 관련 자료가 있을까요?
읽어 주셔서 감사합니다.
댓글 3
-
험프리
2019.11.27 14:01
-
초보델팡이
2019.11.27 17:26
꼭 글을 올린다음에야 먼가 해답을 찾는 것 같습니다..ㅎ..
일단 3일 동안 찾다가 먼가 찾긴 찾았습니다..만... 이게 정답 인줄은 모르겠습니다.
일단 TDBGrid를 상속 받아
protected
procedure LayoutChanged; override;
여기 함수에
begin
inherited LayOutChanged;
DefaultRowHeight := 50;
RowHeights [0] := 24;
PostMessage (Handle, WM_SIZE, 0, MakeLong(Width, Height));
end;
해주니 높이도 조절 잘 되고 이미지 깜빡임도 없지는 않지만 보기 싫을 정도까진 안되네용..ㅎ
스크롤도 화면과 같이 잘 내려가고 하네용...
-
험프리
2019.11.28 11:46
조치결과를 남겨주셔서 감사합니다.
——————
제안한 해결책으로 진행하신 결과가 성공이든 실패이든, 그 결과가 적힌 Q&A는 다른 사용자들의 시간을 크게 절약해줄 수 있습니다.
Delphi 질문 드립니다..TDBGrid 에 이미지 넣을려고 합니다..
2019.11.26 11:09
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
TDBGrid에 이미지를 넣을려고 하는데
DrawColumnCell 이벤트에서 하면 된다는 글들을 많이 봤습니다..
해보니 이미지는 그리는데 까지는 성공 했습니다.
문제가 좀 있는데...
일단 Dataset 에 있는 경로를 읽어 그리고 있고
그리드에 이미지 와 함께 표시가 되는데 일단 Text는 나오게 하고 싶지 않습니다.
그리고 이미지 가 RowHeight 가 너무 작아 너무 작게 그려져서
TStringgrid(DBGrid).defaultRowHeight 로 크게 키운뒤 크게 그리면
이미지가 너무나 깜빡거립니다...
그리고 스크롤을 내리면 화면 아래에서 인디케이터는 없어지는데 화면은 내려가질 않습니다.
계속 내리면 한참있다가 스크롤이 내려 갑니다.
요약하면...
1. Text는 표시를 안하고
2. RowHeight는 좀 크게 되어야 하고
3. 이미지 깜빡임이 없어져야 하고
4. RowHeight를 키웠을 때 스크롤이 화면과 비례하게 내려 가야 하고...
문제가 좀 많이 있는데
Tip이나 관련 자료가 있을까요?
읽어 주셔서 감사합니다.
댓글 3
-
험프리
2019.11.27 14:01
-
초보델팡이
2019.11.27 17:26
꼭 글을 올린다음에야 먼가 해답을 찾는 것 같습니다..ㅎ..
일단 3일 동안 찾다가 먼가 찾긴 찾았습니다..만... 이게 정답 인줄은 모르겠습니다.
일단 TDBGrid를 상속 받아
protected
procedure LayoutChanged; override;
여기 함수에
begin
inherited LayOutChanged;
DefaultRowHeight := 50;
RowHeights [0] := 24;
PostMessage (Handle, WM_SIZE, 0, MakeLong(Width, Height));
end;
해주니 높이도 조절 잘 되고 이미지 깜빡임도 없지는 않지만 보기 싫을 정도까진 안되네용..ㅎ
스크롤도 화면과 같이 잘 내려가고 하네용...
-
험프리
2019.11.28 11:46
조치결과를 남겨주셔서 감사합니다.
——————
제안한 해결책으로 진행하신 결과가 성공이든 실패이든, 그 결과가 적힌 Q&A는 다른 사용자들의 시간을 크게 절약해줄 수 있습니다.
우선, 굳이 DBGrid에 이미지를 출력하는 이유를 알고 싶습니다.
DBGrid는 데이터셋(쿼리 등)의 내용을 빠르고 편하게 출력하기 위한 용도입니다.
DBGrid에서 이미지 출력은 상당히 번거롭고 어려운 작업입니다.
만약 그리드내에 이미지를 출력해야 하는 타당한 이유가 있다면 써드파티 컴포넌트를 이용하는 것도 방법입니다.
컴포넌트 자체적으로 이미지 출력을 지원하는 TMS Grid 또는 cxGrid 등을 이용해 보시기 바랍니다.(다른 써드파티 컴포넌트도 검토해보시기 바랍니다.)
만약, 목록별로 이미지를 출려하고자 한다면 TListView 또는 TDBCtrlGrid 등을 참고해 보시기 바랍니다.
이미지 목록을 출력하는 방법은 상당히 많습니다.
참고로, 문제를 기술적으로 접근하기전 "왜?"를 먼저 생각하면 더 쉽게 해결되는 경우가 많습니다.
——————
답글이 도움이 되셨는지 다른 분들도 참고할 수 있도록 결과 댓글 부탁드립니다.
(결과 댓글이 없는 경우 다른 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)