Just remember to release it once you are done with it by calling ReleaseDC(). So in your case:
Code:case WM_COMMAND: { switch(LOWORD(wParam)) { case IDC_BUTTON_IMAGE1: { hdc = GetDC(/*Handle to window in here*/) ; for(j=0;j<256;j++) { for(k=0;k<256;k++) { SetPixel(hdc,256+j,256+k,RGB(0,j,k)); } } Arc(hdc,200,200,300,300,100,100,200,200); ReleaseDC(/*Handle to window in here*/,hdc); break; } } break;