Перехват WM сообщений (Windows)

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Перехват WM сообщений (Windows)

Сообщение Atlant » 25.07.2006 09:41:09

Вообщем всем привет! =)
Вообщето занялся FreePascal&Lazarus буквально с недельку и по мере изучения возникают вопросы.
Есть такой интересный компонент USAppBar
{
This is a implementation of a desktop application toolbar,
like the MSOffice toolbar or the Windows 95 taskbar.
Simply drop the component on your form.

Author: Ulf Steinberg
eMail : ulf.steinberg@stud.uni-karlsruhe.de
WWW : HTTP://WWW.UNI-KARLSRUHE.DE/~ulmo
Жаль только страницы такой похоже уже нету =(
}

Есть желание портировать в Lazarus. Но проблемка в том что компонент перехватывает оконную функцию основной формы для самостоятельного разбора сообщений и делает это через GetWindowLong(..,GWL_WNDPROC); MakeObjectInstance(..);SetWindowLong(..,GWL_WNDPROC,..);.
Но функции MakeObjectInstance нету как таковой, есть ли какая нибудь альтернатива.
Atlant
новенький
 
Сообщения: 17
Зарегистрирован: 25.07.2006 08:43:29

Сообщение Atlant » 16.10.2007 08:48:10

up
Информация все еще необходима
Atlant
новенький
 
Сообщения: 17
Зарегистрирован: 25.07.2006 08:43:29

Сообщение Павел Ишенин » 16.10.2007 09:47:35

MakeObjectInstance делается в Delphi, чтобы привязать оконную функцию к экземпляру класса. В Lazarus так не делается - оконная функция находится не в экземпляре - это обычная функция паскаля. Так можно поступить и с этим компонентом. TWinControl в этой функции можно получить из аргумента Window: WindowInfo := GetWindowInfo(Window). В качестве примера можно посмотреть win32callback.inc (правда это ужасный пример).
Павел Ишенин
постоялец
 
Сообщения: 475
Зарегистрирован: 24.03.2007 10:16:52


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 40

Рейтинг@Mail.ru