임프님은 아니지만..
좀 응용이 필요하실 것 같습니다. 운영체제에 따라서 caret 이 틀린 문제는, 프로그래머가 해결해야하는 과제일껍니다.
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=18507
을 참고하시면, Richedit에서 해당 폰트의 Height를 구하는 루틴이 있습니다.
김갑철 님이 쓰신 글 :
: 한번 질문 드렸으나, 좀 상관이 없는 답변이었습니다.
:
: 다시 구체적으로 설명을 하겠습니다.
: win98 에서는 abs(Font->Height) 가 곧 행의 높이가 됩니다.
: 즉,GetCaretPos함수를 사용하여, 캐럿의 좌표를 보면, Y 값이 abs(Font->Height)의 정수배로
: 변함을 알수 있습니다.
:
: 그러나, win2000 에서는 abs(Font->Height)+4pixel 의 배수로 변합니다.
: 즉, 실제 행의 높이가 abs(Font->Height) 가 아닌 것이 됩니다.
:
: 캐럿의 시작 위치 X 도, win98 에서는 0 부터 시작되지만,
: win2000 에서는 1부터 시작이 됩니다.
:
: 이런 차이를 없앨수 있는 방법이 없는지요?
: 단순히 언어 선택의 문제는 아닙니다.
: Charset 의 문제도 아닙니다.
: 전부 속성을 적용해 보았는데, 실제와 다릅니다.
:
: 이 문제의 답변을 주실수 있는 분은 답변 부탁 드리겠습니다.
|