投稿日 | : 2004/05/01(Sat) 15:40 |
投稿者 | : アルエ |
Eメール | : |
URL | : |
タイトル | : VBでDirectDrawを使用した場合のマルチディスプレイの対応について質問 |
はじめまして、こんにちは。
現在Viual Basic6.0でDirectX7のDirectDrawを使用して描画関係のプログラムを作っているんですが、少し悩んでいることがあります。
ビデオカードの設定を利用してマルチデスクトップ(2ディスプレイ)上で動作する描画プログラムというのを目指して開発しているんですが、
プライマリ領域では正常に動作するのですが、セカンダリ領域だとDirectDrawの機能が上手く働かなくなってしまいます。
具体的にはDirectDrawのBlt関数でBMPの表示を行っているのですが、描画部分が少しでもセカンダリ領域に入ると描画の処理が行われなくなってしまいます(実行ファイル自体は動作します)
例としてAとB2つのディスプレイがあったとしてAをプライマリ、Bをセカンダリとして実行するとAのディスプレイ上では正しく動作してBのディスプレイ上では正しく動作しません。
設定を逆にしてBをプライマリ、AをセカンダリにするとやはりBでは上手く動作しますが、Aでは動作しなくなります。
自分の検証した範囲だとこれぐらいが限界で頭を痛めています。
Visual BasicにDirectXを組み込む際は描画領域に何か制約があるものなんでしょうか?
もし何か知ってる方がいらっしゃいましたらご教授よろしくお願いします。
・開発環境
-OS:Windows2000
-開発ソフト:VisualBasic6.0
(描画部分にDirectX7のDirectDrawを使用)
-グラフィックカード
nVIDIA GeforceFX5700
(nViewモード:DualView)
ディスプレイ1(アナログモニター)解像度:1024×768
ディスプレイ2(デジタルモニター)解像度:1600×1200