2011-03-27 2 views
1

DBGrid (실제로 TMS의 DBGrid)에서 col 너비를 저장/다시로드하는 데 어려움을 겪고 있습니다. TMS에는 올바르게 작동하는 col 너비를 저장/다시로드하는 내장 메서드가 포함되어 있습니다 (ini 파일의 값을 읽을 수 있음). 그러나 내 코드의 어딘가에서 저장된 값을 무시합니다. 문제를 디버그 할 수 있도록 열 폭을 결정하는 방법에 대해 충분히 알지 못합니다.DBGrid 구성 요소는 표시 할 초기 열 너비를 어떻게 결정합니까?

그리드는 궁극적으로 ClientDataSet 파일에 연결됩니다.

답변

5

TColumnDefaultWidth이라는 메서드가 있습니다.이 메서드는 특히 너비가 명시 적으로 열에 할당되지 않은 경우에 호출됩니다 (동적으로 만들어진 격자 열에 해당).

기본적으로 열의 관련 필드의 표시 너비 (문자)를 사용하고 해당 글꼴을 사용하여 0 문자의 너비 (픽셀 단위)를 곱합니다.

그런 다음 결과를 제목의 너비 (픽셀 단위)와 비교하여 더 큰 값을 반환합니다.

+0

충분한 정보입니다. 문제 해결 :-) ... 감사합니다! –