VB6에서 flexgrid 테이블 높이를 계산하여 채워진 행 수만 포함하도록하는 방법은 무엇입니까? 테이블의 높이를 올바르게 계산하는 방법
현재myFlexGrid.Height = (myFlexGrid.CellHeight * myFlexGrid.Rows) ' paraphrased from code
은 한 줄에 짧은 약 3 픽셀로 나온다. 매직 넘버를 추가하는 것은 약간 hackish하고 그것을 이용하지 않고 이것을 달성하고 싶습니다.
업데이트 : 는 또한 여러 세포를 처리해야 문제를 복잡합니다.
실제로 30은 내가 찾을 수있는 것으로부터 올바르지 않습니다. 사용자가 120dpi 모드에서 실행 중이면 12 트윕은 1 픽셀과 같습니다. 그러나 반 임의의 숫자를 추가하는 것은 내가 피하려고하는 것입니다. –
또한 다중 행 셀을 처리해야한다는 사실을 발견했습니다. –
컨트롤이 자동 높이 기능을 명시 적으로 지원하지 않거나 모든 UI 요소의 높이 값을 노출하지 않는 한 마법 번호를 사용하는 것을 피할 수 없습니다. 이것은 컨트롤이 블랙 박스로 설계 되었기 때문입니다. 여기에 논리가 복잡해질 것 같습니다. 저는 컨트롤 클래스 내부에 flexgrid를 래핑하고 거기에 autoheight 함수를 추가하여 기본 루틴의 코드가 깨끗하게 유지되도록하는 것이 좋습니다. –