通知
すべてクリア
Topic starter
2003年7月7日 10:08 PM
いつもお世話になってます。
少し疑問に思ったので質問させてください。
Win98でFillSolidRectで、引数にintの範囲を超えていた為に塗りつぶしが、
できなくなったと思うのですが、この処理はなぜかWin2000では正常に動きます。
Win98とWin2000で以下の処理を実行しても
TRACE(int :%d\n, sizeof(int))
4バイトとなっています。
なぜこのようなことがおこるのでしょうか?
ご存じの方ご教授ください。
FillSolidRectの引数はヘルプより
void FillSolidRect( int x, int y, int cx, int cy, COLORREF clr );
環境:VC6.0 MFC Win98/Win2000
2003年7月7日 11:12 PM
Windows 95の系統では,GDIは16bitしか使われていません。
なので,95系のGDIでは-32768~32767の範囲でしか使えないです。
Topic starter
2003年7月8日 11:00 AM
よく解りました。YuOさんどうもありがとうございます。