|
程序运行 提示 “浮点数例外” 然后就自动退出了
大家见过这样的问题吗?
谢谢大家的分析
我把代码贴出来 大家帮我看看吧
省去了没有必要的程序段
static int WinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
static BITMAP s_bmp;
static char bmpno[] = "0.jpg";
bmpno[0] = '0';
RECT rc = {23,12,321,240};
switch (message) {
case MSG_CREATE:
SetTimer(hWnd, IDTIMER, 100);
break;
case MSG_PAINT:
if(LoadBitmapFromFile(HDC_SCREEN, &s_bmp, bmpno))
{ return -1; }
hdc = BeginPaint (hWnd);
FillBoxWithBitmap (hdc, 23, 12, 321, 240, &s_bmp);
EndPaint(hWnd, hdc);
break;
case MSG_TIMER:
if(wParam == IDTIMER)
{ bmpno[0] ++; }
if(LoadBitmapFromFile(HDC_SCREEN, &s_bmp, bmpno))
{ return -1; }
GetClientDC(hWnd);
FillBoxWithBitmap (hdc, 23, 12, 321, 240, &s_bmp);
ReleaseDC(hdc);
if(bmpno[0] = 30)
{
KillTimer(hWnd, IDTIMER);
UnloadBitmap(&s_bmp);
DestroyMainWindow (hWnd);
PostQuitMessage (hWnd);
}
break;
case MSG_CLOSE:
KillTimer(hWnd, IDTIMER);
UnloadBitmap(&s_bmp);
DestroyMainWindow (hWnd);
PostQuitMessage (hWnd);
break;
default:
return DefaultMainWinProc(hWnd, message, wParam, lParam);
}
return 0;
}
=================================
下面的程序是根据大家的建议修改的 ,但是还是出现 “浮点数例外”的提示,然后就自动退出运行了
char bmpno[] = "0.jpg";
bmpno[0] = 48;
static int WinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
static BITMAP s_bmp;
RECT rc = {23,12,321,240};
switch (message) {
case MSG_CREATE:
SetTimer(hWnd, IDTIMER, 100);
break;
case MSG_PAINT:
if(LoadBitmapFromFile(HDC_SCREEN, &s_bmp, bmpno))
{ return -1; }
hdc = BeginPaint (hWnd);
FillBoxWithBitmap (hdc, 23, 12, 321, 240, &s_bmp);
EndPaint(hWnd, hdc);
break;
case MSG_TIMER:
if(wParam == IDTIMER)
{ bmpno[0] ++;
LoadBitmapFromFile(HDC_SCREEN, &s_bmp, bmpno);
GetClientRect(hWnd, &rc);
FillBoxWithBitmap (hdc, 23, 12, 321, 240, &s_bmp);
}
if(bmpno[0] == 57)
{
KillTimer(hWnd, IDTIMER);
UnloadBitmap(&s_bmp);
DestroyMainWindow (hWnd);
PostQuitMessage (hWnd);
}
break;
case MSG_CLOSE:
KillTimer(hWnd, IDTIMER);
UnloadBitmap(&s_bmp);
DestroyMainWindow (hWnd);
PostQuitMessage (hWnd);
break;
default:
return DefaultMainWinProc(hWnd, message, wParam, lParam);
}
return 0;
} |
|