2017-02-13 3 views
1

XmNvisibleItemCount soll die Anzahl der sichtbaren Elemente in einer Liste zurückgeben. Leider gibt es nicht die richtigen Werte zurück, wenn ich die Größe des Fensters ändere.XmNvisibleItemCount gibt beim Ändern der Fenstergröße nicht die korrekte Anzahl der Elemente zurück.

XtVaGetValues(myWidget, XmNvisibleItemCount, &vic, XmNitemCount, &ic, NULL); 

Die oben genannten Erträge nine jedes Mal, die die Anzahl der Elemente in der Liste sichtbar ist, wenn mein Fenster geöffnet wird. Wenn ich das Fenster jedoch verkleinere, ist es immer noch nine! Trotz der sichtbaren Elemente ist three, wenn ich das Fenster schrumpfen oder eleven, wenn ich das Fenster erweitern.

Wie bekomme ich XmNvisibleItemCount die richtige Anzahl der sichtbaren Elemente in einer Liste zurückgegeben, wenn ein Fenster die Größe ändert?

+0

Das riecht stark nach dem X-Y-Problem. Was willst du erreichen? – tofro

Antwort

2

Das XmNvisibleItemCount wird nicht während der Größenänderung vom Widget festgelegt, sondern vom Programmierer, wenn das Widget erstellt wird. Wenn die XmList ein Kind eines Manager-Widgets ist, das seine Größe verwaltet, wird das Attribut ignoriert.

Wenn Sie die Anzahl der sichtbaren Elemente wissen möchten (was wäre das denn gut?), Müssen Sie dies anhand der Artikelhöhe und der Listenabmessungen selbst berechnen.

Verwandte Themen