Anonymous | Login | Signup for a new account | 01-11-24 00:13 UTC |
All Projects | SAS.Планета | Домен, сайт, форум, багтрекер | Доработка карты (ZMP) | Переводы и локализации | Прочее |
My View | View Issues | Change Log | Roadmap | Search |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
0001123 | SAS.Планета | [All Projects] Баг | public | 19-01-2012 05:42 | 09-08-2012 07:16 | ||||||||
Reporter | DJ VK | ||||||||||||
Assigned To | |||||||||||||
Priority | normal | Severity | tweak | Reproducibility | always | ||||||||
Status | confirmed | Resolution | open | ||||||||||
Platform | Windows | OS | XP | OS Version | SP3 | ||||||||
Product Version | 120808 | ||||||||||||
Target Version | 40xxxx | Fixed in Version | |||||||||||
Summary | 0001123: При выборе в списке масштабов последней видимой строки, срабатывает прокрутка | ||||||||||||
Description | Окно копирования, список масштабов. Если нижняя строка не влезает хотя бы на 1 пиксел в высоту, при попытке выбрать этот масштаб происходит 1. прокрутка. 2. выбор следующего масштаба!!! Ну с прокруткой то хрен бы, а вот второй эффект надо подавить. | ||||||||||||
Steps To Reproduce | Открывать в новой программе. По умолчанию высота списка масштабов чуть меньше чем кратная количеству строк. | ||||||||||||
Additional Information | Достаточно растянуть окно чтобы список масштабов был кратен и эффект пропадает. Но баг он и в африке баг. | ||||||||||||
Tags | windows 7 | ||||||||||||
Attached Files | fr_TilesCopy.pas [^] (4,821 bytes) 20-01-2012 09:50 | ||||||||||||
Notes | |
(0005107) Tolik (manager) 19-01-2012 07:11 |
Есть такое дело, причём было всегда. |
(0005119) DJ VK (manager) 20-01-2012 07:59 |
испытания показали, что выбор работает правильно, а вот отрисовка галочек глючит на экране. Это штатный компонент такой невеселый походу. |
(0005120) Tolik (manager) 20-01-2012 08:01 |
То есть кликаем 14, галочка ставится на 15, а копируется всё равно 14?? |
(0005121) DJ VK (manager) 20-01-2012 08:33 edited on: 20-01-2012 10:02 |
да. Можно переписать owner draw. Но проще перехватить мышку. uses Types, Messages, Windows, protected FOldListBoxProc: TWndMethod; procedure AdvListBoxProc(var Message: TMessage); constructor TfrTilesCopy.Create( .... begin .... FOldListBoxProc := chklstZooms.WindowProc; chklstZooms.WindowProc := AdvListBoxProc; end; procedure TfrTilesCopy.AdvListBoxProc(var Message: TMessage); var VRect: TRect; VIntegralHeight : Integer; VProc : Boolean; begin VProc := True; if( Message.Msg = WM_LBUTTONDOWN ) then begin Windows.GetClientRect(chklstZooms.Handle,VRect); if(PtInRect(VRect, Point(LOWORD(Message.LParam),HIWORD(Message.LParam)))) then begin VIntegralHeight := chklstZooms.ItemHeight * (chklstZooms.Height div chklstZooms.ItemHeight); if(HIWORD(Message.LParam) >= (VIntegralHeight + VRect.Top)) then VProc := False; end; end; if VProc then FOldListBoxProc(Message); end; |
(0005123) DJ VK (manager) 20-01-2012 09:51 |
Исправленный юнит приложил. прокрутка больше на происходит при левом щелчке. если есть желание можно перехватить и двойной щелчок. |
(0005154) DJ VK (manager) 21-01-2012 13:58 |
В Windows 7 не работает. |
(0005174) DJ VK (manager) 22-01-2012 11:41 |
грязный хак, да еще и не рабочий... Так назвал этот вариант решения vdemidov Ну а как ШТАТНЫЙ компонент с заведомо глючной отрисовкой исправить?? 1. написать свой компонет на основе этого override обработчик мыши? хак но не грязный. 2. написать свой компонент на основе этого с отрисовкой правильной? делать чужую работу 3. взять из новой версии дельфи? а нахрена тогда delphi 2007 4. взять из новой версии дельфи и заменить имена добавив в дистрибутив? 5. заменить на другой компонент, и нарастить внешние зависимости? |
(0005176) vdemidov (manager) 22-01-2012 12:25 |
Вы сами написали что в вин 7 не работает. Я проверил. Действительно не работает. Смысла городить огород ради исправление только в хрюше не вижу. Перейдем на боле новую делфу само исчезнет. |
Issue History | |||
Date Modified | Username | Field | Change |
19-01-2012 05:42 | DJ VK | New Issue | |
19-01-2012 05:45 | DJ VK | Summary | При выборе в списке масштабов последней строки, срабатывает прокрутка => При выборе в списке масштабов последней видимой строки, срабатывает прокрутка |
19-01-2012 07:11 | Tolik | Note Added: 0005107 | |
19-01-2012 07:11 | Tolik | Status | new => acknowledged |
20-01-2012 07:59 | DJ VK | Note Added: 0005119 | |
20-01-2012 08:01 | Tolik | Note Added: 0005120 | |
20-01-2012 08:33 | DJ VK | Note Added: 0005121 | |
20-01-2012 08:35 | DJ VK | Note Added: 0005122 | |
20-01-2012 09:49 | DJ VK | Note Deleted: 0005122 | |
20-01-2012 09:50 | DJ VK | File Added: fr_TilesCopy.pas | |
20-01-2012 09:51 | DJ VK | Note Added: 0005123 | |
20-01-2012 09:59 | DJ VK | Note Edited: 0005121 | View Revisions |
20-01-2012 10:02 | DJ VK | Note Edited: 0005121 | View Revisions |
21-01-2012 13:58 | DJ VK | Note Added: 0005154 | |
22-01-2012 11:41 | DJ VK | Note Added: 0005174 | |
22-01-2012 12:25 | vdemidov | Note Added: 0005176 | |
22-01-2012 15:07 | vdemidov | Target Version | => 40xxxx |
22-01-2012 18:34 | gpsMax | Tag Attached: windows 7 | |
01-02-2012 14:07 | vdemidov | Status | acknowledged => confirmed |
09-08-2012 07:16 | vdemidov | Product Version | .Nightly => 120808 |
My View | View Issues | Change Log | Roadmap | Search |
Copyright © 2007 - 2024 SAS.Planet Team |