Casa
Top.Mail.Ru Yandeks.Metrika
Foro: "Principal";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];
abajo

Создать выпадающий список в StringGride, типа Lookup в DBGride Encontrar ramas similares


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

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


Vladislav (2001-12-14 08:47) (1)

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


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

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


Vladislav (2001-12-14 10:42) (1)

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


Mark_a   (2001-12-15 11:16) (1)

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

procedimiento TForm1.FormCreate (Sender: TObject);
comenzar
{Высоту combobox"а не изменишь, так что вместо combobox"а
будем изменять высоту строки grid"а !}
StringGrid1.DefaultRowHeight := ComboBox1.Height;
StringGrid1.Cells[3,0]:= "Здесь выпадает список";
{Спрятать combobox}
ComboBox1.Visible := False;
ComboBox1.Items.Add("Первый пункт");
ComboBox1.Items.Add("Второй пункт");
fin;

procedure TForm1.ComboBox1Change(Sender: TObject);
comenzar
{Перебросим выбранное в значение из ComboBox в grid}
StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] :=
ComboBox1.Items[ComboBox1.ItemIndex];
ComboBox1.Visible := False;
StringGrid1.SetFocus;
fin;

procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
var
R: TRect;
comenzar
if ((ACol = 3) AND (ARow <> 0)) then
comenzar
{Ширина и положение ComboBox должно соответствовать
ячейке StringGrid}
R := StringGrid1.CellRect(ACol, ARow);
R.Left := R.Left + StringGrid1.Left;
R.Right := R.Right + StringGrid1.Left;
R.Top := R.Top + StringGrid1.Top;
R.Bottom := R.Bottom + StringGrid1.Top;
ComboBox1.Left := R.Left + 1;
ComboBox1.Top := R.Top + 1;
ComboBox1.Width := (R.Right + 1) - R.Left;
ComboBox1.Height := (R.Bottom + 1) - R.Top;
{Покажем combobox}
ComboBox1.Visible := True;
ComboBox1.SetFocus;
fin
CanSelect: = True;
fin;



vlv2001-12-15 11:43) (1)

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



Páginas: 1 rama entera

Foro: "Principal";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];

arriba















Memoria: 0.82 MB
Tiempo: 0.053 c
6-22301
Chino que
2001-10-10 14:45
2002.01.08
¿Esclerosis o qué?


14-22397
muerto
2001-11-10 18:49
2002.01.08
У кого- нибудь есть GIF или JPG контурной карты мира?


6-22282
Maamed
2001-10-08 10:08
2002.01.08
AYUDA AYUDA !!! antes de 01 / 11 ¿Cómo escribir un programa para trabajar en Pocket CE?


1-22133
Sand Worm
2001-12-19 14:55
2002.01.08
Frame


1-22016
leviatán
2001-12-13 23:05
2002.01.08
Forma de aparición





africaans albanés Arabic armenio Azerbaiyán vasco Bielorruso Bulgarian Catalán Chino (simplificado) Chino (tradicional) Croata Checo Danés Dutch Inglés Estonia filipina Finnish Francés
gallego georgiano Alemán Griego criollo haitiano hebreo hindi Húngaro islandés Indonesian irlandés Italiano Japonés Korean letón lituano macedonio Malay maltés Noruego
persa polaco Portuguese rumano Ruso Serbio Slovak Esloveno Español swahili Sueco Thai turco ucranio Urdu vietnamita galés yídish bengalí bosnio
cebuano esperanto gujarati hausa hmong igbo javanés kannada khmer lao latín maorí marathi mongol nepali punjabi somalí Tamil telugu yoruba
zulú
Английский Francés Alemán Italiano portugués Русский Español