TabControl + ListView report

Тема в разделе "WASM.WIN32", создана пользователем RDMess, 3 сен 2011.

  1. RDMess

    RDMess Member

    Публикаций:
    0
    Регистрация:
    28 дек 2009
    Сообщения:
    51
    Здравствуйте.

    В общем есть TabControl с 8-ю вкладками, на каждую из вкладок предпологается по одному ListView(report) контролу. При переключении вкладки TabControla, в ListView ассоциированном со вкладкой должна отображаться информация.

    В общем не хотелось бы много ListView контролов создавать, можно как то обойтись 1 ? например как в Edit-е ... EM_SETHANDLE.

    Может быть virtual ListView выход ?

    Спасибо за внимание.
     
  2. Ezrah

    Ezrah Member

    Публикаций:
    0
    Регистрация:
    22 мар 2011
    Сообщения:
    411
    Обычно это как раз таки делается созданием нного количества контролов. Это избавляет от необходимости изменять как данные в таблице, так и заголовки столбцов и их ширину.
     
  3. RDMess

    RDMess Member

    Публикаций:
    0
    Регистрация:
    28 дек 2009
    Сообщения:
    51
    Ну ладно, если даже так то для каждой вкладки нужно создать ещё и диалог, на котором будет распологаться ListView.. и захлебнуться в IsDialogMessage
     
  4. Ezrah

    Ezrah Member

    Публикаций:
    0
    Регистрация:
    22 мар 2011
    Сообщения:
    411
    RDMess
    Если программа будет хорошо структурирована, не захлебнётесь. Диалог создавать вовсе нет необходимости. Он создается только для удобства, когда очень много элементов нужно уместить на одну вкладку, что очень удобно делать в редакторе ресурсов.
     
  5. gazlan

    gazlan Member

    Публикаций:
    0
    Регистрация:
    22 май 2005
    Сообщения:
    414
    RDMess
    Угу. В зависимости от номера вкладки отдаете нужную информацию. И даже если ListView всего один, при сколько-нибудь значительном числе записей, Virtual вариант предпочтительнее. Если же записей несколько десятков тысяч (Ex: тлф.справочник на 100,000 номеров) - то без вариантов :)

    На _единственный_ диалог кидается Tab Control, который отдает номер вкладки. Все остальное в вашей власти. Ненужные элементы могут быть скрыты, нужные - сделаны видимыми.

    Если поможет такая аналогия, рассматривайте ваш "мульти-диалог" как набор из наложенных друг на друга невидимых слоев (layers). В зависимости от выбранной вкладки, один из них визуализируется, контролам устанавливаются (при необходимости) параметры, переключается обработчик сообщений (или секция внутри обработчика - что удобнее).
     
  6. RDMess

    RDMess Member

    Публикаций:
    0
    Регистрация:
    28 дек 2009
    Сообщения:
    51
    Спасибо, будем разбираться!