I am having a problem with a Quickwin project that worked fine with CVF 6.6. (I am running the executable in Win 7 / 64.) This project uses two child windows: one for text I/O and one for graphics. The problem is that when the text finally reaches the bottom of the text I/O window, most of the last line is cut off and cannot be seen. This can be fixed by slightly dragging the lower right edge of the window inward to make a vertical scrollbar appear. If I drag the scrollbar to the bottom, the text is no longer cut off and new text continues to be visible, but if I pull the right size of the window to the right with the mouse, the vertical scrollbar disappears and the text is cut off again.
In CVF, no scrollbars appeared in the text window and this problem did not occur. In IVF, a horizontal scrollbar appears when the window is first opened. I can find no documentation on how (or if it is even possible) to control the appearance of scrollbars in a Quickwin child window.
I can't help but think that this is a bug in the IVF Quickwin runtime.
Here is the code the opens the text window:
SUBROUTINE TweakConsole (nrows, ncolumns) ! text window handling code starts here (from DVF support email 7/14/98) USE IFQWIN IMPLICIT NONE TYPE (windowconfig) wc TYPE(qwinfo) wci TYPE(rccoord) rc integer*4 irow, rowmoves, pagesize, i2res, nrows, ncolumns logical statuss character*1 ch real RES, TMP ! added these; original email had these as implicitly typed ! Use unit 6 for input and output ! It will always scroll down but lines will ! be lost at the top. open(unit=6,file="CON", CARRIAGECONTROL='FORTRAN') !set the scrollable screen fairly small wc%numtextrows = nrows ! number of scrollable rows+2 wc%numtextcols = ncolumns ! number of scrollable cols wc%numxpixels = -1 wc%numypixels = -1 wc%numcolors = -1 wc%mode = QWIN$SCROLLDOWN wc%title = "Terminal Window"C wc%fontsize = #00080010 ! try to set with user values statuss = setwindowconfig(wc) ! if that fails, try again with system computed values if(.not. statuss) tmp = setwindowconfig(wc) i2res = displaycursor($GCURSORON) ! turn cursor on ! Set the size of window to be actually seen ! be the same or slightly bigger WCI.TYPE = QWIN$SET WCI.X = 0 ! was 10 WCI.Y = 0 ! was 2 WCI.H = wc%numtextrows+3 ! lines hi WCI.W = wc%numtextcols+2 ! chars across RES = SETBKCOLOR(15) RES = SETTEXTCOLOR(0) CALL CLEARSCREEN($GCLEARSCREEN) STATUSS = SETWSIZEQQ(6,WCI) END SUBROUTINE TweakConsole