Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
51 / 46 / 8
Регистрация: 18.05.2011
Сообщений: 497
1

Оштбка TTrackBar DoMouseWheel

18.03.2013, 12:17. Показов 539. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
при запуске программы с этим кодом:
Delphi
1
2
3
4
5
6
7
8
9
10
 TTrackBar = class(ComCtrls.TTrackBar)
  protected
    function DoMouseWheel(Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint): Boolean; override;
  end;
 
function TTrackBar.DoMouseWheel(Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint): Boolean;
begin
  Position := Position + WheelDelta div 30;
  Result := True;
end;
Вылетает ошибка "Invalid Class Typecast", затем после ошибки всё функционирует как надо, как избавиться от этой ошибки?

Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2013, 12:17
Ответы с готовыми решениями:

TTrackBar обнуляется
Сталкнулся с такой проблемой: при увеличении Position с помошью клавиш клавиатуры или клацая справа...

Как узнать координаты TTrackBar
Здравствуйте!У меня на форме стоит TrackBar1 и Image1 вот. Как мне узнать координаты регулятора в...

Как убрать точечную рамку фокуса в TTrackBar и TBitBtn?
Здравствуйте, никак не могу реализовать... :( Как это можно сделать? Требуется сохранить...

Как над ползунком в TtrackBar показывать значение Position?
Здрасти. Необходимо над ползунком в трекбаре показывалось значение (Position) Как реализовать?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Модератор
3490 / 2613 / 741
Регистрация: 19.09.2012
Сообщений: 7,974
18.03.2013, 12:26 2
Этот кусок нормально компилится. Ошибка где-то в другом месте. Надо код целиком смотреть.
1
51 / 46 / 8
Регистрация: 18.05.2011
Сообщений: 497
18.03.2013, 12:32  [ТС] 3
при закомментирование этого кода ошибки нету..

Добавлено через 36 секунд
может быть в try попробовать обернуть?

Добавлено через 4 минуты
вроде бы понял где ошибка..
Delphi
1
2
3
4
5
6
7
в formcreate другой формы, но почему ошибка?
for i := 3 to 12 do
  begin
   [B] with findcomponent('TrackBar'+IntToStr(i))as ttrackbar do[/B]
      handle1:=handle;
    SetWindowLong(handle1, GWL_USERDATA,SetWindowLong(handle1, GWL_WNDPROC, LPARAM(@MyTrackBarProc)));
  end;
0
angstrom
18.03.2013, 12:39 4
Цитата Сообщение от paxan86 Посмотреть сообщение
в formcreate другой формы, но почему ошибка?
Перенеси в OnShow.
51 / 46 / 8
Регистрация: 18.05.2011
Сообщений: 497
18.03.2013, 12:41  [ТС] 5
Спасибо всем, ошибка ушла)
0
18.03.2013, 12:41
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru