Pídale a un experto en programación que me diga cómo cargar vc 6.0. Proporcione el código completo. Si proporciona libros relevantes, puede obtener puntos adicionales.
{
// TODO: Agregue el código del controlador de mensajes aquí
///////// Debajo de uno de las tres situaciones tendrán efectos diferentes (solo puede existir una)////////
//CPaintDC DC(this);//Si se usa esta frase lo que se obtiene es el DC del cuadro de diálogo y la imagen se dibujará en el cuadro de diálogo.
CPaintDC DC(GetDlgItem(IDC _duststrom 1)); //Utilice esta oración para obtener el DC del control de imagen y la imagen se dibujará en el control.
//CDC DC;
//DC . m _ hDC =:: GetDC(NULL); //Si usas estas dos oraciones, obtendrás el DC del Se dibujará una imagen en la pantalla////////////////////////////////////////. ////// ////////////////.
CRect rcclient
GetDlgItem(IDC_duststrom 1)-gt;GetClientRect(amp;cliente RC);
CDC memdc
memdc. CreateCompatibleDC(amp;DC);
Mapa de bits CBitmap;
Mapa de bits. CreateCompatibleBitmap(&dc,rcclient.Width(),rcclient.height());
memdc. seleccionar objeto (amp mapa de bits);
CWnd::DefWindowProc(WM_PAINT, (WPARAM)memdc.m_hDC,
CDC maskdc
maskdc. CreateCompatibleDC(amp;DC);
CBitmap máscarabitmap
máscarabitmap. CreateBitmap(rcclient.Width(), rcclient.Height(), 1, 1, NULL);
maskdc. Seleccione objeto(ampmaskbitmap);
maskdc. BitBlt(0, 0, rcclient. Ancho(), rcclient. Altura(), ampmemdc,
rcclient.left, rcclient.top, src copy
CBrush brush <); /p>
Cepillo. CreatePatternBrush(amp;m_BMP);
Washington. fill rect(cliente RC y pincel);
Washington. BitBlt(rcclient.left, rcclient.top, rcclient.Width(), rcclient.Height(), ampmemdc, rcclient.left, rcclient.top, src paint);
Pincel.
eliminar objeto();
//No llamar a CDialog::OnPaint() para dibujar mensajes
}
#Define THUMWIDTH 180
#Definir altura 180
//Cargar imágenes Jpg y Bmp, ¡esta función es el código clave! ! ! ! ! ! !
mapa hbit CHelloDialog::cargar imagen(CString mFile)
{
CString pFSize
WCHAR wpath[MAX _ PATH];
MultiByteToWideChar(CP_ACP, 0, mFile, -1, wpath, MAX_PATH
IPicture * pPic
OleLoadPicturePath(wpath, NULL, NULL, NULL, IID_IPicture, (LPVOID *) amp; pPic);
if (pPic==NULL) devuelve NULL
HBITMAP hPic = NULL
pPic- gt; get_Handle((UINT *)&hPic);
long nWidth = THUMWIDTH
long nHeight = THUMHEIGHT
龙 mWid, mHei
p>pPic- gt; get_Height(amp; mHei);
pPic- gt; obtener ancho (ampmWid);
mapa hbit HPI cret = (mapa hbit)copiar IMAGEN(hPic, IMAGE_BITMAP, nWidth, nHeight, LR_COPYDELETEORG);
HBRUSH HBRUSH border =::crear pincel sólido(RGB(192, 192, 192));
HBRUSH hBrushBk =::crear sólido brush(RGB(255, 255, 255));
RECT borde RC;
borde RC izquierdo = borde RC superior = 0; .right = THUMWIDTH
RC border .thum height;
const float frat io =(float)thum height/thum width;
p>
int XDest, YDest, nDestWidth, nDestHeight
const float FIM gratio = (float)mHei/mWid;
if (FIM gration gt; Fradio)
{
nDestWidth =(altura del pulgar/FIM gratio);
XDest =(THUMWIDTH-nDestWidth)/2;
YDest = 0;
nDestHeight = THUMHEIGHT
}
Otro
{
XDes
t = 0;
nDestWidth = THUMWIDTH
nDestHeight =(THUMWIDTH * FIM gratio);
YDest =(thum height-nDestHeight)/2; p>
p>
}
CClientDC cdc(este);
HDC HDC =::CreateCompatibleDC(CDC . m_HDC);
mapa de hbit BM = CreateCompatibleBitmap(CDC . m _ hDC, THUMWIDTH, altura de thum);
mapa de hbit pOldBitmapImage = (mapa de hbit)seleccione objeto (hDC, BM)
* relleno; rect(hDC amp; rcBorder, hBrushBk);
* frame rect (hDC amp; rcBorder, hBrushBorder);
hbit map hbm return = (hbit map):: seleccionar objeto ( hDC, pOldBitmapImage );
CDC hdcSrc, hdcDst
hdcSrc. CreateCompatibleDC(NULL);
hdcDst. CreateCompatibleDC(NULL);
//Carga el mapa de bits en la memoria DC
cbit map * hbmSrcT = (cbit map *)hdcSrc. seleccionar objeto(HPI cret);
mapa cbit * hbmDstT = (mapa cbit *)hdc dst. seleccionar objeto(retorno hbm);
hdcDst. BitBlt(XDest, YDest, nDestWidth, nDestHeight&hdcSrc, 0, 0, SRCCOPY);
pOldBitmapImage = (HBITMAP)seleccionar objeto(hDC dst. m_hDC, BM);
DeleteDC(hDC );
eliminar objeto(hBrushBorder);
eliminar objeto(hBrushBk);
Devolver pOldBitmapImage
}
//Agregar código en la función de carga:
if( m_bmp.m_hObject!= NULL)//Juez
m_bmp. eliminar objeto();
////////Cargar imagen
hbit map hbmp = cargar imagen("e:\\picture.*");
m_bmp. Adjunto(hbmp);