2012-10-02 3 views
1

표준 Win32 트리보기 컨트롤이 있습니다. 루트 노드에 파일 이름을 넣고 있습니다. 사용자가 가로 스크롤 막대를 사용하는 것을 피하기 위해 PathCompactPath을 사용하여 텍스트를 줄이면 컨트롤에서 사용할 수있는 공간에 맞출 수 있습니다.트리보기 항목에서 텍스트의 너비를 측정하려면 어떻게합니까?

enter image description here

그래서,이 작업을 수행하기 위해 나는 위의 스크린 샷에 표시된 거리를 측정 할 필요가있다. 나는 TVM_GETITEMRECT에 대해 알고 있지만 아이콘으로 찍은 공간을 포함하는 rect를 반환합니다.

그렇다면 필요한 측정 항목을 얻으려면 어떻게해야합니까? 그렇게 할 수 있습니까?

답변

4

매개 변수가 TVM_GETITEMRECT 인 경우 TRUE 또는 FALSE을 지정 하시겠습니까? 노드의 텍스트 사각형을 가져 오는 데는 TRUE이어야합니다. 일단 그렇게하면 TreeView의 클라이언트 너비에서 사각형의 왼쪽 픽셀 값을 빼서 원하는 너비를 얻을 수 있습니다.

+0

감사합니다. 그렇게 할 것입니다. 나는 TRUE를 통과하고 있었지만 Right-Left를 사용했다. 물론 항목의 내용에 따라 다릅니다. 리턴 된 rect가 나뿐만 아니라 크기를주는 사실에 대해서는 간단히 생각하지 않았습니다. –

관련 문제