Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > непонятный баг(обработка мыши)


Автор: TheVad 17.4.2006, 18:10
Код

case WM_LBUTTONDOWN:
        lpPoint.x=LOWORD(lp);
        lpPoint.y=HIWORD(lp);
        strcpy(text,"");
        sprintf(text,"x= %d\ny= %d",lpPoint.x,lpPoint.y);
        MessageBox(hwnd,text,"test",0);
        Window_OnCreate(hwnd,IDB_RIP);
        Window_OnPaintAll(hwnd,IDC_STATIC1);
        break;



Обработка функций Window_OnCreate(hwnd,IDB_RIP); И Window_OnPaintAll hwnd,IDC_STATIC1); происходит только в верхней части окна(примерно 1\3 ), а в остальной не происходит..
MessageBox(mainhwnd,text,"test",0);- обрабатывается везде(по всему окну). 
не могу понять почему , подскажите плиз. 
Вот описания функций Window_OnCreate and Window_OnPaint;

Код

void Window_OnPaintAll(HWND hwnd,int IDDlgItem)
{
    CoordX=cx;
    CoordY=cy;
    BITMAP bm;
    HDC StaticHDC;
    HDC MemoryHDC;
    HWND hwndStatic = GetDlgItem(hwnd,IDDlgItem);
    StaticHDC = GetDC(hwndStatic);
    MemoryHDC = CreateCompatibleDC(StaticHDC);
    SelectObject(MemoryHDC, Bitmap);
    GetObject(Bitmap, sizeof(bm), &bm);
    for(int x=0;x<10;x++)
    {
        for(int y=0,CoordY=cy;y<10;y++)
        {
            BitBlt(StaticHDC, CoordX, CoordY, bm.bmWidth, bm.bmHeight, MemoryHDC, 0, 0, SRCCOPY);
            CoordY+=39;
        }
        CoordX+=39;
    }
    DeleteDC(MemoryHDC);
    ReleaseDC(hwndStatic,StaticHDC);    
}




void Window_OnCreate(HWND hwnd, int image)
{
      Bitmap=LoadBitmap(hinst,MAKEINTRESOURCE(image));
}


Код

#define cx 2
#define cy 8


IDDlgItem - имя IDC_STATIC.

Заранее спасибо.
П.С. прикрепил скрин, там где прямоугольник перечеркнутый - идет обработка этих функций, в др. местах, не идет. 
 

Автор: TheVad 17.4.2006, 19:18
Вопрос закрыт. Разобрался. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)