Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.024 Beiträge
 
Delphi 12 Athens
 
#2

AW: OnSelect von ComboBox mit Parent StringGrid wird nicht ausgelöst

  Alt 17. Aug 2022, 16:02
Das liegt an TCustomGrid.WMCommand, das versäumt ein inherited aufzurufen, wenn es mit dem NotifyCode nichts anfangen kann.

Abhilfe kann z.B. eine Interposer Klasse für TStringGrid liefern, die das entsprechend umsetzt, ist aber unschön.

Etwas aufwändiger, aber weniger invasiv: Zwischen ComboBox und StringGrid ein TPanel als Parent legen. Hier das Prinzip:
Delphi-Quellcode:
  ComboBox_aktiv := TComboBox.Create(self);

  var panel := TPanel.Create(Self);
  panel.BevelOuter := bvNone;
  panel.AutoSize := True;
  panel.Parent := StringGrid1;
  with ComboBox_aktiv do
    begin
      Parent := panel;
// Parent := Form5;

      Style := csDropDownList;
      Visible := false;

      Items.Add('aus');
      Items.Add('ein');

      OnSelect := ComboBox_OnSelect;
      OnExit := ComboBox_OnExit;
    end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat