Pregunta

Estoy desarrollando una aplicación para PocketPC. Cuando la aplicación inicia la función personalizada, se llama a SetScreenOrientation (270) que rota la pantalla. Cuando la aplicación se cierra, se llama a la función SetScreenOrientation (0) que restaura la orientación de la pantalla.

De esta manera, la orientación de la pantalla no se restaura si el usuario minimiza la aplicación y esto no es aceptable.

¿Alguien sabe dónde (en qué controladores de eventos) debe llamarse SetScreenOrientation (int angle) para establecer la orientación de la pantalla al inicio de la aplicación, restaurar la orientación al mínimo, establecer la orientación al máximo y restaurar la orientación al cerrar?

En realidad, no sé qué controlador de eventos maneja el evento Minimizar y Maximizar.

¿Fue útil?

Solución

El mensaje correcto es WM_SIZE , pero la respuesta de Daemin apunta a el tema de ayuda WM_SIZE incorrecto. Comprueba el wParam. Tenga cuidado ya que su ventana puede estar maximizada pero oculta.

Otros consejos

A partir de mi experiencia con Windows CE, debe manejar WM_SIZE o mensajes WM_WINDOWPOSCHANGED . Si está trabajando en PocketPC, le sugiero que primero eche un vistazo al mensaje WM_WINDOWPOSCHANGED porque no estoy seguro de que WM_SIZE tenga los parámetros correctos que necesita.

De la WINDOWPOS de la estructura del mensaje WM_WINDOWPOS miembro de banderas, específicamente SWP_SHOWWINDOW y SWP_HIDEWINDOW.


La versión específica de los mensajes que necesita ver varía según el sistema operativo que esté utilizando. El Pocket PC OS está construido en Windows CE 3.0 (y versiones anteriores), mientras que Windows Mobile ahora está construido en Windows CE 5.0 (incluso Windows Mobile 6), pero también fue construido en Windows CE 4. (Fuente)

Así que solo busca en la sección correspondiente en MSDN el sistema operativo para el que estás escribiendo.

No sé cómo se llaman en el mundo de C ++, pero en .NET Compact Framework, el evento Resize de su formulario de solicitud se llamaría cuando minimiza / maximiza una ventana, y luego, en el código del evento, verificaría el WindowState propiedad del formulario para ver si está minimizado o mazimizado.

Alterar el estado de su PDA desde su aplicación es arriesgado (aunque hay muchas buenas razones para hacerlo), porque si su aplicación falla, dejará el PDA en cualquier estado en el que se encuentre. muchas aplicaciones de tipo kiosco (pantalla completa) en Windows Mobile, y uno de los trucos para hacerlo de manera efectiva es ocultar la barra de título de WM (la fila superior con el botón de inicio de Windows) para evitar que parpadee durante una división segundo cada vez que abre un nuevo formulario. Si la aplicación falla, la barra de Windows permanece invisible hasta que reinicia el dispositivo, lo cual no es bueno. Al menos con la rotación de la pantalla, el usuario puede restaurarlo manualmente.

Realmente depende de la plataforma, pero iría con WM_WINDOWPOSCHANGED o el OnShow. No es wm_size .. Ese no siempre se lanza en todas las plataformas. Casio no lanza el evento de tamaño cuando esperarías que lo hicieran. TDS y Symbol's do.

Aunque el MSDN es un gran recurso para obtener información, recuerde que no todos los sistemas operativos se crean de la misma manera. En el mundo PPC, el proveedor de hardware puede crear su propio sistema operativo y, a veces, omitir cosas o ignorarlas a propósito.

Tengo una plataforma aquí (nombre oculto para proteger ... bueno, yo) que tiene botones izquierdo y derecho ... Cuando los presiona, esperaría poder atrapar VK_LEFT, VK_RIGHT ... Usted ' d estar equivocado Realmente obtienes ';' o ':'. ¿Cómo es eso de una patada en los pantalones?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top