Использование WinApi функций в среде Делфи

Особенности строения операционной системы Windows. Понятия оконный дескриптор, сообщение и событие. Использование WinAPI функций при создании окон, кнопок, однострокового и многострокового редактора. Утилита слежения за окнами и сообщениями WinSight.

Рубрика Программирование, компьютеры и кибернетика
Вид методичка
Язык русский
Дата добавления 08.09.2015
Размер файла 336,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

где функция MakeWParam собирает двойное слово из двух слов.

Для того, чтобы записать текст в строковой редактор можно использовать сообщение WM_SETTEXT. Участок кода, выполняющий поиск edit'а и меняющий его текст выглядит следующим образом:

var pCh: pChar;

...

h_edit := FindWindowEx( handle, 0, 'EDIT', 'Hello');

if h_edit = 0 then

Writeln('The edit not found!')

else begin

Writeln(' handle of the edit is ', h_edit);

pCh := 'текст, вставленный из другой программы';

SendMessage(h_edit, WM_SETTEXT, 0, integer(pCh));

end;

Научимся теперь выбирать нужные пункты меню. Нажмем, например, на пункт меню выход. Это третий под пункт (разделители тоже считаются!) первого меню, то есть код будет иметь следующий вид:

h_menu := GetMenu(Handle); //получили дескриптор главного меню окна.

if h_menu <> 0 then begin

h_menu := GetSubMenu(h_menu,0);//получили дескриптор первого пункта главного меню (0 -первый пункт)

//получим идентификатор 3 пункта подменю меню (черты в меню - это также пункты)

id_menu := GetMenuItemID(h_menu, 2);

if id_menu <> 0 then

//запускаем пункт меню. Именно PostMessage, SendMessage - не работает.

PostMessage(handle, WM_COMMAND, id_menu, 0);

end;

В результате, программа должна закрыться, так как выбранный нами пункт меню - выход.

В случае, если функции не работают по не ясной причине, можно получить код ошибки с помощью функции GetLastError. Приведем ниже программный код, выдающий сообщение об ошибке:

// следующая функция является макросом, не переведенным с С++ в поставке Delphi

function MAKELANGID(sPrimaryLanguage : Word;

sSubLanguage : Word) : Word;

begin

result := (sSubLanguage shl 10) or

sPrimaryLanguage;

end;

var pCh: pChar; // буфер для сообщения об ошибке

// при возникновении ошибки ее код нужно преобразовать в понятный пользователю текст с помощью функции FormatMessage

FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER OR FORMAT_MESSAGE_FROM_SYSTEM,

nil, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT) {Default language}, pCh, 0, nil);

// показываем ошибку пользователю:

MessageBox( 0, pCh, 'Last error', MB_OK or MB_ICONINFORMATION );

Проектное задание

Написать программу, которая будет пытаться двигать главное окно компилятора Delphi, вызывать пункты меню сохранить (Save all) и запустить (Run). При вызове пункте меню Save as… программно заставить сохранить по указанному заранее пути. Попробуйте создать свою кнопку в чужом приложении.

Тест рубежного контроля №3

Тест содержит 5 заданий, на выполнение которых отводится 3 минуты. Выберите наиболее правильный, по Вашему мнению, вариант ответа и отметьте его любым значком в бланке ответов.

1. Утилита WinSight позволяет

1)

Следить за окнами и сообщения, приходящим к ним

2)

Следить за окнами и изменять их свойства

3)

Изменять сообщения, приходящие окнам и менять класс окон

4)

Только определить класс и заголовок окна

2. Режим поиска Follow focus позволяет

1)

Искать окна

2)

Отслеживать сообщения

3)

Искать окна и отслеживать нужные сообщения

4)

Не используется в 32 разрядных операционных системах

3. Для управления окном необходимо получить его

1)

Экранные координаты (Rect)

2)

Графический дескриптор (HDC)

3)

Оконный дескриптор (HWND)

4)

Класс окна, зарегистрированный в системе

4. Для программного нажатия на кнопку необходимо знать

1)

Дескриптор кнопки

2)

Акселератор (id) кнопки

3)

Дескриптор и акселератор

4)

Дескриптор кнопки, ее акселератор и дескриптор окна

5. Перебор всех главных окон в системе рекомендуется осуществлять функциями:

1)

EnumWindows

2)

FindWindow, GetNextWindow

3)

EnumChildWindow

4)

FindWindowEx

Бланк ответов

1

2

3

4

1)

2)

3)

4)

5)

Критерии оценки

4 и более правильных ответов - отлично

3 правильных ответа - хорошо

2 правильных ответа - удовлетворительно

1 и менее правильных ответов - неудовлетворительно

Список литературы

1. MSDN, July 2006

2. Материалы форума сайта “Мастера Делфи”

3. Материалы форума сайта “Королевсво Делфи”

4. Встроенная в среду Delphi справочная система

5. В.В. Фаронов. Delphi 4. Учебный курс. - М.: Нолидж, 1999. - 464 с.

Размещено на Allbest.ru

...

