Как вы вычисляете высоту таблицы flexgrid в VB6 так, чтобы она содержала только количество заполненных строк.Как правильно рассчитать высоту таблицы
В настоящее время
myFlexGrid.Height = (myFlexGrid.CellHeight * myFlexGrid.Rows) ' paraphrased from code
выходит около 3 пикселей коротких в каждой строке. Добавление в магическое число немного хакерское и хотелось бы сделать это, не прибегая к этому.
Обновление: Чтобы усложнить дело, ему также необходимо обрабатывать многострочные ячейки.
На самом деле 30 неверно из того, что я могу найти: если пользователь работает в режиме 120dpi, то 12 твипов равны 1 пикселю. Но это добавление полуорбитального числа - это то, чего я пытаюсь избежать. –
Я также нашел, что ему нужно обрабатывать многострочные ячейки. –
Если элемент управления явно не поддерживает функцию автоматического сохранения или не отображает значения высоты каждого элемента пользовательского интерфейса, вы не сможете избежать использования магических чисел. Это потому, что элементы управления разработаны как черные ящики. Похоже, ваша логика будет сложной здесь. Я предлагаю обернуть flexgrid внутри класса управления и добавить функцию автоматического управления там, чтобы код в ваших основных процедурах оставался чистым. –