Keine Events für VCL Komponenten mit TStringGrid als Parent



  • Hallo,

    ich habe ein TStringGrid, bei dem ich für jede Zeile eine TComboBox in einer Spalte anzeige. Die TComboBox hat das StringGrid als Parent, damit es sich im gleichen Koordinatensystem befindet und beim Scrollen richtig geclippt wird. Ich kann die ComboBox ganz normal bedienen, allerdings wird kein Event für die Auswahl ausgelöst, weder OnChange noch OnSelect. Hier ist der Code, mit dem ich die Comboboxen erzeuge:

    // Anzahl der Comboboxen anpassen
    if( GridSeries->RowCount > m_ComboBoxes.size() )
    {
       // neue Comboboxen hinzufügen
       while( GridSeries->RowCount > m_ComboBoxes.size() )
       {
          // Combobox erzeugen
          ComboBoxPtr_t pCbx( new TComboBox( this ) );
          pCbx->Parent         = GridSeries;
          pCbx->Items->Add( "#Left#" );
          pCbx->Items->Add( "#Right#" );
          pCbx->ItemIndex      = 0;
          pCbx->DropDownCount  = 2;
          pCbx->Style          = csOwnerDrawVariable;
          pCbx->Font->Name     = "Tahoma";
          pCbx->Font->Height   = -9;
          pCbx->ItemHeight     = 11;
          pCbx->Tag            = m_ComboBoxes.size();
          pCbx->OnSelect       = OnCbxSeriesAxis;
          pCbx->OnChange       = OnCbxSeriesAxis;
    
          // ComboBox in Vector einfügen
          m_ComboBoxes.push_back( pCbx );
       }
    }
    else
    {
       // überzählige ComboBoxes entfernen
       m_ComboBoxes.resize( GridSeries->RowCount );
    }
    

    Habe ich da irgendwo eine Einstellung übersehen/vergessen? Muss man dem StringGrid noch irgendwas sagen, damit bei den Comboboxen etwas ankommt, sodass sie das Ereignis auslösen können?



  • So, probiert, gefunden: Auf das Ereignis OnExit reagiert die Combobox, damit hat sich das Problem erledigt.


Anmelden zum Antworten