Использование 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