Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

снова TrackBar [Delphi, Windows]


Страницы:   1 2

Robt ©   (2007-06-26 19:28:00) 

а как работать с "тиками" ?
менять растояние между ними
типа frequency в vcl
и как вариант фиксированое "прыганье" ползунка
по "тикам"


Dy1   (2009-06-22 20:51:00) [1]

не помогло


  (2009-03-27 13:14:00) [2]

Удалено модератором


PeTRoViCH   (2009-03-23 19:03:00) [3]

У меня тоже не работает.
Как выяснилось, в модуле KOLCCtrls.pas в функции WndProcTrackbarParent
после Trackbar := Pointer(GetProp(Msg.lParam, ID_SELF));
имеем Trackbar=nil
Выяснять причину не стал из-за лени.
Проблему решил так:
(все изменения в юните KOLCCtrls.pas)

1. В функции NewTrackbar:
Перед AParent.AttachProc( WndProcTrackbarParent ); добавляем строку:
SetWindowLong(Result.Handle,GWL_USERDATA,Integer(@Result));

2. В функции WndProcTrackbarParent:
Строку Trackbar := Pointer(GetProp(Msg.lParam, ID_SELF)); заменяем на:
Trackbar := Pointer(GetWindowLong(Msg.lParam,GWL_USERDATA));

Удачи.


  (2009-02-28 22:34:00) [4]

Удалено модератором


Dy1   (2009-02-28 13:04:00) [5]

Не удалось. Может ли xitrackbar выглядеть системным?


Дмитрий К   (2009-02-26 18:27:00) [6]


> Dy1   (25.02.09 17:02) [25]

Если не удастся победить ошибку, попробуй http://kolnmck.kolmck.net/files/components/controls/kolxitrackbar.7zЭтот контрол не основан на системном трекбаре.


Jon   (2009-02-25 17:33:00) [7]

Use Position property - KOL only example shown:

program Trackbar;

uses KOL, KOLCCtrls;

procedure TrackbarChange(Dummy: Pointer; Sender: PTrackbar; Code: Integer);
begin
 Applet.Caption := Int2Str(Sender.Position);
end;

begin
 Applet := NewForm(nil,'Trackbar');
 NewTrackbar(Applet,[],TOnScroll(MakeMethod(nil,@TrackbarChange))).ResizeParent;
 Run(Applet);
end.


Dy1   (2009-02-25 17:02:00) [8]

помогите пожалуйста


Dy1   (2009-02-17 09:52:00) [9]

КОЛнМЦК 2.88, Д7
вылет при попытке прочитать trackbar.Position


Robt   (2007-12-19 08:30:00) [10]

да я не табуляцию имел в виду а Focused


Jon   (2007-12-18 11:56:00) [11]

You need to do the following:

 TrackBar := NewTrackbar(....);
 TrackBarTabstop := True;
 TrackBar.Style := TrackBar.Style or WS_TABSTOP;


Work for me in all versions including current 2.85


Robt   (2007-12-18 08:48:00) [12]

после установки последней версии кола 2.84
trackbar отказывается програмно становица "в фокусе" любыми способами
только если на него мышью нажать

возврат к 2.73 - все нормально

чтоли гдето чтото поменялось ?


Robt   (2007-09-14 20:09:00) [13]

кароче эта хрень изза отладочной инфы :(
2 дня изза нее промудохался ....

и чо теперь ? без отладки работать ?


robt   (2007-09-14 16:13:00) [14]

и кроме того VCL версия тоже использует WM_USER но проблем не возникает
а тут то Range error то ноль эмоций

забыл сказать, когда onScroll пустой Range error нету, тока чонить написал-капец


robt   (2007-09-14 16:06:00) [15]

использую WM_USER+101 и выше это где вылетает с переполнением,
а "пустой" проект для теста это тупо форма+тракбар и фсе...


Vladimir Kladov   (2007-09-14 14:10:00) [16]

Проверьте, что вы не используете в своем приложении сообщений WM_USER, пересекающихся с сообщениями trackbar'а.


robt   (2007-09-14 09:54:00) [17]

на работе пустой проект с темже кодом (Form.Caption := Int2Str(Sender.Position);)
ВОБЩЕ не работает !!! хотя 2 мес. назад работал....
кол 2.37

по моему где то косяк тракбара с обработкой сообщений
веть даже если у меня ошибка в программе (чего не может быть в принципе в "пустом" проекте)
даже в этом случае это не должно влиять на внупренние процессы в тракбаре .


Robt   (2007-09-13 21:22:00) [18]


> А у меня работатет. Код:
> procedure TForm1.TrackBar1Scroll(Sender: PTrackbar; Code:
>  Integer);
> begin
>  Form.Caption := Int2Str(Sender.Position);
> end;

вылетает при любом упоминании Position с переполнением диапазона

function TTrackbar.GetVal( const Index: Integer ): Integer;
begin
  Result := Perform( WM_USER + ( HiWord( Index ) and $7FFF ), 0, 0 );
end;

коректно работает тока в пустом проекте
кол последний

чо делать ?


mdw   (2007-06-28 20:18:00) [19]


> А у меня работатет. Код:

Специально проверил сейчас, у меня тоже работает.


Galkov   (2007-06-28 19:45:00) [20]

На своем форуме я обычно добавляю:

Вопрос: что я делаю не так ???

:))


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо