из статьи Брэда Мартинеса (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
Вложенные файлы
# |
Название |
Тип файла |
Размер |
---|---|---|---|
1 | 542deptree_api | .zip | 18,51 КБ |