Stavo tentando, in VC++ .NET 2003, il contenuto di una System::Windows::Forms::PictureBox (pBox1) in un'altra (pBox2) usando la funzione API BitBlt. Ecco il codice che ho usato:
Il risultato, abbastanza assurdo, è che il contenuto di pBox1 viene copiato... assieme a quello che la copre! Se, ad esempio, sovrappongo in parte un pulsante a pBox1, in pBox2 apparirà anche la parte del pulsante sovrapposta.codice:Graphics *gSorg = pBox1->CreateGraphics(); Graphics *gDest = pBox2->CreateGraphics(); //reperisce gli HDC necessari per BitBlt HDC dc1 = (HDC)gSorg->GetHdc().ToPointer(); HDC dc2 = (HDC)gDest->GetHdc().ToPointer(); //fa la copia BitBlt(dc2, 0, 0, pBox1->Width, pBox1->Height, dc1, 0, 0, SRCCOPY); gSorg->ReleaseHdc(dc1); gDest->ReleaseHdc(dc2);![]()

Rispondi quotando
, copiare i dati da un HDC all'altro, quindi da un Graphics all'altro, quindi dalla PictureBox alla Bitmap
