Прошу совета к проектировке программы.

Тема в разделе "WASM.BEGINNERS", создана пользователем DarkWanderer, 11 ноя 2006.

  1. DarkWanderer

    DarkWanderer New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2006
    Сообщения:
    333
    Адрес:
    Барнаул.
    Поставили на меня задачу, а повис уже на проектировке.
    Программа о составлении расписания. Нужна довольно большая, 115*35, таблица. Собираюсь рисовать руками сетку и вырисовывать текст. На крайний случай писать на C и использовать StringGrid, тогда, правда, интерес пропадет совсем.
    Но как вот сделать фиксированные заголовки? Т.е. двигаем область с таблицей вправо, а вертикальный заголовок стоит; двигаем вниз, тоже движется вниз. Создать три Frame с таблицами и отлавливать сообщения прокруток?

    P.S. Откуда, как не из MSDN можно вычитать о Drag&Drop и других тонкостях или заморочках windows? Может есть в сети место, где из MSDN можно выкачивать отдельные страницы?
     
  2. kropalik

    kropalik New Member

    Публикаций:
    0
    Регистрация:
    27 апр 2005
    Сообщения:
    155
    Адрес:
    msk
    нарисовать все во Flash ?
     
  3. DarkWanderer

    DarkWanderer New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2006
    Сообщения:
    333
    Адрес:
    Барнаул.
    kropalik
    Издеваешься?;))
    С Flash у меня плохо, но это все равно не решение.

    Скачал сейчас три готовые из сети. Ничего лучше, чем получается в Exel'е не сделано.
     
  4. opennetworks

    opennetworks New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2006
    Сообщения:
    436
    HTML+JavaScript+ActiveX+PHP

    ТАМ Такую таблицу здель можно!:)
     
  5. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    DarkWanderer
    делай свой компонент, для таблицы это не сложно.
     
  6. DarkWanderer

    DarkWanderer New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2006
    Сообщения:
    333
    Адрес:
    Барнаул.
    opennetworks
    Не для меня. Только Asm&C. Ничем еще не занимался пока.

    n0name
    Опишешь каким видишь компонент? А лучше еще, как его делать.
     
  7. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Если сие чудо только для внутреннего использования, то отлично решается в банальном Excel :)), часто даже встроенный VB юзать не приходится - достаточно комбинации штатных формул, а чтобы заголовки не двигались c таблицей там меню Окно\разделить области, затем Окно\закрепить области :))
     
  8. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    DarkWanderer
    При отрисовке рисуешь заголовок и строки начиная с comp.YOffset.
    comp - это внутренняя структура, описываюшая контрол.
    так же в comp хранишь массив строк. В чём сложность?
     
  9. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    см. http://www.wasm.ru/forum/viewtopic.php?pid=142142#p142142 пост 34, и если готов наступить на эти грабли, то заходи через ссылки в аттаче :)))
     
  10. DarkWanderer

    DarkWanderer New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2006
    Сообщения:
    333
    Адрес:
    Барнаул.
    Y_Mur
    Это уже есть. С макросами, подсветкой ошибок и т.п.

    Спасибо. Схожу.

    n0name
    Сложность уже в том, что я не понял, что ты имеешь ввиду. Подумаю обязательно.
     
  11. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    DarkWanderer
    Что тебе неясно? Как отрисовывать контрол, как его создавать, как обрабатывать скроллинг?
     
  12. ds_punks

    ds_punks New Member

    Публикаций:
    0
    Регистрация:
    16 май 2006
    Сообщения:
    22
    >> Может есть в сети место, где из MSDN можно выкачивать отдельные страницы?


    msdn*microsoft*com
     
  13. DarkWanderer

    DarkWanderer New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2006
    Сообщения:
    333
    Адрес:
    Барнаул.
    n0name
    Не пробовал создавать контроллы. Чего почитать? Не знаю пока чего коснуться, куда пойти и чего изучить.

    ds_punks
    Ладно.
     
  14. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    DarkWanderer
    Ну регистрируешь класс - RegisterClassEx. lpfnWndProc указывает на оконную процедуру твоего окна, где ты обрабатываешь все сообщения которые приходят контролу - WM_KEYDOWN, WM_CREATE, WM_NCCREATE, WM_VSCROLL, WM_SIZE, WM_PAINT, ...
    Создавать как обычный дочерний контрол - CreateWindows, с указанием имени твоего класса.
     
  15. DarkWanderer

    DarkWanderer New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2006
    Сообщения:
    333
    Адрес:
    Барнаул.
    n0name
    Понял что ты хотел сказать. Два дня думал, медитировал и понял.
    А если создать область с таблицей, которую скролить будет система. Отрисовывать только заголовки? Нормально получится?
     
  16. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Можно и так, только памяти будет требовать больше.
     
  17. DarkWanderer

    DarkWanderer New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2006
    Сообщения:
    333
    Адрес:
    Барнаул.
    n0name
    Система будет перерисовывать так же, как и программа? Тогда точно, как ты сказал. Полосы прокрутки лучше ни к чему не привязывать и вручную отлавливать сообщения? Если нормально, то как их рисовать?
     
  18. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    То есть? При создании твоего контрола указываешь стили WS_HSCROLL и WS_VSCROLL, появляются полосы прокрутки, чтобы изменить параметры используй SetScrollInfo. Когда юзер будет скролить твоему контролу будет посылатся сообщение WM_VSCROLL, WM_HSCROLL.
     
  19. Jupiter

    Jupiter Jupiter

    Публикаций:
    0
    Регистрация:
    12 авг 2004
    Сообщения:
    532
    Адрес:
    Russia
    SpreadSheet с сайта RadAsm
     
  20. DarkWanderer

    DarkWanderer New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2006
    Сообщения:
    333
    Адрес:
    Барнаул.
    Jupiter
    Ухт! Полезно.

    n0name
    Понятно. Можно теперь начинать.

    Спасибо всем. Тема закрыта.