none
Reloj analógico RRS feed

  • Pregunta

  • HOla,
    He conseguido hacer un reloj analógico en win32, pero lo necesito para una aplicación de smart devices con mfc.
    Los fallos que me da al compilar son:


    1>------ Operación Generar iniciada: proyecto: inicio2, configuración: Debug Windows Mobile 6 Professional SDK (ARMV4I) ------
    1>Compilando...
    1>Clock.cpp
    1>.\Clock.cpp(131) : error C2039: 'SetMapMode' : no es un miembro de 'CPaintDC'
    1>        C:\Archivos de programa\Microsoft Visual Studio 9.0\VC\ce\atlmfc\include\afxwin.h(1118) : vea la declaración de 'CPaintDC'
    1>.\Clock.cpp(131) : error C2065: 'MM_ISOTROPIC' : identificador no declarado
    1>.\Clock.cpp(132) : error C2039: 'SetWindowExt' : no es un miembro de 'CPaintDC'
    1>        C:\Archivos de programa\Microsoft Visual Studio 9.0\VC\ce\atlmfc\include\afxwin.h(1118) : vea la declaración de 'CPaintDC'
    1>.\Clock.cpp(133) : error C2039: 'SetViewportExt' : no es un miembro de 'CPaintDC'
    1>        C:\Archivos de programa\Microsoft Visual Studio 9.0\VC\ce\atlmfc\include\afxwin.h(1118) : vea la declaración de 'CPaintDC'
    1>.\Clock.cpp(134) : error C2039: 'SetViewportOrg' : no es un miembro de 'CPaintDC'
    1>        C:\Archivos de programa\Microsoft Visual Studio 9.0\VC\ce\atlmfc\include\afxwin.h(1118) : vea la declaración de 'CPaintDC'
    1>.\Clock.cpp(162) : error C2039: 'SetMapMode' : no es un miembro de 'CClientDC'
    1>        C:\Archivos de programa\Microsoft Visual Studio 9.0\VC\ce\atlmfc\include\afxwin.h(1143) : vea la declaración de 'CClientDC'
    1>.\Clock.cpp(162) : error C2065: 'MM_ISOTROPIC' : identificador no declarado
    1>.\Clock.cpp(163) : error C2039: 'SetWindowExt' : no es un miembro de 'CClientDC'
    1>        C:\Archivos de programa\Microsoft Visual Studio 9.0\VC\ce\atlmfc\include\afxwin.h(1143) : vea la declaración de 'CClientDC'
    1>.\Clock.cpp(164) : error C2039: 'SetViewportExt' : no es un miembro de 'CClientDC'
    1>        C:\Archivos de programa\Microsoft Visual Studio 9.0\VC\ce\atlmfc\include\afxwin.h(1143) : vea la declaración de 'CClientDC'
    1>.\Clock.cpp(165) : error C2039: 'SetViewportOrg' : no es un miembro de 'CClientDC'
    1>        C:\Archivos de programa\Microsoft Visual Studio 9.0\VC\ce\atlmfc\include\afxwin.h(1143) : vea la declaración de 'CClientDC'
    1>El registro de compilación se guardó en el "file://c:\Documents and Settings\Administrador\Escritorio\inicio2_4\inicio2\Windows Mobile 6 Professional SDK (ARMV4I)\Debug\BuildLog.htm"
    1>inicio2 - 10 errores, 0 advertencias
    ========== Generar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========
    ========== Implementar: 0 correctos, 0 incorrectos, 0 omitidos ==========


    ¿será algun problema de librerias?
    Gracias
    miércoles, 9 de diciembre de 2009 22:28

Todas las respuestas

  • Qué tal,

    pues resulta que SetMapMode, SetViewportExt, SetViewportOrg y SetWindowExt no están soportadas por MFC para dispositivos móviles. 


    Al final del artículo, puedes leer lo siguiente: 

    Windows CE GDI does not support the following features:

    Transformation functions of coordinate space, such as SetMapMode, GetMapMode, SetViewportExt, and SetWindowExt. Coordinate space is equivalent to device space. World Transform API. MoveTo and LineTo functions. Color cursors. Animated cursors.


    Tendrás que buscar otra forma... :(


    Fernando Gómez
    www.fermasmas.com
    miércoles, 9 de diciembre de 2009 22:46
  • Muchas gracias por la rapidez  la respuesta, con tanta documentación se me pasa hasta lo más evidente.
    ¿No me podeís dar alguna otra idea?
    Gracias e nuevo
    miércoles, 9 de diciembre de 2009 23:00
  • Así pasa. El error era seguro que era por eso (por experiencia propia con Mobile :P) pero aún así me llevó tiempo encontrar alguna documentación oficial.

    Pues supongo que tendrás que hacer las cuentas manuales, como te dice sopita. O cambiar tu algoritmo por algo más sencillo (como BitBlt-ear un mapa de bits o algo así).

    Saludos. 


    Fernando Gómez
    www.fermasmas.com
    miércoles, 9 de diciembre de 2009 23:05