Перейти к содержанию
Fire Monkey от А до Я
  • 0

[TComboBox] Как сделать открытие выпадающего списка по отпускании кнопки мыши?


haword

Вопрос

То есть, что бы список выскакивал не при нажатии на контрол а при отпускании. Проблема в том что листать списки с комбобоксами очень не удобно. любое касание комбобокса вызывает его список. Хорошо что бы было или настраиваемое или по умолчанию на тачевых устройствах вызов списка происходил при отпускании и при этом учитывалось двигался или нет контрол, что бы если был скролинг список не показывать. В нативном контроле так и реализовано. 

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

сделал но на костылях. изменил обработку onMouseDown 

procedure TCustomComboBox.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Single);
begin
  inherited;
  if not (ssTouch in Shift) and (Button = TMouseButton.mbLeft) then
    DropDown
  else
  if ssTouch in Shift then
  begin
    md_x:=x;
    md_y:=y;
    MouseMoved:=False;
  end;
end;

добавил еще две

procedure TCustomComboBox.MouseMove(Shift: TShiftState; X, Y: Single);
begin
  inherited;
  if ssTouch in Shift then
  begin
    if ((x > (md_x + 10)) or (x < md_x -10)) or ((y > (md_y + 10)) or (y < md_y -10)) then
      MouseMoved:=True;
  end;
end;

procedure TCustomComboBox.MouseUp(Button: TMouseButton; Shift: TShiftState; X,
  Y: Single);
begin
  inherited;
  if (not MouseMoved) and (ssTouch in Shift) then
    DropDown;
end;
то есть если тачем нажали на комбобокс и сдвинули палец то список не вызовется. костыль но вроде работает. хотя я уверен есть более красивое решение. 
Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...