На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются.
4. Используйте теги [ code=cpp ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Старайтесь формулировать свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной и более давности без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта (C++) user posted image FAQ Форума user posted image Наши Исходники user posted image Поиск по Разделу user posted image MSDN Library Online (Windows Driver Kit) user posted image Google

Ваше мнение о модераторах: user posted image B.V.
Модераторы: B.V.
  
> Grid на WinAPI , WinAPI без MFC
    Нужен контрол - таблица (Grid), с полями разных типов:
    1. Static
    2. Edit
    3. Combobox
    4. Edit + Button browse

    Посмотрел в интернете - есть варианты довольно корявенькие. То при изменении ширины столбцов все мигает, то кнопки стрелки не работают, то комбобокс мышью не пролистывается и д.р. При всем при этом, эти исходники
    содержат под 3000 строк.

    Вопрос :
    Есть ли у кого нибудь ссылка на что-то нормальное. Что можно "допилить", потому как 3000 строк переписывать - проще с нуля все сделать.
    Сообщение отредактировано: Mr.Brooks -
        Цитата Mr.Brooks @
        При всем при этом, эти исходники
        содержат под 3000 строк.

        Обалдеть. Дай посмотреть..
        ---
        Делаем так:
        1. Базовый класс - сабклассинг. Используется для раскраски контролов, для смены курсора,
        фильтации информации для edit-ов, обработки сообщений непосредствеенно в оконной процедуре,
        вывода чего-нибудь не стандартного на контрол итд.
        2. Его потомок - "стандартное окно-контрол"
        3. Его потомки - edit, static, button, GroupBox, ComboBox и.т.д.
        4. Потомок button - CheckBox, RadioButton
        5. Edit + Button это потомок edit, который в качестве члена класса имеет button

        Наверное, методологически правильно в качестве базового класса использовать
        класс - интерфейс, с совершенно необходимыми методами вроде Show, Hide,
        Enable, Disable, GetText, SetText, Move и.т.д.

        ---
        Как-то так.
        3000 строк не получается, даже с комментариями.
        Если будешь делать только по 1 классу в день.. сам подсчитай, сколько времени понадобится.
        Сообщение отредактировано: ЫукпШ -
          Цитата
          Обалдеть. Дай посмотреть..

          Прикреплённый файлПрикреплённый файлBABYGRID_SRC.rar (15,74 Кбайт, скачиваний: 164)
          Прикреплённый файлПрикреплённый файлComponentDataGrid.rar (17,67 Кбайт, скачиваний: 167)
          Пока что решил сделать по-другому. Знаю что это "неправильно", но для меня должно подойти.
          Итак, во-первых программа только для меня и коллег, и мне не важно, как она будет выглядеть у остальных пользователей.
          А может и неплохо будет выглядеть...

          Исходя из этого контроллы для меня это только рисунки которые реагируют на события.
          Поэтому все упрощается, на форме остаются кнопки Apply, OK, Cancel, Listbox - выбор нужной таблицы, два Scrollbar-а, и Static в котором и будем рисовать.
          Элементы Edit, Combobox, и Edit+Button невидимы и будут появляться в нужном месте во время действий пользователя.
          Прикреплённая картинка
          Прикреплённая картинка

          Вот так попробую. Если не получится буду смотреть на ваш вариант.
          Сообщение отредактировано: Mr.Brooks -
            Если ты под винду делаешь и грид тебе нужен не полкилометра на полкилометра, почему на дотнете не взять DataGridView и на нем все просто не сделать. На Шарпе так вообще проще. Я давно делал начистую как раз: создал статик нужных мне размеров, создал контролы, на статике все рисовал, по нажатию мышки подставлят контролы, заполняя содержимым, плюс обработка скроллинга. По отдельности все понятно и ничего сложного, вместе все потребовало много времени для вылизывания, можно было делать таблицу километр на два, но зачем все это надо?
              ter_nk_ где C# и где С++? :D
                Цитата Cfon @
                ter_nk_ где C# и где С++? :D


                Кому что удобнее.
                  Цитата ter_nk_ @
                  Кому что удобнее.

                  это понятно, но чувак кодит на С++! а ты предлагаешь ему начать писать на шарпе :D
                  или C++/CLI?
                  Сообщение отредактировано: Cfon -
                    Цитата Cfon @
                    это понятно, но чувак кодит на С++! а ты предлагаешь ему начать писать на шарпе :D
                    или C++/CLI?


                    На C++/CLI. Хотя мне кажется такие вещи быстрее перейти на шарп и на нем делать.
                      Цитата ter_nk_ @
                      На C++/CLI. Хотя мне кажется такие вещи быстрее перейти на шарп и на нем делать.

                      по мне так проще кодить на MFC чем С++/CLI, я хз чем MFC плох :)
                        Цитата Cfon @
                        по мне так проще кодить на MFC чем С++/CLI, я хз чем MFC плох :)


                        Громоздкий.
                          Цитата
                          ...таблицу километр на два...

                          У меня будет (максимально возможные значения) 20 таблиц x 200 строк x 50 столбцов. Каждая ячейка char[256].

                          Советы переходить на другие языки мне не подходят. На С# у меня есть готовый работающий проект, так сказать 1 версия.

                          1. Мне на Си проще делать нативные библиотеки. Для меня это важнее.
                          2. Нужна работа с указателями. Участки кода в шарпе с unsafe мне не подходят это ж хомуты какие-то.

                          По теме Grid(таблицу) я уже почти сделал. Все работает. Осталось только две вещи:
                          1) ресайз ширины столбцов.
                          2) настройка видимости столбцов, это галочки в контекст меню при клике по заголовку таблицы типа как в проводнике.

                          Не так и сложно, даже интересно. Вопрос решен.
                            Цитата ter_nk_ @
                            Цитата Cfon @
                            по мне так проще кодить на MFC чем С++/CLI, я хз чем MFC плох :)


                            Громоздкий.

                            например?
                              Цитата Cfon @
                              например?


                              Да я давно работал, все как-то в одном пространстве имен, библиотек тащит много. Сейчас уж не помню. Я не стал с ним работать, а проекты не попадались.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0389 ]   [ 18 queries used ]   [ Generated: 28.03.24, 19:15 GMT ]