Extraoption einrichten



  • hallo!

    Kann man eventuell bei bestimmten komponenten eine "eigene" option einrichten?

    ich möchte die einzelnen felder eines stringgrids für mich mit einem zusätzlichem integer "ausrüsten", um ihnen verschiedene stati zuweisen zu können.

    greetz



  • du könntest eine neue Komponentn erstellen und diese von z.B. einem StringGrid ableiten, siehe z.B. diese Tutorial oder auch die BCB-Hilfe zur Komponentenentwicklung



  • just-another-programmer schrieb:

    ich möchte die einzelnen felder eines stringgrids für mich mit einem zusätzlichem integer "ausrüsten", um ihnen verschiedene stati zuweisen zu können.

    Vielleicht ist TStringGrid::Objects für dich ausreichend? Das sind zwar Zeiger auf TObject, aber da das StringGrid sie nicht freigibt o.ä., kannst du auch einen Integerwert darin unterbringen.

    Btw: es heißt status, nicht stati.



  • Hallo

    Ich glaube eher das just die Eigenschaften TStringGrid::Cols bzw. Rows sucht, über die er zu jeder Zelle ein beliebiges Objekt anfügen kann.
    Beispiel um der Zelle in der 3. Spalte und der 4. Zeile einen Integer zuzuweisen :

    int Status = 2;
    StringGrid1->Cols[2]->Objects[3] = reinterpret_cast<TObject*>(Status);
    

    Achtung : diese Zuweisung darfst du nur für Variablentypen machen deren Typgröße kleiner gleich dem vom Pointern ist (zum Beispiel int)! Für größere bzw. erweiterbare Type wie zum Beispiel AnsiString must du ein Wrapper von TObject ableiten und zuweisen (und desen Speicher manuell verwalten)

    /Edit : Gut TStringGrid::Objects ist natürlich direkter.

    bis bald
    akari


Anmelden zum Antworten