ich habe ein Problem beim Erstellen eines Browse-Dialogs.
Ich arbeite normal mit einer Zeilen/Spalten angabe in meinen Dialogen (nicht Pixelwerte)
Habe einen Grund GUI Dialog erstellt, auf dem meine Applikations-Dialoge ablaufen sollen. Diesen GrundDialog kann ich überall mit RootWindow() abfragen.
Nun rufe ich meine Function test() auf, in der ein DCBROWSE erscheinen soll.
Der erzeugte Dialog ist jedoch viel breiter als das Fenster, das mir RootWindow() zur Verfügungs stellt.
Die Höhe passt, jedoch die Breite ( es wären insg. 155 Spalten anzuzeigen) ist etwa 30% größer als das erzeugte Dialog-Fenster.
Durch verschieben des erzeugten Dialog-Fensters innerhalb des RootWindows kann alles angezeigt werden.
Die Horizontal-Scroll-Leise ist übrigens zu 100% ausgefüllt.
Kann jemand erkennen, was in der Fkt test() der Fehler sein könnte ?
Der Dialog müßte doch eigentlich durch die FIT Anweisung selbsständig die Größe reduzieren ?
Code: Alles auswählen
FUNCTION test()
LOCAL oDlg, GetOptions, GetList := {}
LOCAL aFus :={}
LOCAL nKopf := 1
LOCAL oBrowse
PRIVATE nColPixels := 10
PRIVATE nRowPixels:= 20
* -------------------------------------------------------------------------
cAlias := ALIAS()
* -------------------------------------------------------------------------
@ 0.1,0.1 DCBROWSE oBrowse;
ALIAS cAlias;
SIZE 79,23;
FIT ;
FREEZELEFT 1;
PRESENTATION DC_BrowPres()
*-------------------------------------------
nSpalten := myBrowseSpalten(Getlist,@oBrowse,aReSpa) // nun alle Spalten definieren
* in nSpalten steht die Summe der benötigten Spalten (nicht PIXEL-Wert) zurückgegeben z.B. 155
*-------------------------------------------
* Forschleife innerhalb myBrowseSpalten()
* DCBROWSECOL DATA bFldBlock ;
* COLOR bColor ;
* WIDTH nDbfFeldBreite*nColPixels PIXEL ;
* PICTURE alltrim(aSpaDef[i,3]);
* HEADER alltrim(aSpaDef[i,1]);
* PARENT oParent
*-------------------------------------------
DCGETOPTIONS ;
NOMINBUTTON NOMAXBUTTON ;
WINDOWHEIGHT 25*nRowPixels ;
WINDOWWIDTH 80*nColPixels
DCREAD GUI TITLE 'Test';
PARENT @oDlg;
APPWINDOW RootWindow(); // Grund-Dialog Fenster
CLEAREVENTS;
FIT;
OPTIONS GetOptions;
SETFOCUS @oBrowse
RETURN NIL