Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   ComboBox im StringGrid für bestimmte Zeilen deaktivieren (https://www.delphipraxis.net/194202-combobox-im-stringgrid-fuer-bestimmte-zeilen-deaktivieren.html)

lucy 27. Okt 2017 18:14

ComboBox im StringGrid für bestimmte Zeilen deaktivieren
 
Hallo,
wenn ein bestimmter Wert in einer Spalte steht zB. "Hallo" soll in dieser Zeile die ComboBox gesperrt werden.

Hier wird die ComboBox weiterhin Angezeigt?

Delphi-Quellcode:
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
  var CanSelect: Boolean);
var
  R: TRect;
  org: TPoint;
begin
   if (stringgrid1.Cells[4,StringGrid1.Row]='hallo') then
    begin
    // CanSelect := FALSE;
    end else
     begin
  if (ACol = 6) and (ARow >= StringGrid1.FixedRows) then begin
    StringGrid1.Perform(WM_CANCELMODE, 0, 0);
    R := StringGrid1.CellRect(ACol, ARow);
    org := self.ScreenToClient(self.ClientToScreen(R.TopLeft));
    with ComboBox1 do begin
      SetBounds(org.X, org.Y, R.Right-R.Left, Stringgrid1.Height);
      ItemIndex := Items.IndexOf(StringGrid1.Cells[ACol, ARow]);
      Show;
      BringToFront;
      SetFocus;
      DroppedDown := true;
    end;
    end;
  end;

lucy 27. Okt 2017 18:32

AW: ComboBox im StringGrid für bestimmte Zeilen deaktivieren
 
Hallo,

der Fehler wurde behoben :oops:
Hat sich erledigt :-)

Glados 27. Okt 2017 19:40

AW: ComboBox im StringGrid für bestimmte Zeilen deaktivieren
 
Nur als Anmerkung: versuche immer ohne
Delphi-Quellcode:
with
zu arbeiten. Das kann u.U. große Probleme verursachen und unzählige Nerven bei der Fehlersuche kosten.

TigerLilly 28. Okt 2017 08:53

AW: ComboBox im StringGrid für bestimmte Zeilen deaktivieren
 
Zitat:

Zitat von lucy (Beitrag 1384367)
Hallo,

der Fehler wurde behoben :oops:
Hat sich erledigt :-)

Und wenn du auch sagst wie + was, haben alle was davon.

mkinzler 28. Okt 2017 09:23

AW: ComboBox im StringGrid für bestimmte Zeilen deaktivieren
 
Ich würde auch nicht mit der festen Instanz StringGrid1 arbeiten, sondern die die dir übergeben wurde (Sender).
Hast Du mal mehrere Grids oder benennst das eine um, funktioniert es dann auch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz