<DIV>Hola Steven,</DIV>  <DIV>gracias por la respuesta y disculpas si es que algunas cosas no las entiendo desde un principio; el problema es que soy principiante en WinApi.</DIV>  <DIV>La historia de siempre es que en la teoría se entiende todo, pero la práctica muestra otra cosa. Aqui les envío el código que hasta ahora escribí y algo que todavía no entiendo es que en mi Funcion CTrozo(....) el siguiente código me muestra todas mis Regiones:</DIV>  <DIV><BR><FONT color=#0000bf>for(i=0;i<=3;i++)<BR>    {<BR>    FrameRgn(hDC, hRegion[i], pincel, 1, 1);<BR>    }</FONT></DIV>  <DIV> </DIV>  <DIV>pero si lo escribo de la siguiente forma:</DIV>  <DIV><FONT color=#0000ff>for(i=0;i<=3;i++)<BR>    {<BR>    GetClipRgn(hDC,hRegion[i]);<BR>    SelectClipRgn(hDC,hRegion[i]);<BR>    FrameRgn(hDC, hRegion[i], pincel, 1, 1);<BR>    BitBlt(hDC, 0, 0, 320, 320,
 memDC, 0,0, SRCCOPY);<BR>    }</FONT></DIV>  <DIV>solo me muestra una Región.</DIV>  <DIV>Gracias por toda resspuesta.</DIV>  <DIV>Abel.<BR><B><I>Steven Davidson <steven@conclase.net></I></B> escribió:</DIV>  <BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">Hola Abel,<BR><BR>El pasado 2006-12-05 08:49:59, Abel escribió:<BR><BR>A> Hola Salvador,<BR>A> lamentablemente tengo que seguir molestandote con mis preguntas. Ahora la cosa se me ha complicado más y cada vez entiendo menos. Empezaré desde un principio, escribí el siguiente código:<BR>A> .............<BR>A> HDC memDC;<BR>A> memDC = CreateCompatibleDC(hDC);<BR>A> HRGN hRegion = CreateRectRgn(10,10,20,20);<BR>A> SelectObject(memDC, hBitmap);<BR>A> BitBlt(hDC, 0, 0, 320, 320, memDC, 0,0, SRCCOPY);<BR>A> DeleteDC(memDC);<BR>A> ...........<BR>A> mi pregunta: acaso no debería dibujarse el hBitmap solo en la región de
 hRegion?, porque cuando corro el programa me muestra toda la imagen, entonces para que nos sirve las regiones?, ó es que primero hayque selecionar esa región, pero cómo?<BR><BR>No dibuja el mapa de bits con acorde a 'hRegion', ya que no has hecho nada con tal región. Debes usar la función 'SetClipRegion()' pasando la región descrita en 'hRegion' antes de invocar a 'BitBlt()'. Esto ya lo mencionó Salvador la primera vez que te respondió. La función 'SetClipRegion()' sirve para establecer la región de recorte actual. El sistema gráfico aplicará la región de recorte a las operaciones del GDI posteriores; o sea, la imagen de 'BitBlt()' será recortada o ajustada. Sugiero consultar su descripción yendo a: http://winapi.conclase.net/curso/index.php?fun=SelectClipRgn<BR><BR>Si vas a usar una figura algo compleja e irregular, entonces sugerimos usar caminos. En lugar de invocar 'SetClipRegion()', usaríamos 'SetClipPath()'. El enlace a su descripción es:
 http://winapi.conclase.net/curso/index.php?fun=SelectClipPath<BR><BR><BR>La idea que Salvador te está dando se basa en que manipules la imagen original como si fuese una base de datos. Es decir, obtén la información (imagen) que quieras, según el criterio (camino o región de recorte) que necesites.<BR><BR><BR>Espero que esto te oriente.<BR><BR>Steven<BR>_______________________________________________<BR>Cconclase mailing list<BR>Cconclase@listas.conclase.net<BR>http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net<BR></BLOCKQUOTE><BR><p> __________________________________________________<br>Correo Yahoo!<br>Espacio para todos tus mensajes, antivirus y antispam ¡gratis! <br>¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar