Конференция "KOL" » прозрачный фон трекбара [Delphi, Windows]
 
  • awkward (03.10.10 13:46) [0]
    В своей программе я использую форму, реализованную с помощью KOL. Там я использую Trackbar (KOLCCtrls компонент). Ранее я перехватывал OnEraseBkGnd с пустым телом процедуры, что позволяло мне рисовать прозрачный фон (показывать только полоску самого трекбара и слайдер), но в версии 3.00 этот метод почему-то не сработал. фон рисуется. Кто-нибудь сможет подсказать, как правильно реализовать эту задачу теперь?

    PS. сам контрол создавался как
      result:=NewTrackbar(AOwner,[trbNoTicks,trbBoth,trbNoBorder],nil);
  • Vladimir Kladov © (03.10.10 15:24) [1]
    Забыл приаттачить обработчик в новой версии Set_OnEraseBkgnd:

    procedure TControl.Set_OnEraseBkgnd(const Value: TOnPaint);
    begin
       ProvideUniqueEvents.fOnEraseBkgnd := Value;
       AttachProc( WndProcEraseBkgnd ); <- вот тут
    end;



    Только не знаю, насколько поможет. Не рисовать совсем ничего как бы не совсем правильно, если родительский контрол исключает дочерние из рисования (как по идее и работают виндовые контролы). Корректный способ - это рисоватьв OnEraseBkgnd тот фон, который нужен, чтобы он был. Но это мудренее.
  • awkward (03.10.10 16:14) [2]
    Спасибо. я делаю по-дурацки, но проще. мне главное, чтоб сам контрол был прозрачным.
 
Конференция "KOL" » прозрачный фон трекбара [Delphi, Windows]
Есть новые Нет новых   [120347   +16][b:0][p:0.001]