![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемы с KOLTrackbar
danger © (2007-06-22 19:54:00)Delphi 7, KOL 2.67. Неправильно обрабатывается событие OnScroll для KOLTrackBar. В файле KOLCCtrls.pas нужно заменить строчку:
function WndProcTrackbarParent( Sender: PControl; var Msg: TMsg; var Rslt: Integer ): Boolean;
var D: PTrackbarData;
Trackbar: PTrackbar;
begin
Result := FALSE;
.........
Pointer( GetProp( Msg.lParam, ID_SELF ) );
if Trackbar <> nil then
begin
.........
end;
на альтернативный вариант:
Trackbar := Pointer( GetWindowLong( Msg.lParam, GWL_USERDATA ) );
Danger (2007-06-22 20:45:00) [1]
> Vladimir Kladov (22.06.07 20:30) [2]
> Это было еще до перехода на Get/SetWindowLong( GWL_USERDATA,
Да, со старыми версиями работало нормально. С новыми надо подправить.
>Можно заменить, или использовать USE_PROP в опциях.
Тогда так, чтобы сохранить единый стиль с новым KOL.pas:
function WndProcTrackbarParent( Sender: PControl; var Msg: TMsg; var Rslt: Integer ): Boolean;
var D: PTrackbarData;
Trackbar: PTrackbar;
begin
Result := FALSE;
.........
{$IFDEF USE_PROP}
Trackbar:= Pointer( GetProp( Msg.lParam, ID_SELF ) );
{ELSE}
Trackbar := Pointer( GetWindowLong( Msg.lParam, GWL_USERDATA ) );
{$ENDIF}
if Trackbar <> nil then
begin
.........
end;
Vladimir Kladov (2007-06-22 20:30:00) [2]Это было еще до перехода на Get/SetWindowLong( GWL_USERDATA,.
Можно заменить, или использовать USE_PROP в опциях.
Danger (2007-06-22 19:57:00) [3]В смысле,
Trackbar := Pointer( GetProp( Msg.lParam, ID_SELF ) );
на Trackbar := Pointer( GetWindowLong( Msg.lParam, GWL_USERDATA ) );