adfun.ru
 
BIGLIB
  большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно
 
АСТРОЛОГИЯ
  книги по астрологии
 
КРИМИНАЛ
  книги про криминал
 
ДЕТЕКТИВЫ
  детективы известных
   писателей
 
ФАНТАСТИКА
  фентези, фантастика,   фантастические повести
 
ПРИКЛЮЧЕНИЯ
  книги про приключения,   путешествия
 
ПОЛИТИКА
  книги про политиков,   репрессии
 
ПСИХОЛОГИЯ
  разнообразная литература   по психологии
 
КЛАССИКА
  классическая литература
 
КОМПЬЮТЕРНАЯ
  ЛИТЕРАТУРА
  про компютерное железо,   документация, языки   программирования
 
РЕЛИГИЯ, АТЕИЗМ
  книги про религию
 
ФИЛОСОФИЯ
  книги, которые заставляют   задуматься над   окружающим тебя миром.
 
ЭНЦИКЛОПЕДИИ
  самые интересные   энциклопедии на
   разные темы
 
МЕДИЦИНА
  медицинские книги,   методички,
   народные лечебники
 
КУЛИНАРИЯ
  рецепты тортов,   консервирование,
  все о спиртных
  напитках.
 
СТИХИ
  стихи популярных и не   очень авторов
 
ТВОРЧЕСТВО
  народное творчество,   стихи, песни и т.д.
 
ЮМОР
  анекдоты, приколы,   смешные истории
 
ЛЮБОВНЫЙ РОМАН
  мир высоких чувств и   любовных грез
 
ЭРОТИКА
  эротические рассказы,   книги о технике секса,   кама-сутра и др.




adfun.ru
Rambler's Top100 Rambler's Top100
    НА ГЛАВНУЮ
    РЕФЕРАТЫ
    ТОСТЫ
    ТЕСТЫ
    АВТО
    ДЛЯ СТУДЕНТА
    КНИГИ
    КОНТАКТ
 
Turbo Debugger 3.0 #3-3
Автор ""
Размер 414526 Байт
Страница 15 из 43
СКАЧАТЬ КНИГУ ЦЕЛИКОМ

       чтобы получить представление, как она работает. Вы можете исполь-
       зовать для запуска TDODEMO.EXE команду FileіRun (ФайліВыполнение)
       менеджера программ или добавить ее к программной группе в качест-
       ве пиктограммы.

                 Примечание: При   отсутствии  файлов  .EXE  для  файлов
            TDODEMO и TDODEMOB вам потребуется открыть их файлы проектов
            и перекомпилировать эти файлы с включением отладочной инфор-
            мации.

                              О программе
       ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

            TDODEMOB -   это   программа,  написанная  с  использованием
       ObjectWindows,  позволяющая рисовать на экране различными цветами
       с помощью "мыши".  Когда вы нажимаете левую кнопку "мыши" и пере-
       мещаете "мышь", то программа рисует на экране линию. Нажав правую
       кнопку "мыши",  вы можете очистить окно.  Программа TDODEMO имеет
       строку меню,  которая позволяет вам выбрать один из 4 цветов: Red
       (красный), Green (зеленый), Blue (голубой) или Black (черный).

            Вы можете рисовать,  нажимая кнопку "мыши", перемещая "мышь"
       и освобождая кнопку "мыши".  Программа легко выполняет эту задачу
       с помощью библиотеки ObjectWindows и динамических виртуальных ме-
       тодов.  Динамический виртуальный метод - это метод с  присвоенным
       ему числовым идентификатором.

            Поскольку Borland  C++  определяет  имена сообщений Windows,
       как числовые константы,  вы можете использовать номера  сообщений
       Windows в качестве идентификатора динамического метода.  При этом
       ObjectWindows может вызывать данный метод,  когда окно, для кото-
       рого объявлен метод, получает совпадающее с идентификатором мето-
       да сообщение. Если нет метода, идентификатор которого совпадает с
       идентификатором  метода,  ObjectWindows  вызывает используемую по
       умолчанию процедуру окна.

            Например, чтобы создать метод, который отвечает на сообщения
       WM_MOUSEMOVE,  вы можете определить метод в объекте окна, который
       выглядит следующим образом:

       TDeb 3.0 #3-3                = 64 =


            procedure WMMouseMove(var Msg: TMessage); virtual WM_MOUSE;

            Как вы можете видеть,  идентификатор WM_MOUSEMOVE можно при-
       соединить  к  процедуре  с помощью оператора virtual <идентифика-
       тор>, который непосредственно следует за описанием процедуры.

            Параметры процедуры окна Windows wParam  и  lParam  содержит
       тип TMessage.  Эти параметры часто содержат дополнительную инфор-
       мацию о сообщении, например, где позиционируется "мышь".

            В следующих  нескольких  разделах  поясняется,  как работает
       программа TDODEMOB.  В нее преднамеренно внесены ошибки,  которые
       вы сможете обнаружить позднее. Полезно также запустить Турбо Пас-
       каль для Windows и открыть файл TDODEMOB.PAS,  после чего вы смо-
       жете следовать по коду программы.

                  Определение оконного типа ScribbleWindow
       ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

            Тип ScribbleWindow определяется следующим образом:

            class ScribbleWindow : public TWindow
            {
            public:
                 HDC HandleDC;       // вывод содержимого для рисования
                 BOOL ButtonDown;    // флаг левой кнопки
                 HPEN ThePen;        // перо, которое используется для
                                     // рисования цветом

            ScribbleWindow(PTWindowObject AParent, LPSTR ATitle);
                -ScribbleWindow();
                void GetWindowClass(WNDCLASS &AWndClass);

                virtual void WMLButtonDown(RTMessage
            Msg)=[WN_First+WM_LBUTTONDOWN];
                virtual void WMLButtonUp(RTMessage MSG)=(WM_FIRST+
                              WM_LBUTTONUP);
                virtual void WMLMouseMove(RTMessage MSG)=(WM_FIRST+
                              WM_MOUSEMOVE);
                virtual void WMLButtonDown(RTMessage MSG)=(WM_FIRST+
                              WM_LBUTTONDOWN);
            virtual void SelectRedPen(RTMessage Msg)=(CM_FIRST+
                                                       CM_RED);
            virtual void SelectGreenPen(RTMessage Msg)=(CM_FIRST+
                                                        CM_GREEN);
            virtual void SelectBluePen(RTMessage Msg)=(CM_FIRST+
                                                        CM_BLUE);
            virtual void SelectBlackPen(RTMessage Msg)=(CM_FIRST+
                                                        CM_BLACK);
            virtual void SetupWindow();
            };


       TDeb 3.0 #3-3                = 65 =





