QuickWin 関数:子ウィンドウのプロパティを設定します。
モジュール:USE DFLIB
形式
result = SETWINDOWCONFIG (wc)
wc
(入力) 構造型 windowconfig。ウィンドウ・プロパティを含みます。windowconfig 構造型 (\DF98\INCLUDE サブディレクトリの DFLIB.F90 に定義) は,以下のようになります。
TYPE windowconfig INTEGER(2) numxpixels ! Number of pixels on x-axis. INTEGER(2) numypixels ! Number of pixels on y-axis. INTEGER(2) numtextcols ! Number of text columns available. INTEGER(2) numtextrows ! Number of text rows available. INTEGER(2) numcolors ! Number of color indexes. INTEGER(4) fontsize ! Size of default font. Set to ! QWIN$EXTENDFONT when specifying ! extended attributes, in which ! case extendfontsize sets the ! font size. CHARACTER(80) title ! The window title. INTEGER(2) bitsperpixel ! The number of bits per pixel. INTEGER(2) numvideopages ! Unused. INTEGER(2) mode ! Controls scrolling mode. INTEGER(2) adapter ! Unused. INTEGER(2) monitor ! Unused. INTEGER(2) memory ! Unused. INTEGER(2) environment ! Unused. ! The next three parameters provide extended font ! attributes. CHARACTER(32) extendfontname ! The name of the desired font. INTEGER(4) extendfontsize ! Takes the same values as fontsize, ! when fontsize is set to ! QWIN$EXTENDFONT. INTEGER(4) extendfontattributes ! Font attributes such as bold ! and italic. END TYPE windowconfig
結果
結果の型は LOGICAL(4) です。成功すれば,結果は .TRUE. で,そうでなければ .FALSE. です。
最後に描画した行やテキスト・カーソル (もしあれば) を示すことができるように,以下の値は QuickWin ウィンドウを構成するために使用することができます。
wc%mode = QWIN$SCROLLDOWN
別の位置にウィンドウをスクロールした場合,入力が見えるようにするには,最後に描画した行に戻らなければならないことに注意してください。
以下の値は,SETWINDOWCONFIG 拡張フォントで使用することができます。
スタイル | |
---|---|
QWIN$EXTENDFONT_NORMAL | 下線なし,イタリックなし,1000 の内の 400 のフォント重みを与えます。 |
QWIN$EXTENDFONT_UNDERLINE | 下線付き文字を与えます。 |
QWIN$EXTENDFONT_BOLD | 1000 の内の 700 のフォント重みを与えます。 |
QWIN$EXTENDFONT_ITALIC | イタリック文字を与えます。 |
ピッチ | |
QWIN$EXTENDFONT_FIXED_PITCH | QuickWin の基本値。文字幅と同じ。 |
QWIN$EXTENDFONT_VARIABLE_PITCH | 可変長文字幅 |
フォント・ファミリ | |
QWIN$EXTENDFONT_FF_ROMAN | 可変長文字幅,セリフ。Times Roman, Century Schoolbook など。 |
QWIN$EXTENDFONT_FF_SWISS | 可変長文字幅,スキャンセリフ。Helvetica, Swiss など。 |
QWIN$EXTENDFONT_FF_MODERN | QuickWin 基本値。固定長文字幅,セリフまたはスキャンセリフ。Pica, Elite, Courier など。 |
QWIN$EXTENDFONT_FF_SCRIPT | Cursive など。 |
QWIN$EXTENDFONT_FF_DECORATIVE | Old English など。 |
文字集合 | |
QWIN$EXTENDFONT_ANSI_CHARSET | QuickWin 基本値。 |
QWIN$EXTENDFONT_OEM_CHARSET | Microsoft LineDraw を得るためにこれを使用します。 |
フォント名 'MS LineDraw'CM で QWIN$EXTENDFONT_OEM_CHARSET を使用することは,線やボックスを描画するために使用することができるシンボルの古い DOS 形式文字集合を得ることになります。ピッチとフォント・ファミリー項目は,SETWINDOWCONFIG が使用する Win32 API の CreateFontIndirect が使用するフォント一致アルゴリズムの手助けのために指定することができます。
SETWINDOWCONFIG を使って windowconfig の変数を -1 に設定すると,関数はシステムで可能な最高の解像度を設定し,もしあれば,他のフィールドは指定した値で設定します。ウィンドウの大きさに影響を与える指定したパラメタ (x および y のピクセル数,行数および列数,フォントの大きさ) でウィンドウの実際の大きさを設定することができます。SETWINDOWCONFIG を呼び出さないと,最も可能な解像度のウィンドウ基本値と 8x16 のフォントの大きさが設定されます。利用可能な色数は,使用するビデオ・ドライバに依存します。
SETWINDOWCONFIG を使用する場合,各フィールドに値 (数値フィールドに対しては -1 または自分の値,タイトルには C 文字列 (たとえば,"words of text"C)) を指定しなければなりません。幾つかのフィールドにのみ値を指定して SETWINDOWCONFIG を使用すると,指定していないフィールドには無用な値が設定されます。
設定できない構成を要求した場合,SETWINDOWCONFIG は .FALSE. を返し,動作し,要求した構成にできるだけ近いパラメタ値を計算します。SETWINDOWCONFIG の 2 回目の呼び出しは,調整された値を確立します。以下のようにします。
status = SETWINDOWCONFIG(wc) if (.NOT.status) status = SETWINDOWCONFIG(wc)
大きさの 4 つ (numxpixels, numypixel, numtextcols, および numtextrows) のパラメタのすべてに値を指定した場合,フォントの大きさはこれらの値から計算されます。基本フォントは Courier New で,基本フォントの大きさは 8x16 です。ウィンドウがフォントの大きさを保持するのに十分な大きさを持たなければならないことを除いて,フォントの大きさに制限はありません。
Standard Graphics では,アプリケーションはウィンドウ装飾 (スクロールバー,メニューバー,タイトルバーおよびメッセージバー) なしで最大画面 (Full Screen) モードで開始しようとします。そのため,最大解像度が完全にすることができます。ALT+ENTER を使えば,2 つのモード間をいつでもトグルすることができます。
全画面モードでビデオ・ドライバの解像度にウィンドウの解像度が一致しない場合,グラフィックス出力がウィンドウへの書き込みに比べて遅くなります。
SETWINDOWCONFIG を呼び出した後,DISPLAYCURSOR($GCURSORON) を呼び出して,カーソルを可視化しなければなりません。
互換性
STANDARD GRAPHICS QUICKWIN GRAPHICS LIB
関連情報
例
! QuickWin または Standard Graphics アプリケーションでビルドします。 USE DFLIB TYPE (windowconfig) wc LOGICAL status /.FALSE./ ! x と y ピクセルを 800X600,フォントの大きさを 8x12 に設定します。 wc%numxpixels = 800 wc%numypixels = 600 wc%numtextcols = -1 wc%numtextrows = -1 wc%numcolors = -1 wc%title= "This is a test"C wc%fontsize = #0008000C status = SETWINDOWCONFIG(wc) ! 上記の値で構成を試みます。 ! 試みが失敗した場合,システムが確立した値で設定します。 if (.NOT.status) status = SETWINDOWCONFIG(wc)