Programmierung

SelectorItem im RecView

In dem Artikel Anzeigen verknüpfter Datensätze im RecView-Objekt bin ich auf die Möglichkeit eingegangen, sich verknüpfte Datensätze im RecView ausgeben zu lassen. Der folgende Artikel beschäftigt sich damit, die Eigenschaften eines RecViews zur Laufzeit zu verändern.

Es ist notwendig zu wissen, dass jede Zeile eines Views aus Gruppen aufgebaut ist. Diese werden zur Laufzeit für jeden angezeigten Datensatz angelegt. Die Gruppe ist der Container, welcher die Items und SubItems enthält.

Aufbau des RecViews

Jede Column wird zur Laufzeit bei der Erstellung der Group als Item kopiert. Dieses Item erhält automatisch die Eigenschaften der Spalte.
Eine Spalte kann mehrere untergeordnete Spalten, sogenannte SubColumns, enthalten. Jede SubColumn wird zur Laufzeit als SubItem kopiert.
Im Ereignis EvtLstGroupInit können die Eigenschaften des Items geändert werden. Um dies zu erreichen muss das Item mit der Eigenschaft wpSelectorItem aus der Gruppe ausgewählt werden. Die Nummer, mit welcher ein Item angesprochen werden kann, ist identisch mit der Nummer aus der Definition der Spalten im RecView.
Um die Eigenschaften eines SubItems zu ändern, muss zusätzlich die Eigenschaft wpSelectorSubItem der Gruppe auf die Nummer des SubItems gesetzt werden.

Hier wurden SubItems eingesetzt, um eine mehrzeilige Darstellung zu ermöglichen. Die Eigenschaft AreaTop wurde dementsprechend angepasst.

Ist das Item und das SubItem nun gesetzt, können zur Laufzeit die Eigenschaften nach Belieben verändert werden.

Sub EvtLstGroupInit
(
   aEvt      : event;    // Ereignis
   aRecBuf   : handle;   // Datensatzpuffer
   aGroup    : handle;   // Gruppe
   aViewId   : int;      // Nummer des View
)
: logic;
{
   aGroup->wpGroupColBkg # ColorRgbMake(245,245,175);

   aGroup->wpSelectorItem # 1;
   aGroup->wpClmColFg # _WinColGreen;
   aGroup->wpClmAlign # _WinClmAlignLeft;
   aGroup->wpBorderType # _WinBorderTypeSolidTop;

   aGroup->wpSelectorItem # 2;
   aGroup->wpClmColBkg # ColorRgbMake(240,250,255);
   aGroup->wpFont # FontMake('Tahoma',100,_WinFontAttrBold);
   aGroup->wpClmAlign # _WinClmAlignCenter;
   aGroup->wpBorderType # _WinBorderTypeSolidTop;

   aGroup->wpSelectorItem # 3;
   aGroup->wpFont # FontMake('Informal Roman',130,_WinFontAttrNormal);
   aGroup->wpClmAlign # _WinClmAlignLeft;
   aGroup->wpBorderType # _WinBorderTypeSolidTop;

   aGroup->wpSelectorSubItem # 1;
   aGroup->wpVisible # FALSE;
}

Somit können Sie das Aussehen des RecViews nach Ihrem Bestreben hin anpassen bzw. ändern.

Keine Kommentare

Kommentar abgeben