Beschränkte Größe eines Listenfelds in einem Dialogfenster?

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

smguenther
**
Beiträge: 23
Registriert: So, 22.04.2007 14:07

Beschränkte Größe eines Listenfelds in einem Dialogfenster?

Beitrag von smguenther »

Hallo,

ich nutze zur Ausgabe meiner Daten ein Listenfeld in einem Dialogfenster.
Das Dialogfenster erzeuge ich mit den folgenden Zeilen:

DialogLibraries.LoadLibrary("Standard")
Dlg=CreateUnoDialog(DialogLibraries.Standard.Dialog2)
ps = Dlg.PosSize
Dlg.setPosSize(ps.x,ps.y,"1380","900",com.sun.star.awt.PosSize.POSSIZE)
Dlg.Model.Title="Ergebnisse"
MyControl=Dlg.GetControl("ListBox1")

Im Dialogeditor habe ich ein Listenfeld angelegt, seltsamerweise ist dies aber in der Größe beschränkt. Obwohl das Dialogfenster eine Breite von 1300 Pixel hat, kann ich in den Eigenschaften des Listenfelds nur eine Breite von 437 Pixel auswählen, auch ein Vergrößern mit Hilfe der kleinen grünen Kästchen schlägt fehl.

Zur Verdeutlichung habe ich einen Screenshot der Eigenschaften des Listenfelds online gestellt:

http://www.in-put.de/fenster1.jpg (273 KB)

Und hier ein Screenshot, der das Listenfeld im Dialogfenster zeigt.

http://www.in-put.de/fenster2.jpg (700 KB)

Man sieht, das nach rechts noch viel Platz ist. Diesen Platz benötige ich, da die Ausgabe umfangreicher ist .Warum kann ich diesen Platz nicht dem Listenfeld zuweisen?

Ich habe dieses Phänomen unter den Versionen 2.2. und 2.3 auf XP festgestellt und sowohl mit einem Listenfeld, als auch mit einem Textfeld.

Danke für jeden Tipp,

Stefan
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Beschränkte Größe eines Listenfelds in einem Dialogfenster?

Beitrag von turtle47 »

Hi Stefan,

das Verhalten kann ich nicht bestätigen.
Wegen der Bildschirmauflösung habe ich die Breite des Dialogfensters mit "1024" festgelegt.
Die Listboxbreite ist mit 570 im Eigenschaftsfenster angegeben.
Wenn ich den Dialog starte ist die Listbox bis auf zwei ganz schmale Ränder links und rechts
genau so breit wie das Dialogfenster.
Listboxbreite.jpg
Listboxbreite.jpg (20.78 KiB) 990 mal betrachtet
Was passiert denn, wenn Du die Breite z.B. 700 manuell eingibst?
Wie füllst Du die Listbox?

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
smguenther
**
Beiträge: 23
Registriert: So, 22.04.2007 14:07

Re: Beschränkte Größe eines Listenfelds in einem Dialogfenster?

Beitrag von smguenther »

Hi Jürgen,
turtle47 hat geschrieben:Hi Stefan,

das Verhalten kann ich nicht bestätigen.
Dann besteht ja Hoffnung für mich :D
Wegen der Bildschirmauflösung habe ich die Breite des Dialogfensters mit "1024" festgelegt.
Die Listboxbreite ist mit 570 im Eigenschaftsfenster angegeben.
Wenn ich den Dialog starte ist die Listbox bis auf zwei ganz schmale Ränder links und rechts
genau so breit wie das Dialogfenster.
Listboxbreite.jpg
Was passiert denn, wenn Du die Breite z.B. 700 manuell eingibst?
Wie füllst Du die Listbox?

Jürgen
Ich fülle die Listbox mit den Werten aus einer SQL-Abfrage, habe es aber auch testweise für den Screenshot mit einem String versucht, indem ich das Wort "Wert" solange wiederholt habe, bis es nicht mehr in den sichtbaren Bereich paßte.

Wenn ich eine Breite von 700 eingebe, und in das nächste Eingabefeld des Eigenschaften-Dialogs klicken, wird die 700 sofort durch 444 ersetzt.

Gruß,

Stefan
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Beschränkte Größe eines Listenfelds in einem Dialogfenster?

Beitrag von turtle47 »

Hey Stefan,

Als Anhang mal meine Datei mit der Listbox.
smguenther hat geschrieben:Dlg.setPosSize(ps.x,ps.y,"1380","900",com.sun.star.awt.PosSize.POSSIZE)
Habe ich darin übernommen.
turtle47 hat geschrieben:Was passiert denn, wenn Du die Breite z.B. 700 manuell eingibst?
Habe ich auch übernommen.

Probiere das mal aus.

Viel Erfolg

Jürgen
Dateianhänge
ListBox.zip
(7.08 KiB) 46-mal heruntergeladen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
smguenther
**
Beiträge: 23
Registriert: So, 22.04.2007 14:07

Re: Beschränkte Größe eines Listenfelds in einem Dialogfenster?

Beitrag von smguenther »

Hallo Jürgen,
turtle47 hat geschrieben:Hey Stefan,

Als Anhang mal meine Datei mit der Listbox.
smguenther hat geschrieben:Dlg.setPosSize(ps.x,ps.y,"1380","900",com.sun.star.awt.PosSize.POSSIZE)
Habe ich darin übernommen.
turtle47 hat geschrieben:Was passiert denn, wenn Du die Breite z.B. 700 manuell eingibst?
Habe ich auch übernommen.

Probiere das mal aus.

Viel Erfolg

Jürgen
Deine Dialogbox erscheint in der von Dir vordefinierten Größe.
Ich habe es nun auf verschiedenen Rechnern getestet. Wenn ich die auf meinem Laptop entwickelte DB auf einem anderen Rechner teste, dann kann ich das Listenfeld nicht verändern.
Lösche ich das Listefeld, rufe die DB auf einem anderen Rechner auf und erstelle dann das Listenfeld in der gewünschten Größe, dann bleibt die Größe erhalten.
Offensichtlich hat die Installation (inkl. des Updates auf 2.3) auf meinem Laptop in diesem Detail einen Fehler, der auch auf anderen Rechnern eine Veränderung des Listenfelds nicht zuläßt - very strange!

Danke für Deine Hilfe,

Stefan
Antworten