리치에디트 두개를 똑같이 스크롤을 해야하는데
예를들어 한쪽을 스크롤하거나 커서로 스크롤했을때
다른 리치에디트 역시 스크롤이 자동으루 똑같이 돼게 하려하는뎅 ㅡㅜ
무자갸 안댑니다 ㅡㅜ
생각해낸 방법은 하나는 커서를 똑같이 다른리치에디트도 해주면 대겠지했는데
커서위치만 바뀔뿐 스크롤은 안대더라구요 ㅡㅜ
그래서 다시 생각해낸 방법이 현제 보이는 라인수를 알아내서
커서위치가 보이는라인보다 커지면~ 다른 리치에디트를 한줄씩 스크롤하는
방법인데 ㅡㅜ 요것이 어뜨캐 댄게 라인수 알아내는 소스를 구했눈뎅
실제로 보이는 라인이 26줄(글자가 써지는 보이는 라인수)이구만
자꾸 31줄이라구 뜨네여 ㅡㅜ 미치겟넹;;
그소스는 어디서 퍼온건지는 잘몰겠궁 메모 컴포넌트용으루
대있는걸 그대루 컴퍼논트명만 바까서 리치용으루 써꺼등여? ㅡㅜ
그래서 그른건징 ㅠ _ㅠ 오류는 업뜬뎅 왜 26줄 보이는 리치에디트를
자꾸 소스는 31줄이라궁 우기는건징 ㅡㅜ 아시는분 제발 답변좀 해쥬세효
밑에는 그 자꾸 우기는 메모용 그소스입니다 퍼온거 ㅡㅜ
------------------------------------------------------
[TMemo Component] Text가 쓰여지는 영역 알아내기
현재 Text가 쓰여지는 영역을 TRect형으로 리턴한다.
즉 글자의 높이가 10이고 메모의 높이가 25라면 2라인만이 그려지게 된다.
따라서 글자가 그려지는 정확한 영역을 알아내기 위해서는 아래 함수를 사용한다.
Rect := GetTextRect(Memo1);
function GetTextRect(Memo : TMemo) : TRect;
var
lParam : TRect;
begin
Memo.Perform(EM_GETRECT, 0, Integer(@lParam));
Result := lParam;
end;
[TMemo Component] 메모에서 현재 보이는 라인수 알아내기
Label1.Caption := IntToStr(GetVisibleLine(Memo1));
function GetVisibleLine(Memo : TMemo) : integer;
var
Metric : TTextMetric;
DC : hDC;
begin
DC := GetWindowDC(Memo.Handle);
GetTextMetrics(DC, Metric);
Result := (GetTextRect(Memo).Bottom div Metric.tmHeight);
end;