![]() |
OnSelect von ComboBox mit Parent StringGrid wird nicht ausgelöst
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Zusammen,
ich habe einen merkwürdigen Fehler entdeckt. Ich habe ein StringGrid, in dem ich eine ComboBox anzeigen lasse (zum Auswählen von Werten in einer Zelle). Soweit funktioniert es wie gewollt. Von dem ComboBox nutz ich die Events OnSelect und OnExit. Eigenartigerweise, wenn ComboBox.Parent die StringGrid ist, dann wird das Event "OnSelect" der ComboBox nicht ausgelöst. "OnExit" aber schon. "OnChange" wird ebenfalls nicht ausgelöst. Ist die Form aber der Parent, dann funktioniert OnSelect. Anbei ein Beispiel-Projekt. Einfach in der zweiten Spalte auf die Zellen klicken und in der ComboBox etwas auswählen. OnExit allein ist für die Anwendung aber zu spät, da ich dafür wo anders klicken müsste, anstatt nur auszuwählen. Wie bekomm ich es nun dazu, OnSelect ausgelöst zu bekommen? |
AW: OnSelect von ComboBox mit Parent StringGrid wird nicht ausgelöst
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; |
AW: OnSelect von ComboBox mit Parent StringGrid wird nicht ausgelöst
Danke für den Tipp mit dem Panel.
Hab das jetzt mal im Testprojekt eingepflegt und es funktioniert wunderbar. War aber nicht wirklich aufwändig, man muss nur an ein paar Stellen ändern. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz