Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.01.20;
Скачать: CL | DM;

Вниз

Проблемы с KOLTrackbar   Найти похожие ветки 

 
danger ©   (2007-06-22 19:54) [0]

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 19:57) [1]

В смысле,
Trackbar := Pointer( GetProp( Msg.lParam, ID_SELF ) );
на Trackbar := Pointer( GetWindowLong( Msg.lParam, GWL_USERDATA ) );


 
Vladimir Kladov   (2007-06-22 20:30) [2]

Это было еще до перехода на Get/SetWindowLong( GWL_USERDATA,.
Можно заменить, или использовать USE_PROP в опциях.


 
Danger ©   (2007-06-22 20:45) [3]


> 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;



Страницы: 1 вся ветка

Текущий архив: 2008.01.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
2-1198237513
авыф
2007-12-21 14:45
2008.01.20
Unicod


15-1197556569
Petr V. Abramov
2007-12-13 17:36
2008.01.20
Коннект к MSSQL-2000


2-1198171895
savyhinst
2007-12-20 20:31
2008.01.20
Сменить длину динамического массива строк из процедуры нельзя?


2-1198409048
НОВ
2007-12-23 14:24
2008.01.20
Turbo Delphi Нужна помощь


15-1197404481
Амплоадо
2007-12-11 23:21
2008.01.20
Delphi не могу Turbo установить