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