На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела "Наши Исходники"
Раздел предназначен для публикации различных исходников и программных решений (в виде исходных текстов), которые Вы считаете достойными внимания и/или интересными. Язык исходника значения не имеет. Это может быть C/C++, Pascal, Perl, PHP, C#, Foth, Prolog или любой другой существующий язык программирования. Единственный момент – в названии темы этот язык должен быть указан. Например, «[C++] Представление чисел в римской записи». Сам исходный текст должен содержаться в первом посте темы. Если исходник занимает не больше одного-двух экранов, то допустимо его публикация непосредственно в посте. Иначе исходный текст должен быть прикреплен к посту в виде архива. Кроме того, первый пост должен содержать:

- Информацию о платформе/компиляторе, для которых предназначен исходный текст (если эта информация существенна)
- Ссылку на оригинал и автора (если публикуется чужой исходный текст)
- Максимально подробное описание – какую задачу решает опубликованный исходный текст, и чем он интересен.

Плагиат крайне не приветствуется. Также не приветствуется публикация исходных текстов вирусов, крэков и т. п. информации. Это элементарно противозаконно.

Для быстрого поиска нужного исходника можно воспользоваться навигатором:
Быстрый поиск по разделу
Модераторы: Flex Ferrum
Страницы: (13) « Первая ... 5 6 7 8 ...  12 13 все  ( Перейти к последнему сообщению )  
> [C++] GUI на API (библиотека), Очередной велосипед :)
    продолжение о велосипедах :)
    добавлено
    ULCOMs Пространство имён классов COM(некоторая попытка реализовать своё, точнее обернуть существующие общие понятия)
    CULDllApp класс динамической библиотеки
    ULCommDlgsПространство имён классов обёрток для некоторых стандартных диалогов
    ULListCtrlEx пространство имен расширенного лист контрола
    CULSplitterкласс оконного разделителя

    Еще несколько классов обёрток для контролов.
    Реализация шеврона у ребара, если бандом является тулбар.
    Кое-какие изменения коснулись пространств имен....
    И еще чегото помелочи :unsure:

    скачать очередную версию можно здесь. там же есть справка с частичными описаниями функций, сгенерированная при помощи doxygen1.5.2

    сейчас собирается на vs2005
    собирал на vs2008express, но не создавался ребар, этот баг пофиксю, как переползу на 2008...
    "Бубен Team Edition for Developers"
    ULLib | ULj2me
      Цитата ElcnU @
      родолжение о велосипедах
      добавлено

      ULCOMs Пространство имён классов COM(некоторая попытка реализовать своё, точнее обернуть существующие общие понятия)
      CULDllApp класс динамической библиотеки
      ULCommDlgs Пространство имён классов обёрток для некоторых стандартных диалогов
      ULListCtrlEx пространство имен расширенного лист контрола
      CULSplitter класс оконного разделителя

      Еще несколько классов обёрток для контролов.
      Реализация шеврона у ребара, если бандом является тулбар.
      Кое-какие изменения коснулись пространств имен....
      И еще чегото помелочи

      скачать очередную версию можно здесь. там же есть справка с частичными описаниями функций, сгенерированная при помощи doxygen1.5.2

      сейчас собирается на vs2005
      собирал на vs2008express, но не создавался ребар, этот баг пофиксю, как переползу на 2008...

      :wub:
      Оптимизатор компилятор Intel считает меня идиотом , в выражении value != value делает всегда истиным :D
        А когда будет либа под 2008 студию? ;)
        Сообщение отредактировано: Alca -
          Цитата ElcnU @
          как переползу на 2008...


          Лучше уж сразу на 2010, не долго ждать
          const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
          for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;


          user posted image Чат Исходников в СкайпеНе тормози, форум теперь здесь!Чат Исходников в Дискорде
            Цитата B.V. @
            Лучше уж сразу на 2010, не долго ждать

            Для 2010 много переписывать придется. :)
            "Математики думают, что Бог в уравнениях, нейрологи уверены, что Бог в мозге, а программисты уверены, что Бог — один из них."
            Морган Фриман
            Реализация шаблонов Jinja2 для C++ Jinja2 C++
              Цитата Alca @
              А когда будет либа под 2008 студию?

              большинство на 2008й и так работает

              я на ворке 2008ю экспресс+ResEdit использую(приспичило под GaGe платы софт написать). Просто не всё протестировал
              Но точно могу сказать, что экзамплы с ребаром не работают. потому что SendMessage(RB_INSERTBAND... возвращает 0. Причины такого поведения пока не выяснял, но в ближайшее время займусь.
              "Бубен Team Edition for Developers"
              ULLib | ULj2me
                Привет всем!!! Посмотрел вашу lib'у. В общем, понравилась 8-) Я может, конечно, и не особо шарю но, есть ИМХО:

                ULMessageMap.h/cpp

                1) ULMessageMap лучше объеденить в один файл c ULWnd.
                2)
                ExpandedWrap disabled
                      ///\brief Тип функции обработчика сообщений
                      typedef BOOL(CULWndClass::*MSGPROC)(WPARAM,LPARAM);
                      ///\brief Тип функции обработчика команд от контролов
                      typedef void(CULWndClass::*CMDPROC)(WORD,HWND);
                      ///\brief Тип функции обработчика команд от комконтролов
                      typedef LONG(CULWndClass::*NOTIFYPROC)(LPARAM);

                Зачем использовать три типа обработчиков, и, тем самым, грузить окно лишним кодом.
                Ведь можно сделать и один:
                ExpandedWrap disabled
                  typedef bool ( CBaseWnd::*MSG_HANDLER )( void );
                   
                  struct MSG_FILTER {
                      DWORD   code;
                      DWORD   param1;
                      DWORD   param2;
                      MSG_HANDLER h;
                  };
                   
                  class CMsgMap {
                  private:
                     vector<MSG_FILTER*> filter;
                   
                  ...

                А к параметрам обращаться посредством внутренних функций CULWnd типа GetWParam(), GetLParam().
                3) Почему не реализованы макросы карты сообщений типа BEGIN_MESSAGE_MAP и т д?
                4) "IsAllowMessage Функция говорит о наличии обработчиков". Неужели она кому-то понадобится?

                ULWnd.h/cpp
                1) Ненужная в классе переменная HWND m_hParentWnd ведь родителя всегда можно узнать с помощью WinAPI функции.
                2) Много не обязательный функций типа SetActiveWindow, SetForegroundWindow... Или делать класс со всеми API функциями работы с окном (как MFC) или только с самыми главными.


                PS: Ну остальные еще не смотрел толком.
                PPS: Если надо могу выложить свой вариант этой библиотеки.
                  Цитата Ilfirin @
                  1) ULMessageMap лучше объеденить в один файл c ULWnd.

                  а зачем? Сейчас сделана некоторая декомпозиция, а в кучу если запихать, то может неразбериха получиться....да и планировалось ULMessageMap для других вещей еще использовать...

                  Цитата Ilfirin @
                  Зачем использовать три типа обработчиков, и, тем самым, грузить окно лишним кодом.

                  для удобства, с соответствующей фильтрацией по id контрола и id команды, смотри ULMessageMap::Process....

                  Цитата Ilfirin @
                  ExpandedWrap disabled
                    vector<MSG_FILTER*> filter;

                  да и stl там не юзается

                  Цитата Ilfirin @
                  А к параметрам обращаться посредством внутренних функций CULWnd типа GetWParam(), GetLParam().

                  а это уж точно лишнее... зачем такой огород?

                  Цитата Ilfirin @
                  3) Почему не реализованы макросы карты сообщений типа BEGIN_MESSAGE_MAP и т д?

                  они были на начальном этапе, но это тоже неудобно, например, отлаживать.... да и вообще была цель отойти от этой архитектуры

                  Цитата Ilfirin @
                  4) "IsAllowMessage Функция говорит о наличии обработчиков". Неужели она кому-то понадобится?

                  смотри CULSubClass::Attach . Зачем сабклассировать, если нет обработчиков?

                  Цитата Ilfirin @
                  1) Ненужная в классе переменная HWND m_hParentWnd ведь родителя всегда можно узнать с помощью WinAPI функции.

                  эта переменная нужна для внутренних нужд

                  Цитата Ilfirin @
                  2) Много не обязательный функций типа SetActiveWindow, SetForegroundWindow... Или делать класс со всеми API функциями работы с окном (как MFC) или только с самыми главными.

                  это удобно в использовании

                  Цитата Ilfirin @
                  PPS: Если надо могу выложить свой вариант этой библиотеки.

                  выкладывай, для этого и тема создавалась
                  "Бубен Team Edition for Developers"
                  ULLib | ULj2me
                    Цитата
                    PPS: Если надо могу выложить свой вариант этой библиотеки.

                    Давай ее сюда!!!! :ph34r:
                      Win32 ++

                      Добавлено
                      ElcnU, у тебя не везде стоят assert-ы.
                        Цитата Alca @
                        Win32 ++

                        а это чьё? твоё? свиду ничё так.... посмотрю на досуге...


                        Цитата Alca @
                        ElcnU, у тебя не везде стоят assert-ы.

                        это плохо?
                        ну просто я не сразу начал пользоваться ими...
                        "Бубен Team Edition for Developers"
                        ULLib | ULj2me
                          Цитата
                          а это чьё? твоё? свиду ничё так.... посмотрю на досуге...

                          Нет не мое. Вроде неплохая либа.
                          Я тебе ссылку скинул, чтоб ты глянул, может чего возьмешь для своего велика - какие-нить детальки.
                          Цитата
                          это плохо?

                          Ну лучше проверять, что тебе в функцию заходит, вдруг какой-то невалидный указатель или хендл или еще чего-то "вредное" прокрадется.
                          Иногда помогает ловить ошибки, которые наглаз не видать.
                          Сообщение отредактировано: Alca -
                            Цитата Alca @
                            Я тебе ссылку скинул, чтоб ты глянул, может чего возьмешь для своего велика - какие-нить детальки.

                            спасиб

                            Цитата Alca @
                            Ну лучше проверять, что тебе в функцию заходит, вдруг какой-то невалидный указатель или хендл или еще чего-то "вредное" прокрадется.
                            Иногда помогает ловить ошибки, которые наглаз не видать.

                            да я не спорю, просто когда я начинал эту либу, то особо не задумывался, да и переписывал несколько раз почти всё с нуля, поэтому и не везде :)
                            "Бубен Team Edition for Developers"
                            ULLib | ULj2me
                              Господа, извиняюсь, тему читать всю времени нет.
                              Ну что, получилась библиотечка?
                              У нее есть какие-нибудь приемущества?
                              Она только под винды?
                              "If someone claims to have the perfect programming language, he is either a fool or a salesman or both"(c) Bjarne Stroustrup
                                Еще один велик: eGUI - Easy GUI (C++)
                                и еще: http://www.realcoding.net/article/view/4340
                                Цитата
                                Она только под винды?

                                Да
                                Сообщение отредактировано: Alca -
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (13) « Первая ... 5 6 7 8 ...  12 13 все


                                Рейтинг@Mail.ru
                                [ Script Execution time: 0,1944 ]   [ 16 queries used ]   [ Generated: 30.03.20, 17:28 GMT ]