FreeBASIC マニュアルのトップに戻る

FreeBASIC Screencopy

目次→描画ライブラリー参考→描画画面関連SCREENCOPY←オリジナル・サイト

SCREENCOPY 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

描画ページの内容を、別の描画ページにコピーします。

構文:
declare function Screencopy ( byval from_page as long = -1, byval to_page as long = -1 ) as long

用法:
Screencopy [ from_page ] [, to_page ]

パラメタ:
from_page
コピー元(コピーされる)ページ
to_page
コピー先のページ

戻り値:
成功した場合はゼロ (0) を返し、失敗の場合はゼロ以外のエラーコードを返します。

記述:
from_page は、コピーされる、コピー元のページです。
この引数を省略すると、現在の作業中のページが、対象になります。
to_page は、コピー先のページです。
この引数を省略すると、現在の目に見えるページが選択されます。
ページ番号の範囲は、0 から、num_pages - 1 までになります。ここで、num_pages は、描画モードが、ScreenresScreen (描画) で設定されたとき、指定されたページ数です。

この関数は、2倍のバッファーを、描画に加えるために使うことができます。
複数ページを備えた描画画面モードは、どれもこの関数をサポートします。

Screencopy は、宛先ページがロックされていると、動作しません。

他に、これに類似した 2つの関数があります: FlipPCopy です。
Flip は、OpenGLモードで働くようになっています。一方、PCopy は、若干のプラットホームで、実行画面ページをサポートします。両方とも、通常の描画モードで、Screencopy と同じことをします。

Screencopy が返すエラーコードは、次の行の Err を使ってチェックできます。
Screencopy の関数バージョンは、エラーコードを32ビット Long として、直接返します。

例:
Screenset の例を見てください。

注:FreeBASIC 1.08〜 で、SetEnviron を追加しなくても、日本語環境で描画画面が表示されるように改善されました。
' Sets the graphics method GDI
' 描画方法を GDI に設定
SetEnviron("fbgfx=GDI")

'' 320x200x8、3ページ
Screen 13,,3

'' ページ #1 のための画像 (visible page #0)
ScreenSet 1, 0
Cls
Circle( 160, 100 ), 90, 1 ,,,, f
Circle( 160, 100 ), 90, 15
Print "Press 2 to copy page #2 to visible page"
Print "Press escape to exit"

'' ページ #2 のための画像 (visible page #0)
ScreenSet 2, 0
Cls
Line( 50, 50 )-( 270, 150 ), 2, bf
Line( 50, 50 )-( 270, 150 ), 15, b
Print "Press 1 to copy page #1 to visible page"
Print "Press escape to exit"

'' ページ #0 は、作業ページ (visible page #0)
ScreenSet 0, 0
Cls
Print "Press 1 to copy page #1 to visible page"
Print "Press 2 to copy page #2 to visible page"
Print "Press escape to exit"

Dim k As String

'' キー・ボードから、「1」「2」「Esc」 キーの入力で、表示画像を切替えます
Do
  k = Inkey
  Select Case k
  Case Chr(27)
    Exit Do
  Case "1"
    ScreenCopy 1, 0
  Case "2"
    ScreenCopy 2, 0
  End Select

  Sleep 25
Loop




方言差:

QBからの違い:

参照:
描画画面関連に戻る
←リンク元に戻る プログラム開発関連に戻る
ページ歴史:2023-07-09 00:58:45
日本語翻訳:WATANABE Makoto、原文著作者:SysOp

ホームページのトップに戻る

表示-非営利-継承