![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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;