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

Вниз

StringGrid+ComboBox?   Найти похожие ветки 

 
faost ©   (2004-07-15 17:07) [0]

Нужно, чтоб слева был список слов (допустим в StringGrid с о одной колонной), а справа от каждого слова был ComboBox. В ручную компоненты не рассатвишь - количество слов заранее не известно, тем более не умещается на экран.


 
clickmaker ©   (2004-07-15 17:09) [1]

Необязательно же сразу расставлять все комбобоксы. Он ведь требуется тока в момент выбора из конкретной ячейки наверно?


 
faost ©   (2004-07-15 17:16) [2]

Ну да


 
faost ©   (2004-07-15 17:17) [3]

Ну я сделал сначала, чтоб сначала выбирается конкретная ячейка, затем уже в комбо буксе, который сверху лежит. Но начальник сказал, что нужно именно так (как я выше написал).


 
clickmaker ©   (2004-07-15 17:29) [4]

ComboBox.Parent := Grid;
R := Grid.CellRect(Col, Row);
ComboBox.BoundsRect := R;


 
faost ©   (2004-07-15 17:44) [5]

Вроде все работает, только как то мерцает (это ладно). Только теперь ComboBox не раскрывается...


 
faost ©   (2004-07-15 17:48) [6]

Я еще по другому попробовал сделать:
cbImport.Top := ARow*sgMain.DefaultRowHeight + sgMain.Top+ARow;
Но так при скроллинге Грида Комбо теряется естественно, а события Грида OnMouseWheelDown и Up почему-то не работают (они же вроде отвечают за скроллинг)


 
faost ©   (2004-07-15 18:01) [7]


ComboBox.Parent := Grid;
R := Grid.CellRect(Col, Row);
ComboBox.BoundsRect := R;


clickmaker, так почему ж не работает после этого ComboBox?


 
GEN++ ©   (2004-07-15 20:57) [8]

Делайте таблицу как "Инспектор объектов" в Delphi - понадобится
таблица из 2-х колонок и 1 ComboBox, который позиционируется в
соседней, с выбранной, ячейке. У меня Ваш код работает прекрасно.

Var
R:TRect;
begin
ComboBox.Parent := Grid;
R := Grid.CellRect(1, Row);
ComboBox.BoundsRect := R;
....
end;


 
faost ©   (2004-07-16 15:25) [9]

Спасибо, вродеб тоже все пашет.


 
faost ©   (2004-07-16 16:46) [10]

Теперь не работает
procedure TfmImport.cbImportChange(Sender: TObject);
begin
 sgMain.Cells[1, StrToInt(lbCell.Caption)] := cbImport.Text;
end;



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

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

Наверх




Память: 0.49 MB
Время: 0.032 c
1-1090231313
User_OKA
2004-07-19 14:01
2004.08.01
Горячая клавиша


3-1089372558
Sirruf
2004-07-09 15:29
2004.08.01
PickList в TColumnEh


6-1085641355
samalex2504
2004-05-27 11:02
2004.08.01
Пересылка массива данных типа float через Socket


1-1090308604
webpauk
2004-07-20 11:30
2004.08.01
Packed record & File


14-1089738290
VID
2004-07-13 21:04
2004.08.01
NetMeeting - как с ним работать ?