xitsmex
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Итак, есть вопросы по стандартным багам VCL и их решениям. Покопался в инете - не отыскал. 1. Описание: TScrollBox, контрол внутри него. Некорректное скроллирование при переходе фокуса на внутренний контрол TScrollBox`a. Детали: Если в TScrollBox есть большой контрол, прокручиваем его куда хотим (фокус на него не ставим, только полосками прокрутки!). Затем ставим фокус на внутренний контрол (кликаем по нему) - ScrollBox прокрутится к самому началу. Пример: На фому TScrollBox, в него - TStringGrid БЕЗ собственных полос прокрутки, но по размеру больше, чем TScrollBox. Еще на форму TEdit - для масовки. Кликаем в Edit, прокручиваем полосы в ScrollBox в правый нижний угол, кликаем на угловой ячейке - вуаля, ScrollBox прокручивается на (0,0) и выделяет на часть таблицы. 2. Описание: TListView продолжает процесс выделения, если был exception (messagebox) после события WM_LBUTTON_DOWN. Детали: Если при нажатии левой кнопкой мыши из-за потери фокуса другим контролом нпоявится message box (например, вследствие exception), то после закрытия messagebox будет наблюдаться выделение в ListView. Пример: На форму TListView с MultiSelect = true и Edit (снова масовка), у Edit: procedure TfmDemo.Edit1Exit(Sender: TObject); begin if TEdit(Sender).Text = '1' then raise Exception.Create('!!!'); end; Вводим в Edit '1', нажимаем на ListView - exception. Жмем Ok - вуаля, в ListView бегают полосы выделения. |