<div dir="ltr">Pues si, me has ayudado bastante y me has solucionado el problema que tenía con los strings, muchas gracias.<div><br></div><div>Buscando como usar las WindowsTemplet Library (que son las open source) en codeblocks, he dado con otras librerías escritas en c++ que me sonaban de haber oido del mundo linux pero que no conozoco por completo. QT y GTK.</div>
<div><br></div><div>Llegados a este punto tengo varias opciones.</div><div><br></div><div>-Seguir buscando como usar las wtl desde codeblocks y ver que tal o usar la versión free de visual c</div><div>-Picar código y usar la api y crear mi propia capa con las funciones que necesite.</div>
<div>-Investigar y usar Las QT (o gtk, pero parece ser que las QT son "menos duras") que además son multiplataforma.</div><div><br></div><div>¿Que me recomendarías/iais? ¿a cual le podría sacar más provecho?</div>
<div><br></div><div>Un saludo y gracias de nuevo.</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">El 10 de abril de 2014, 15:31, Davidson, Steven <span dir="ltr"><<a href="mailto:srd4121@njit.edu" target="_blank">srd4121@njit.edu</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hola Hugo,<div class="gmail_extra"><br><div class="gmail_quote">2014-04-10 7:56 GMT-04:00 Hugo García <span dir="ltr"><<a href="mailto:hgc2204@gmail.com" target="_blank">hgc2204@gmail.com</a>></span>:<div class="">
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Hola,<div><br></div><div>Estoy intentando hacer un pgm con GUI y quiero hacerlo lo más orientado a objetos posible recurriendo a temas de punteros y "al bajo nivel" lo menos posible, vengo de hacer cosas en c# en visual estudio 2010) y me estoy encontrando con cosas que me resultan bastante puñeteras.</div>


<div><br></div><div>Ya se que el framework que tiene detras .net tiene mucho código que facilita la tarea, mi pregunta es ¿hay cabeceras en c++ que hagan esto?</div><div><br></div></div></blockquote><div><br></div></div>
<div>Si quieres usar el API de MS-Windows, pero "más C++", entonces puedes usar MFC, que es una colección de clases envolventes.</div><div class="">
<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div></div><div>Por ejemplo quiero una función que aunque lo que haga sea en c, lo que utilice sea de c++ (no se si he expresado muy bien esto...), por ejemplo ahora estaba intentando esto:</div>


<div><br></div><div><div>void DisplayMessageExtl(string szText, string szCaption)</div></div></div></blockquote><div><br></div></div><div>Como vienes de C#, te aclaro que en C++ todos los parámetros se pasan por copia (o por valor). Por lo tanto, si quieres pasar por referencia, tienes que ser explícito. Esto es,</div>

<div><br></div><div>void DisplayMessageExtl( const string &szText, const string &szCaption )<br></div><div><br></div><div>Sin embargo, sugiero usar 'u16string' si quieres usar cadenas de caracteres de Unicode de 16 bits.</div>

<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div class=""><div>{</div>
<div>    int msgboxID = MessageBox(</div>
<div>        NULL,</div></div><div>        szText.c_str(),</div><div>        szCaption.c_str(),</div></div></div></blockquote><div><br></div><div>Tienes que conseguir la representación de puntero a 'char' - "al estilo de C". Para esto, invocamos la función miembro (método), 'c_str()'.</div>
<div class="">
<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div>
        MB_ICONQUESTION | MB_YESNOCANCEL | MB_DEFBUTTON2</div><div>    );</div><div><br></div><div>    switch (msgboxID)</div><div>    {</div><div>    case IDYES:</div><div>        PostQuitMessage (0);</div><div>        break;</div>


<div>    case IDNO:</div><div>        break;</div><div>    case IDCANCEL:</div><div>        break;</div><div>    }</div></div><div>}</div><div><br></div><div>Pero claro no es posible pq MessageBox espera un puntero a un char. He intenado hacer un cast con (LPCSTR) pero no funciona.</div>


<div><br></div></div></blockquote><div><br></div></div><div>No puedes hacer este cásting, porque 'string' no ofrece tal conversión; es decir, no sobrecarga el operador de conversión a 'const char *'.</div>
<div class=""><div>
<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div></div><div>¿Hay alguna manera de conseguir lo que quiero?</div>

<div><br></div><div>Ya no solo una solución para este caso si no en las futuras cosas que me encuentre. ¿Alguno ha usado una librería que solvente este tipo de situaciones?</div></div></blockquote><div><br></div></div><div>
Como dije antes, supongo que te interesa algo como MFC. Existen otras clases envolventes como las ATL al igual que las WTL, las cuales extienden las ATL.</div>
<div><br></div><div><br></div><div>Espero que esto aclare la duda.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Steven</div><div><br></div></font></span></div></div></div>
<br>_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br></blockquote></div><br></div>