その時、配列の要素数を変えるための変数(j 初期値0)を1加算させます
WM_PAINT内でjが0でなければ取得した座標にBitBltで画像を描画するプログラムを作成しているのですが、1つ目の画像が描画された時、座標(0,0)にまで画像が描画されてしまいます
座標(0,0)に描画された画像はdrei[20]、vier[20]に座標が入れられた時に消えるようですのでそれが影響しているとは思うのですが解決法がわからないのです
ご教授願います
一部抜粋
LRESULT CALLBACK DocProc(HWND hWnd , UINT msg , WPARAM wp , LPARAM lp)
static int x , y , j = 0 , ein , zwei , drei[256] , vier[256];
static int b1_w , b1_h , b2_w , b2_h , bm_w , bm_h;
static HBITMAP hB1 , hB2 , hBm;
static HDC hdc_b1 , hdc_b2 , hdc_bm;
BITMAP bi_b1 , bi_b2 , bi_bm;
HDC hdc;
PAINTSTRUCT ps;
case WM_MOUSEMOVE:
x = LOWORD(lp);
y = HIWORD(lp);
return 0;
case WM_LBUTTONUP:
drei[j] = x;
vier[j] = y;
j++;
return 0;
case WM_PAINT:
hdc = BeginPaint(hWnd , &ps);
if(j != 0){
BitBlt(hdc , drei[0] , vier[0] , b1_w , b1_h , hdc_b1 , 0 , 0 , SRCCOPY);
BitBlt(hdc , drei[1] , vier[1] , b1_w , b1_h , hdc_b1 , 0 , 0 , SRCCOPY);
BitBlt(hdc , drei[2] , vier[2] , b1_w , b1_h , hdc_b1 , 0 , 0 , SRCCOPY);
以下drei[20]、vier[20]までBitBlt
}
EndPaint(hWnd , &ps);
return 0;