KGrid mit TComboBox wenn Maus über Zelle.

Rund um die LCL und andere Komponenten
Antworten
RUB
Beiträge: 15
Registriert: Do 5. Nov 2009, 13:02

KGrid mit TComboBox wenn Maus über Zelle.

Beitrag von RUB »

Ich möchte in einem Grid eine Combobox einbauen was mir auch schon gelingt, ober sie soll auch angezeigt werten wenn ich mit der Maus über der Zelle bin. Die Combobox sollte natürlich beim ersten Klick auf den Pfeil Aufgehen.

kann mir einer sagen wie ich das mache?
Danke schon einmal im voraus.


Gruß Bernd

Benutzeravatar
theo
Beiträge: 10871
Registriert: Mo 11. Sep 2006, 19:01

Re: KGrid mit TComboBox wenn Maus über Zelle.

Beitrag von theo »

Meinst du wirklich KGrid?
Dann würde ich mal hier fragen: http://www.tkweb.eu/en/delphicomp/kgrid.html" onclick="window.open(this.href);return false;

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: KGrid mit TComboBox wenn Maus über Zelle.

Beitrag von monta »

Ja, er meint wohl wirklich KGrid.

Das "Problem" tritt nähmlich selbst in der Demo auf. Solange die Zelle nicht den Fokus hat, wird der Wert ganz normal angezeigt. Erst, wenn die Zelle zum bearbeiten ausgewählt wird, sieht man auch, das sich darin eine TComboBox versteckt.
Johannes

RUB
Beiträge: 15
Registriert: Do 5. Nov 2009, 13:02

Re: KGrid mit TComboBox wenn Maus über Zelle.

Beitrag von RUB »

Ich hab mir jetzt folgende procedure hinzugefügt:

procedure TForm1.KGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var Col,Row:Integer;
begin
//KGrid1.SetFocus;
KGrid1.MouseToCell(X,y,Col,Row);
if (Col and Row) <> 0 then
begin
KGrid1.Col:=Col;
KGrid1.Row:=Row;
end;
end;

Aber leider ist jetzt immer der Fokus weg wenn die Maus beim Schreiben verrutscht.
gibt es eine Möglichkeit die ComboBox anzuzeigen ohne den Fokus zu wechseln?

Benutzeravatar
theo
Beiträge: 10871
Registriert: Mo 11. Sep 2006, 19:01

Re: KGrid mit TComboBox wenn Maus über Zelle.

Beitrag von theo »

monta hat geschrieben: Das "Problem" tritt nähmlich selbst in der Demo auf. Solange die Zelle nicht den Fokus hat, wird der Wert ganz normal angezeigt. Erst, wenn die Zelle zum bearbeiten ausgewählt wird, sieht man auch, das sich darin eine TComboBox versteckt.
Naja, eigentlich ist das ja auch ganz normal und ressourcenschonend. Der Objekt-Inspektor funktioniert ja bspw. auch so.

RUB
Beiträge: 15
Registriert: Do 5. Nov 2009, 13:02

Re: KGrid mit TComboBox wenn Maus über Zelle.

Beitrag von RUB »

Ihr könnt mir auch ein anderes Grid Vorschlagen das einfach zu benutzen ist.
Momentan bin ich noch am Testen.
Die Funktion kenne ich aus einer Software die mir auf der Arbeit benutzen,
und finde die überaus praktisch formalem in Verbindung mit einem SpinEdit.

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: KGrid mit TComboBox wenn Maus über Zelle.

Beitrag von Hitman »

Also ich denke das Standardverhalten ist schon gut so. Mal doch lieber in die Zelle mit der Combobox noch irgendein Symbol mit rein (ggf. nur, wenn die Maus darüber ist), so dass der Nutzer sieht "aha, hier kann ich noch editieren".

RUB
Beiträge: 15
Registriert: Do 5. Nov 2009, 13:02

Re: KGrid mit TComboBox wenn Maus über Zelle.

Beitrag von RUB »

Dan müsste sich das Symbol beim Ändern des Themes mit Ändern.
Ich Probiere jetzt das Lazarus Beispiel "GridCellEditor",
mit zwei Combobox aus:
1. normal für das Berabeiten
2. bei "StringGrid1MouseMove" und nicht aktiver Zelle

das Sollte eigentlich dann auch mit dem KGrid funktionieren.

Antworten