Подобные документы

  • Теоретические сведения о таймерах Windows. Описание используемых WinAPI функций для измерения текущего времени, для создания виртуальных таймеров. Выключение и перезагрузка компьютера по нажатию на кнопку и по таймеру, вывод текущей даты и времени.

    курсовая работа [50,0 K], добавлен 18.05.2014

  • Загальні факти про комп’ютерні ігри. Розгляд основ розробки програмного (джерельного) коду, контенту (малюнки, моделі, музика) та ігрових механік гри "Три стакани". Правила використанням засобів WinAPI. Створення математичної моделі алгоритму програми.

    курсовая работа [405,6 K], добавлен 09.06.2015

  • Классификация и структура автоматизированных информационных систем. Характеристика и устройство операционной системы Windows. Основные элементы и действия с окнами, кнопки управления их размерами. Сравнительная характеристика диалогового и простого окон.

    реферат [935,2 K], добавлен 02.02.2010

  • Знакомство с операционной системой Windows. Исследование её устройства, истории, возможностей, особенностей работы с ней для получения новых знаний. Описание наиболее использующихся и важных функций этой операционной системы, их практическое освоение.

    контрольная работа [2,9 M], добавлен 14.12.2009

  • Прикладные программы и утилиты. Простейшие функции операционной системы. История разработки корпорацией Microsoft Corporation графической операционной оболочки Windows. Версия семейства сетевых ОС Windows NT (Millennium Edition, 2000, XP, Vista, Seven)

    презентация [965,2 K], добавлен 12.10.2013

  • История развития реестра Windows, описание разделов, WinApi функции. Аналоги программ других разработчиков. Последовательность проектирования Windows-приложения, которое будет выводить аппаратную характеристику ПК на экран. Руководство пользователя.

    курсовая работа [1,2 M], добавлен 23.07.2013

  • Изучение общих возможностей операционной системы Windows, осуществление навигации по ее структурам с помощью мышки. Порядок работы с программами, окнами и справочной информацией. Основные операции над папками и файлами. Построение структуры каталогов.

    лабораторная работа [156,1 K], добавлен 23.10.2013

  • Использование операционных систем Microsoft Windows. Разработка операционной системы Windows 1.0. Возможности и характеристика последующих версий. Выпуск пользовательских операционных систем компании, доработки и нововведения, версии Windows XP и Vista.

    реферат [23,3 K], добавлен 10.01.2012

  • Таймер в Windows как устройство ввода информации, которое извещает приложение о том, что истек заданный интервал времени. Работа с таймером в условиях WinAPI, процесс 32-битного программирования на ассемблере под Windows. Результат выполнения программы.

    курсовая работа [165,6 K], добавлен 18.05.2014

  • Использование DirectX для решения задач по выводу и обработке графики в Microsoft Windows. Описание используемых DirectX-функций. Исходный текст отлаженной программы. Техника работы с окнами. Результаты работы программы, составление алгоритма, листинг.

    контрольная работа [226,0 K], добавлен 18.05.2014

  • Понятие операционной системы (ОС), ее функции и виды для различных платформ (коммерческих и свободных). Выбор ОС для компьютера. Достоинства и недостатки ОС Windows, характеристика ее функций и возможностей. Биография создателя ОС Windows Билла Гейтса.

    презентация [693,8 K], добавлен 11.10.2012

  • Основные функции библиотеки динамической компоновки (DLL) в операционной системе Windows. Характеристика механизмов связывания в среде Windows. Описание функций, использующихся в программах. Анализ примеров реализации DLL. Процесс использования ресурсов.

    курсовая работа [365,3 K], добавлен 18.05.2014

  • Операционная система от компании Microsoft. Понятие Windows 8, ее особенности. Использование мыши и приложений в интерфейсе Метро. Самый проблемный жест при работе с Windows 8. Направленность операционной системы на устройства с сенсорным экраном.

    реферат [30,1 K], добавлен 16.05.2013

  • Создание компанией Microsoft операционной системы MS-DOS и повсеместное использование персональных компьютеров. Необходимость создания более удобной для пользователя операционной системы, разработка и эволюция Windows, появление интернет-приложений.

    презентация [3,6 M], добавлен 29.10.2012

  • История операционной системы Windows компании Microsoft. Первые версии Windows. Поддержка мультимедийных средств в последующих версиях. Основные версии Windows 7. Панель задач Windows 7, новые возможности управления окнами. Поддержка 64-разрядных систем.

    курсовая работа [257,7 K], добавлен 31.03.2011

  • Появление и развитие Microsoft. Крупнейшая в мире компания-разработчик компьютерного программного обеспечения. Появление Windows и Интернета. Выход Windows XP с обновленным дизайном. Разработка интеллектуальных функций для обеспечения безопасности.

    реферат [32,7 K], добавлен 19.11.2013

  • Основы программирования графических приложений на основе DirectX для операционной системы Windows. Работа с различными интерфейсами. Описание некоторых функций, используемых для работы с Direct3D. Взаимосвязь между приложением, Direct3D и аппаратурой.

    курсовая работа [156,2 K], добавлен 10.02.2015

  • Обзор технологии COM (Component Object Technology). Особенности графического интерфейса пользователя и методы его реализации. Интерфейс операционных систем Microsoft Windows: работа с папками, файлами и окнами, использование буфера обмена, проводник.

    контрольная работа [6,4 M], добавлен 16.04.2011

  • Исследование сетевой операционной системы. Определение набора веб-приложений, которые объединены в рамках единого пользовательского интерфейса, напоминающего классические десктопные системы. Рассмотрение сетевых утилит операционной системы Windows.

    отчет по практике [255,1 K], добавлен 20.10.2021

  • Основы организации приложения в Windows. Посылка и передача сообщений для окон. Создание и отображение главного окна приложения. Деактивация приложения, его фазы. Сообщения клавиатуры и функции для работы с ней. Определение состояния отдельных клавиш.

    лекция [65,7 K], добавлен 24.06.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.