Класс ScribbleWindow определяет определяет объект окна, ко- торый отвечает на следующий ввод пользователя: - перемещение "мыши"; - нажатие и освобождение левой кнопки "мыши"; - нажатие правой кнопки "мыши"; - цвет и позицию пера. Имеются три экземпляра переменных - HandleDC, ThePen и ButtonDown, которые содержат класс устройства, текущее перо, ко- торым рисует пользователь, и состояние кнопки "мыши" соответс- твенно. TDeb 3.0 #3-3 = 66 = Конструктор ScribbleWindow ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Конструктор ScribbleWindow присоединяет меню к программе и инициализирует элемент данных ButtonDown значением FALSE, а ThePen - значением CM_BLACK. GetWindowClass ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Функция-элемент GetWindowClass вызывает стандартную функцию TWindow CegWindowClass устанавливает окно таким образом, что оно ведет себя аналогично любому другому окну TWindow, а затем иници- ализирует пиктограмму программы. WMRButtonDown ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Когда пользователь нажимает в окне ColorScribble правую кнопку "мыши" и собирается рисовать, окно получает сообщение WM_LBUTTONDOWN, которое приводит к тому, что ObjectWindows вызы- вает подпрограмму WMLButtonDown (так как она имеет идентификатор WM_FIRST+WM_LBUTTONDOWN). Подпрограмм WMLButtonDown перемещает перо в текущую позицию "мыши" и устанавливает переменную ButtonDown, чтобы указать, что кнопка нажата, а затем выбирает ThePen в текущий контекст устройства. В Windows имеются также до- полнительные вызовы данной функции, о чем будет рассказано ниже. WMLButtonUp ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Когда пользователь заканчивает рисование и освобождает кноп- ку "мыши", окно получает сообщение WM_LBUTTONUP, которое в свою очередь приводит к тому, что ObjectWindows вызывает функцию WMLButtonUp. Программа присваивает переменной ButtonDown значение False и освобождает класс устройства, связанный с данным окном. WMRButtonDown ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Когда пользователь нажимает правую кнопку "мыши", чтобы очистить экран, ObjectWindows вызывает функцию WMRButtonDown, ко- торая, в свою очередь, вызывает функцию Windows UpdateWindow. Вы- зов данной функции предназначен для очистки окна. WMMouseMove ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Когда пользователь начинает перемещать курсор по окну, окно получает сообщение WM_MOUSEMOVE, которое приводит к тому, что ObjectWindows вызывает функцию WMMouseMove. Если пользователь на- жал левую кнопку "мыши", то программа рисует при каждом перемеще- нии "мыши" линию. Если пользователь не нажимает кнопку "мыши", то TDeb 3.0 #3-3 = 67 = ничего не происходит. Подпрограммы цвета пера ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Имеются также четыре функции, устанавливающие цвет пера, удаляя текущее перо и создавая новое перо с нужным цветом. Эти функции отличаются только устанавливаемыми цветами. TDeb 3.0 #3-3 = 68 = Создание прикладной программы ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Чтобы создать прикладную программу, которая использует окно окно ColorScribble, необходимо создать класс на основе класса ObjectWindow в TApplication. Назначение этого класса (класса CSribbleApplication) состоит в следующем: - Переопределении функции InitMainWindow, благодаря чему прикладная программа сможет создавать основное окно со свойствами окна CSribbleWindows. - Обеспечении объектного типа MyApp, который используется


Страницы : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43


adfun.ru









Форум раскрутка сайта и интернет-реклама
реклама - рекламное агентство -
Интернет PR агентство чат и форум
волчат знакомства - сайт знакомств
бесплатные компьютерные игры
фото знакомства
новые стеклопакеты -
качественное остекление балконов
портал - пластиковые окна -
закажите окна пвх в Москве

частная стоматология в Москве:
надежная стоматологическая клиника
протезирование зубов и
отбеливание зубов в стоматологии
Музыка - скачать mp3 музыка
каталог партнерские программы
ручной бесплатный обмен ссылками цифровые камеры цифровые фотоаппараты -
цифровые видеокамеры

театры - заказ билетов в театр -
магазин - продажа компьютеров
в Москве форум Испания - жилье -
недвижимость в испании

турфирма - испания туры
Переводы - бюро переводов
Законы - закон о товарных знаках,
Грузовые перевозки. АсМАП. Дальнобой закон о рекламе
Интернет казино
реклама на форуме и контекстная реклама
на Яндексе Баннерная сеть и
интернет каталог сайтов Holiday.Ru
Форумы политика, лучшие анекдоты
знакомства.