Вверх ↑
Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
#16: 2007-12-23 09:24:53 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2025-01-18 22:38:11
карма: 0

0
Ответов: 5446
Рейтинг: 323
#17: 2007-12-23 10:58:58 ЛС | профиль | цитата
Galkov, мне что, весть MSDN сюда запостить? Весь не смогу, но про разницу между SB_THUMBTRACK и SB_THUMBPOS - смогу:
MSDN:WM_HSCROLL писал(а):

SB_THUMBPOSITION
The user has dragged the scroll box (thumb) and released the mouse button. The high-order word indicates the position of the scroll box at the end of the drag operation.
SB_THUMBTRACK
The user is dragging the scroll box. This message is sent repeatedly until the user releases the mouse button. The high-order word indicates the position that the scroll box has been dragged to.


Или ты хочешь конкретики, где и что исправить в кодах? Пожалуйста:

#pas
function GetPos:integer;
function GetPos2:integer; //IAR
{......}
SB_PAGERIGHT: inc(nPos,32);
SB_THUMBPOSITION: nPos := GetPos; //IAR
SB_THUMBTRACK: nPos := GetPos2; //IAR
{......}
function THIScrollBar.GetPos2; //added by IAR
var si:TScrollInfo;
begin
si.cbSize := sizeof(si);
si.fMask := SIF_TRACKPOS;
GetScrollInfo(Control.Handle,SB_CTL,si);
Result := si.nPos + _prop_Min;
end;

карма: 1

0
Ответов: 9906
Рейтинг: 351
#18: 2007-12-23 11:22:35 ЛС | профиль | цитата
iarspider писал(а):
Или ты хочешь конкретики, где и что исправить в кодах? Пожалуйста

Или хочешь
Ибо сказать, работает это или нет, можно только после этой конкретики
Говорю - не работает чего-то
карма: 9

0
Ответов: 5446
Рейтинг: 323
#19: 2007-12-23 11:26:13 ЛС | профиль | цитата
Пардон, ошибочка вкралась: в GetPos2 надо так:
#pas
Result := si.nTrackPos + _prop_Min;
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#20: 2007-12-23 11:34:20 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2025-01-18 22:38:11
карма: 0

0
Ответов: 5446
Рейтинг: 323
#21: 2007-12-23 11:38:12 ЛС | профиль | цитата
HELP, пока никуда. Это мы с сэром Галковым ведём учёную беседу, плоды которой (когда-нибудь) появятся на SVN.
карма: 1

0
Ответов: 9906
Рейтинг: 351
#22: 2007-12-23 11:44:31 ЛС | профиль | цитата
iarspider писал(а):
Пардон, ошибочка вкралась

А я ее проспал видимо - все так и есть.
Да и плевать на нее при _prop_Min=0
карма: 9

0
Ответов: 5446
Рейтинг: 323
#23: 2007-12-23 11:47:11 ЛС | профиль | цитата
Galkov, продолжаю изучать. При интервале срабатывания таймера 1000 мс - всё работает как и положено, и даже без блокировки принудительной установки позиции ползунка.
Однако при интервале 100 мс начинаются фокусы, а именно - чихать на нас ползунок хотел. Придётся-таки вводить блокировку...

------------ Дoбавленo:


Ошибочка не в "плюсовании", а в не том поле структуры:
MSDN:GetScrollInfo писал(а):

[in, out] Pointer to a SCROLLINFO structure. Before calling GetScrollInfo, set the cbSize member to sizeof(SCROLLINFO), and set the fMask member to specify the scroll bar parameters to retrieve. Before returning, the function copies the specified parameters to the appropriate members of the structure.
The fMask member can be one or more of the following values.

SIF_PAGE
Copies the scroll page to the nPage member of the SCROLLINFO structure pointed to by lpsi.
SIF_POS
Copies the scroll position to the nPos member of the SCROLLINFO structure pointed to by lpsi.
SIF_RANGE
Copies the scroll range to the nMin and nMax members of the SCROLLINFO structure pointed to by lpsi.
SIF_TRACKPOS
Copies the current scroll box tracking position to the nTrackPos member of the SCROLLINFO structure pointed to by lpsi.


карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#24: 2007-12-23 11:55:36 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2025-01-18 22:38:11
карма: 0

0
Ответов: 9906
Рейтинг: 351
#25: 2007-12-23 12:00:27 ЛС | профиль | цитата
Это зависит от того, что ты хочешь
карма: 9

0
Гость
Ответов: 17029
Рейтинг: 0
#26: 2007-12-23 12:04:57 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2025-01-18 22:38:11
карма: 0

0
Ответов: 5446
Рейтинг: 323
#27: 2007-12-23 12:35:12 ЛС | профиль | цитата
Во-первых, схему весом в 5 килобайт смотреть никто не будет.
Во-вторых, даже если кто-то и начнёт, то стиль исполнения а-ля ранний SMM (Мастер Монтажа) сильно отбивает желание разбираться.
В-третьих, наличие в схеме "потустороннего" элемента ProgressBarEx тоже не способствует развитию желания помочь.
Но мне (на твоё счастье) сегодня делать нечего, поэтому я продолжу разбор полётов.

И сразу вижу, что даже подсказки к точкам тебе прочитать лень, ибо если бы прочитал - то знал бы, что одного подключения точки Max элемента Counter недостаточно для установки максимального значения этого счётчика.
Дальнейший анализ схемы наводит на мысль, что арифметика в объёме школьной программы также не была освоена, ибо если бы была, то знали бы, что деление нуля на любое число, не равное нулю, даст только ноль (а при делении на ноль - неопределённость класса 0/0, но это уже высшая математика).

Схема просто кишит логическими ошибками. Детальный анализ исправлением ошибок и методическими рекомендациями вышлю за 10 WMZ. Подробности в личку.
карма: 1

0
Ответов: 9906
Рейтинг: 351
#28: 2007-12-23 12:45:08 ЛС | профиль | цитата
Тебе показали схему корректного бара
http://hiasm.com/forum.html?q=3&p=74761#p74761
http://hiasm.com/forum.html?q=3&p=74766#p74766

Или ты хочешь, чтобы мы глюки именно в твоей схеме искали
Так настроения лазить по завязанным узлом связям в 40 элементах - особого нет
Начни с такого стиля рисования, которое сам поймешь хотя бы
карма: 9

0
Разработчик
Ответов: 26300
Рейтинг: 2146
#29: 2007-12-23 12:45:50 ЛС | профиль | цитата
iarspider писал(а):
Детальный анализ исправлением ошибок и методическими рекомендациями вышлю за 10 WMZ

Бизнес есть бизнес, ничего личного...
карма: 22

0
Ответов: 9906
Рейтинг: 351
#30: 2007-12-23 12:46:21 ЛС | профиль | цитата
Хм...
Не поспел

карма: 9

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)