Использование структур в функциях Windows API

На примере работы с CheckBox'ами в элементе управления Windows TreeView продемонстрировано использование новых возможностей VFP 9 для работы со структурами Windows API практически любой сложности, используемыми для передачи и возврата параметров в/из Win API-функций.
Здесь приводится адаптированный и переведенный с Visual Basic на Visual FoxPro 9 код
из статьи Брэда Мартинеса (Brad Martinez) "SetWindowLong: Add TreeView
Check Boxes via API", опубликованной на сайте
http://vbnet.mvps.org/index.html?code/comctl/tvcheckbox.htm.
В примере показан способ работы со структурами Windows API любой сложности лишь средствами
встроенными в Visual FoxPro 9, без использования дополнительных классов и FLL.

Продемонстрировано использование новых возможностей VFP 9, описанных в главе 14
"Language Improvemens" на стр. 312 книги "What's New In Nine"
издательства Hentzenwerke, доступной на сайте Microsoft online,
а так же описанных в разделе "Формирование структур в Visual FoxPro"
статьи Вячеслава Клепинина "Введение в Windows API", размещенной на сайте:
http://www.codenet.ru/db/vfp/winapi/
(если данный сайт недоступен, то воспользовавшись поиском Google можно
получить ссылку на кэшированную сервисом Google копию данной страницы)

Для определения WinAPI структур в примере НЕ ИСПОЛЬЗУЕТСЯ подключаемый к
проекту Struct.vcx с сайта: http://kodu.neti.ee/~juri4/examples/struct.zip
(195,892 байта), т.к. класс struct требует Convert.FLL, а загромождать
проект дополнительными, да еще и чужими файлами FLL желание отсутствует!
К тому же библиотека Convert.FLL содержит только некоторые конверсионные
функции необходимые для преобразования числовых величин в бинарные строки,
как это требуется для функций API. А в версии VFP9, движок это прекрасно
выполняет сам (см. описание измененных функций CTOBIN и BINTOC)!

В примере так же НЕ ИСПОЛЬЗУЕТСЯ класс rAPIdStructure, описанный в статье
Emanuele Cerlini "A way to work with Visual FoxPro and API Structures",
являющийся адаптером для API-структур, со времен VFP7 и далее,
ознакомиться с которым можно по ссылке:
http://www.foxitaly.com/ecerlini/struttureapi_en.html

Перевод, адаптацию статьи под VFP и написание кода VFP9 выполнил:
Кольцов Роман Васильевич
mailto: Roman.Koltsov@gmail.com
tel: +7 4752 751645 (home)
fax: +7 4752 713406 (work)
ICQ: 44612299

Автор: Кольцов Роман Васильевич
0

Автор публикации

не в сети 16 лет

rvc44

0
Комментарии: 0Публикации: 7Регистрация: 06-12-2005
Вложенные файлы
#
Тип файла
Размер
Название
1 .zip 18,51 КБ 542deptree_api
Оставить комментарий
Авторизация
*
*
Генерация пароля