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

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

ComboBox в ячейке StringGrid


Nikita_M ©   (2011-12-12 18:29:00) 

Здравствуйте! Нужен совет мастеров. Нашел пример реализации ComboBoxа в ячейке StringGrid тут: http://www.delphisources.ru/pages/faq/base/combobox_in_stringgrid.htmlСделал,работает. Недостаток в том что теперь нельзя прокручивать StringGrid вверх или вниз колесом мыши как раньше,сразу становится видимым ComboBox(срабатывает OnSelectCell). Есть идея проверять в OnSelectCell крутится ли колесо мыши или пользователь делает клик на ячейке для вызова списка ComboBox? Только незнаю как сделать:(


Anatoly Podgoretsky   (2011-12-13 09:37:00) [1]

> Nikita_M  (13.12.2011 01:37:06)  [6]

А ComboBox и не предназначен для ввода через запятую, разрабатывай тогда
своего наследника, с нужной тебе реализацией


Nikita_M   (2011-12-13 01:37:00) [2]

В StringGrid пользователь вводит кучу разной инфы. Чтобы ускорить ввод, используются справочники(заполняемые ComboBox-ы). Трудность в том что в некоторых ячейках надо внести набор данных(несколько наименований через запятую). Пока использую вызов вспомогательного окна(ListBox с чекерами). Но это неудобно :( хотелось бы обойтись без вспомогательных окон...


mike   (2011-12-13 01:24:00) [3]


> Nikita_M   (13.12.11 01:12) [4]
>
> Все пашет,выручил! :) Еще раз СПАСИБО! Вот еще бы чекбокс
> к ComboBox как-нить прикрутить.. Но это наверно не возможно
> :(
>

Ты скажи зачем. И для чего.


Nikita_M   (2011-12-13 01:12:00) [4]

Все пашет,выручил! :) Еще раз СПАСИБО! Вот еще бы чекбокс к ComboBox как-нить прикрутить.. Но это наверно не возможно :(


KilkennyCat   (2011-12-13 00:45:00) [5]

ну, тогда рано спасибо... мож не заработает. я не тестировал.


Nikita_M   (2011-12-13 00:44:00) [6]

Спасибо Большое! Счас попробую.. :)


KilkennyCat   (2011-12-13 00:28:00) [7]

omMouseWheelDown и omMouseWheelDown, устанавливать флаг.

в onSelect проверять флаг, после проверки сбрасывать.

пример:
var
  myMouseWheeeel : boolean;

procedure TForm8.FormCreate(Sender: TObject);
begin
 myMouseWheeeel := false;
end;

procedure TForm8.strgrd1MouseWheelDown(Sender: TObject; Shift: TShiftState;
 MousePos: TPoint; var Handled: Boolean);
begin
 myMouseWheeeel := true;
end;

procedure TForm8.strgrd1MouseWheelUp(Sender: TObject; Shift: TShiftState;
 MousePos: TPoint; var Handled: Boolean);
begin
 myMouseWheeeel := true;
end;

procedure TForm8.strgrd1SelectCell(Sender: TObject; ACol, ARow: Integer;
 var CanSelect: Boolean);
begin
 if not myMouseWheeeel then begin
.... тут твой код, если мыша не колесит
 end else
    myMouseWheeeel := false;
end;


Наверх

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