Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.04.01;
Скачать: CL | DM;

Вниз

ComboBox в ячейке StringGrid   Найти похожие ветки 

 
Nikita_M   (2011-12-12 18:29) [0]

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


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

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;


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

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


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

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


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

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


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


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

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


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

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


 
Anatoly Podgoretsky ©   (2011-12-13 09:37) [7]

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

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



Страницы: 1 вся ветка

Текущий архив: 2012.04.01;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.008 c
2-1323700171
Nikita_M
2011-12-12 18:29
2012.04.01
ComboBox в ячейке StringGrid


15-1322315078
Правильный$Вася
2011-11-26 17:44
2012.04.01
Долгая установка Win7


15-1322598602
Юрий
2011-11-30 00:30
2012.04.01
С днем рождения ! 30 ноября 2011 среда


2-1323787418
tj.nelson
2011-12-13 18:43
2012.04.01
Помогите разобраться с реестром windows 7


15-1323165693
Scott Storch
2011-12-06 14:01
2012.04.01
обозвать поля