|
현재 TEdit이 포함된 폼을 parent form에서 New로 동적 생성하여 사용하고 있는데
이럴 경우 동적 생성한 폼에 있는 TEdit에서 글자를 마우스로 drag해서 선택할수가 없더군요.
물론 Text입력 커서 위치를 마우스 클릭으로 위치 변경을 할 수도 없습니다.
테스트 한 결과 아래와 같이 하면 될 듯한데 글자 크기를 알수 없어 정확한 위치를 확인하지 못하고 있습니다.
Modal로 띄울 경우 정삭으로 Text select가 되지만 동적으로 만들면 선택되지가 않아
직접 Edit->SelStart = SelectStX;
Edit->SelLength = Length
이런 식으로 선택하려고 합니다. 그런데 EditMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) 에서 X값은 글자 개수에 해당하는 것이 아니기 때문에 글자의 크기로 나눈다면 정확한 글자의 시작과 길이를 알수가 있습니다.
TEdit은 Property로 Canvas를 가지고 있지 않아 GetTextExtentPoint32(hdc, tString, 2, &size); 이런 형식의 함수도
사용할수가 없네요.
혹시 비슷한 경험이 있으신 분은 답변 부탁드립니다.
|