Друзья! Подскажите в чём глюк!
При помощи CListCtrl пытаюсь отобразить файл DBF, где в хедере — имена полей DBF. При открытии файлов с небольшим кол-вом полей, всё нормально, но у меня файлы, в которых кол-во полей 361 и более. При формировании CListCtrl задаю каждой колонке ширину 100 пик. При скроллинге до 327 поля показывается всё нормально, а после 327 — начинается глюк — пропадают все видимые заголовки столбцов. После скроллинга назад — снова появляются. Но заголовки начиная с 328 так и не видно.
Здравствуйте, sergeilSL, Вы писали:
SL>Друзья! Подскажите в чём глюк! SL>При помощи CListCtrl пытаюсь отобразить файл DBF, где в хедере — имена полей DBF. При открытии файлов с небольшим кол-вом полей, всё нормально, но у меня файлы, в которых кол-во полей 361 и более. При формировании CListCtrl задаю каждой колонке ширину 100 пик. При скроллинге до 327 поля показывается всё нормально, а после 327 — начинается глюк — пропадают все видимые заголовки столбцов. После скроллинга назад — снова появляются. Но заголовки начиная с 328 так и не видно.
Здравствуйте, Willi, Вы писали:
W>Здравствуйте, sergeilSL, Вы писали:
SL>>Друзья! Подскажите в чём глюк! SL>>При помощи CListCtrl пытаюсь отобразить файл DBF, где в хедере — имена полей DBF. При открытии файлов с небольшим кол-вом полей, всё нормально, но у меня файлы, в которых кол-во полей 361 и более. При формировании CListCtrl задаю каждой колонке ширину 100 пик. При скроллинге до 327 поля показывается всё нормально, а после 327 — начинается глюк — пропадают все видимые заголовки столбцов. После скроллинга назад — снова появляются. Но заголовки начиная с 328 так и не видно.
W>Код в студию!
Спасибо тебе за такой быстрый отклик.
Старый код к сожалению не сохранился, т.к. я его немного исправил — вначале 32768 делю на количество полей — это и получается ширина колонки. И так оно заработало, но всё таки интересно было бы узнать в чём причина, т.к. некоторые поля содержат Фамилия Имя Отчество, а для этого 100 пиков недостаточно.
Re: Проблема с CListCtrl
От:
Аноним
Дата:
20.05.04 08:58
Оценка:
Здравствуйте, sergeilSL, Вы писали:
SL>Друзья! Подскажите в чём глюк! SL>При помощи CListCtrl пытаюсь отобразить файл DBF, где в хедере — имена полей DBF. При открытии файлов с небольшим кол-вом полей, всё нормально, но у меня файлы, в которых кол-во полей 361 и более. При формировании CListCtrl задаю каждой колонке ширину 100 пик. При скроллинге до 327 поля показывается всё нормально, а после 327 — начинается глюк — пропадают все видимые заголовки столбцов. После скроллинга назад — снова появляются. Но заголовки начиная с 328 так и не видно.
327 * 100 > 0x7fff. возможно, что это создает проблему для ListCtrl (если для ширины используется short)
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, sergeilSL, Вы писали:
SL>>Друзья! Подскажите в чём глюк! SL>>При помощи CListCtrl пытаюсь отобразить файл DBF, где в хедере — имена полей DBF. При открытии файлов с небольшим кол-вом полей, всё нормально, но у меня файлы, в которых кол-во полей 361 и более. При формировании CListCtrl задаю каждой колонке ширину 100 пик. При скроллинге до 327 поля показывается всё нормально, а после 327 — начинается глюк — пропадают все видимые заголовки столбцов. После скроллинга назад — снова появляются. Но заголовки начиная с 328 так и не видно.
А>327 * 100 > 0x7fff. возможно, что это создает проблему для ListCtrl (если для ширины используется short)
Спасибо, это я уже понял, но весь фокус в том, что я ничего стандартного т.е. MFC-шного не меняю, использую CListCtrl как есть и как рекомендовано в MSDN. Может это какой-то M$-ный глюк? Но об этом я нигде и ничего не видел.
Здравствуйте, sergeilSL, Вы писали:
SL>Спасибо тебе за такой быстрый отклик. SL>Старый код к сожалению не сохранился, т.к. я его немного исправил — вначале 32768 делю на количество полей — это и получается ширина колонки. И так оно заработало, но всё таки интересно было бы узнать в чём причина, т.к. некоторые поля содержат Фамилия Имя Отчество, а для этого 100 пиков недостаточно.
Скорее всего это действительно глюк самого контрола.
А можно спросить, что это за таблицы у которых столько полей?
Ты думаешь нормальный человек спосбен перварить такое количество информации?
Здравствуйте, Willi, Вы писали:
W>Скорее всего это действительно глюк самого контрола. W>А можно спросить, что это за таблицы у которых столько полей? W>Ты думаешь нормальный человек спосбен перварить такое количество информации?
С удовольствием отвечу.
Дело в том, что есть в зарплате такой налог — ЕСН называется. И есть такая прога по учету зарплаты — "АМБа" называется (производства СКБ Контур в Екатеринбурге). Для формирования отчета в налоговую инспекцию, прога сначала формирует табличку с 361 полем (кстати месяц назад было 345, а ещё месяц назад — 341). А поскольку организация многофилиальная — приходится эти таблички со всех филиалов сливать в одну, а уж потом получать печатную форму. Формат табличек в этой проге закрытый, но есть возможность сохранять в DBF, а поскольку есть несколько полей, названия которых начинаются с цифры, FOX или CLIPPER такие файлы игнорирует. Вот и приходится косячить всякий бред.
Здравствуйте, sergeilSL, Вы писали:
SL>С удовольствием отвечу. SL>Дело в том, что есть в зарплате такой налог — ЕСН называется. И есть такая прога по учету зарплаты — "АМБа" называется (производства СКБ Контур в Екатеринбурге). Для формирования отчета в налоговую инспекцию, прога сначала формирует табличку с 361 полем (кстати месяц назад было 345, а ещё месяц назад — 341). А поскольку организация многофилиальная — приходится эти таблички со всех филиалов сливать в одну, а уж потом получать печатную форму. Формат табличек в этой проге закрытый, но есть возможность сохранять в DBF, а поскольку есть несколько полей, названия которых начинаются с цифры, FOX или CLIPPER такие файлы игнорирует. Вот и приходится косячить всякий бред.