StretchBltで拡大表示できない


るー  2003-07-17 17:53:05  No: 51770  IP: [192.*.*.*]

VCでビットマップを拡大表示するツールをつくっていたのですが、
2000/XPでは表示できたのが、98では表示されず真っ白になってしまいました。
ただ、表示はされていないものの、拡大表示されている白の画面の座標を指定
して再表示をおこなってみると、表示されているので、表示はうまくいってる
みたいなのですが。。。
ちなみに白画面になる場合の戻り値は0で失敗していました。
98でうまく拡大表示する方法はないのでしょうか?

GetLastErrorをStretchBlt後に取得すると、「パラメータが違います」とい
うエラーがでてました。
ただ、他の小さな画像ではこのエラーがでていても拡大表示できていたのでき
にしなかったのですが、やはりこのせいなのでしょうか?

以下ソース一部抜粋


m_hDCMem = CreateCompatibleDC(hDC);
m_hPrevBitmap = (HBITMAP)::SelectObject(m_hDCMem , m_hBitmap);


if(!::SetStretchBltMode(hDC , HALFTONE)){
  return FALSE;
}

blnResult = ::StretchBlt(hDC , 0 , 0, nWidth , nHeight , 
m_hDCMem , 0 , 0 , intwidth , intheight , SRCCOPY);

編集 削除
pbmplus  2003-07-18 12:29:27  No: 51771  IP: [192.*.*.*]

SetStretchBltModeの引数に「HALFTONE」を渡しているからダメなんではないでしょうか。
# Windows 95/98 では、この値はサポートされていません。

詳細
http://www.microsoft.com/JAPAN/developer/library/jpgdipf/_win32_setstretchbltmode.htm

編集 削除