ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
M.K
記事: 18 登録日時: 2005年6月07日(火) 22:06
お住まい: 長崎県
#1
投稿記事
by M.K » 2006年5月24日(水) 06:03
こんにちは、
以下のコードで、メモリビットマップを作成していますが...
環境によって?思い通りのサイズになりません。(特に高さが...)
以下の場合、幅32、高さ1152になるはずですが...
環境によっては高さが768以上になりません。
何がいけないのか、ご指摘お願いいたします。
WinXP、Win98、AB4.24
[ここをクリックすると内容が表示されます] [ここをクリックすると非表示にします]
コード: 全て選択
Dim WndDC As DWord
Dim Picture1_DC As DWord
Dim memBMP As DWord
WndDC = GetDC(NULL)
Picture1_DC = CreateCompatibleDC(WndDC)
memBMP = CreateCompatibleBitmap(WndDC ,32,(32*30)+192)
SelectObject(Picture1_DC,memBMP)
ノッチ
記事: 82 登録日時: 2005年6月01日(水) 23:27
お住まい: 北海道札幌市
#2
投稿記事
by ノッチ » 2006年5月29日(月) 18:37
> こんにちは、
>
> 以下のコードで、メモリビットマップを作成していますが...
> 環境によって?思い通りのサイズになりません。(特に高さが...)
>
> 以下の場合、幅32、高さ1152になるはずですが...
> 環境によっては高さが768以上になりません。
>
> 何がいけないのか、ご指摘お願いいたします。
>
> WinXP、Win98、AB4.24
>
>
[ここをクリックすると内容が表示されます] [ここをクリックすると非表示にします]
>
コード: 全て選択
>
> Dim WndDC As DWord
> Dim Picture1_DC As DWord
> Dim memBMP As DWord
>
> WndDC = GetDC(NULL)
> Picture1_DC = CreateCompatibleDC(WndDC)
> memBMP = CreateCompatibleBitmap(WndDC ,32,(32*30)+192)
>
> SelectObject(Picture1_DC,memBMP)
>
>
>
以下予想ですが、
画面の解像度が1024×768になっているのではないでしょうか?
GetDCをNULLで呼び出すとDisplayのDCを取得するのではないかと思います。
で、恐らくDisplayの解像度を超えるサイズのビットマップは作成できないという
ことだと思います。
解決方法は画面解像度を上げるか・・・他に方法が思いつきません。
違ってたらごめんなさい。