主页

论坛:“主要”;
当前存档:2002.01.08;
下载:[xml.tar.bz2];
向下

Создать выпадающий список в StringGride, типа Lookup в DBGride 找到类似的分支


Кто нибудь делал?   (2001-12-14 08:12) [0]

Пробовал создавать форму с BorderStyle=bsNone а на ней ListBox, работает, но во время ее появления заголовок формы становиться неактивным.
При использовании компонентов, они не могут выйти за пределы формы.
Может кто уже поборол подобное.



Владислав   (2001-12-14 08:47) [1]

Может контекстное меню попробовать?



Кто нибудь делал?   (2001-12-14 09:04) [2]

Спасибо Владислав.
Я уже думал об этом: морока с перерисовкой, нужно, что бы выглядело как нормальный выпадающий список.
Может можно окну задать какой стиль, что бы оно не деактивировло основное?



Владислав   (2001-12-14 10:42) [3]

Могу тебе скинуть небольшой пример (на скорую руку). Может чем-то поможет.



Mark_a   (2001-12-15 11:16) [4]

На форме должен быть StringGrid и ComboBox
Используйте следующий код:

procedure TForm1.FormCreate(Sender:TObject);
开始
{Высоту combobox"а не изменишь, так что вместо combobox"а
будем изменять высоту строки grid"а !}
StringGridXNUMX.DefaultRowHeight := ComboBoxXNUMX.Height;
StringGridXNUMX.Cells[XNUMX]:= "Здесь выпадает список";
{Спрятать combobox}
ComboBoxXNUMX.Visible := False;
ComboBoxXNUMX.Items.Add("Первый пункт");
ComboBoxXNUMX.Items.Add("Второй пункт");
结束;

procedure TFormXNUMX.ComboBoxXNUMXChange(Sender: TObject);
开始
{Перебросим выбранное в значение из ComboBox в grid}
StringGridXNUMX.Cells[StringGridXNUMX.Col, StringGridXNUMX.Row] :=
ComboBoxXNUMX.Items[ComboBoxXNUMX.ItemIndex];
ComboBoxXNUMX.Visible := False;
StringGridXNUMX.SetFocus;
结束;

procedure TFormXNUMX.StringGridXNUMXSelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
VAR
R:TRect;
开始
if ((ACol = XNUMX) AND (ARow <> XNUMX)) then
begin
{Ширина и положение ComboBox должно соответствовать
ячейке StringGrid}
R := StringGridXNUMX.CellRect(ACol, ARow);
R.Left := R.Left + StringGridXNUMX.Left;
R.Right := R.Right + StringGridXNUMX.Left;
R.Top := R.Top + StringGridXNUMX.Top;
R.Bottom := R.Bottom + StringGridXNUMX.Top;
ComboBoxXNUMX.Left := R.Left + XNUMX;
ComboBoxXNUMX.Top := R.Top + XNUMX;
ComboBoxXNUMX.Width := (R.Right + XNUMX) - R.Left;
ComboBoxXNUMX.Height := (R.Bottom + XNUMX) - R.Top;
{Покажем combobox}
ComboBoxXNUMX.Visible := True;
ComboBoxXNUMX.SetFocus;
end;
CanSelect:= True;
结束;




vlv(2001-12-15 11:43) [5]

В библиотеке RX есть класс что-то типа TPopupWindow...




Страницы: 1 整个分支

论坛:“主要”;
当前存档:2002.01.08;
下载:[xml.tar.bz2];

楼上

Top.Mail.Ru Yandeks.Metrika













内存:0.78 MB
时间:0.115 c
3-21980
亚历山大
XNUMX-XNUMX-XNUMX XNUMX:XNUMX
2002.01.08
如何在程序中创建连接字符串TADOConnection?


4-22497
Syrius
XNUMX-XNUMX-XNUMX XNUMX:XNUMX
2002.01.08
Delphi XNUMX и WinXNUMX API


1-22121
斯大林
XNUMX-XNUMX-XNUMX XNUMX:XNUMX
2002.01.08
新问题:+(


3-21940
塞里克
XNUMX-XNUMX-XNUMX XNUMX:XNUMX
2002.01.08
InterBase & VisualC++


1-22214
T2
XNUMX-XNUMX-XNUMX XNUMX:XNUMX
2002.01.08
BMP XNUMX RichEdit





南非荷兰语 阿尔巴尼亚人 阿拉伯语 亚美尼亚 阿塞拜疆 巴斯克 白俄罗斯 保加利亚语 加泰罗尼亚 简体中文 中国(繁体) 克罗地亚 捷克 丹麦语 荷兰人 英语 爱沙尼亚语 菲律宾人 芬兰 法文
加利亚西语 格鲁吉亚语 德语 希腊语 海地克里奥尔语 希伯来语 印地语 匈牙利 北日耳曼语 印度尼西亚人 爱尔兰语 意大利语 日语 韩语 拉脱维亚 立陶宛 马其顿 马来语 马耳他语 挪威语
波斯语 波兰语 葡萄牙语 罗马尼亚 俄语 塞尔维亚 斯洛伐克 斯洛文尼亚 西班牙语 斯瓦希里 瑞典语 泰国人 土耳其 乌克兰 乌尔都语 越南人 威尔士语 意第绪语 孟加拉 波斯尼亚
宿务 世界语 古吉拉特语 豪萨语 苗族 伊博 爪哇 卡纳达语 高棉 老挝 拉丁语 毛利 马拉 蒙古人 尼泊尔 旁遮普 索马里 泰米尔人 泰卢固语 约鲁巴语
祖鲁
英文 Французский Немецкий Итальянский Португальский 俄文 Испанский