Question

Je développe une application pour PocketPC. Lorsque l'application démarre, la fonction personnalisée SetScreenOrientation (270) est appelée, ce qui fait pivoter l'écran. À la fermeture de l’application, la fonction SetScreenOrientation (0) permet de rétablir l’orientation de l’écran.

De cette manière, l'orientation de l'écran n'est pas restaurée si l'utilisateur minimise l'application et que cela n'est pas acceptable.

Quelqu'un sait-il où (dans quels gestionnaires d'événements) SetScreenOrientation (int angle) doit être appelé pour définir l'orientation de l'écran au démarrage de l'application, restaurer l'orientation sur minimiser, définir l'orientation et rétablir l'orientation à sa fermeture?

En fait, je ne sais pas quel gestionnaire d'événement gère l'événement Minimize and Maximize.

Était-ce utile?

La solution

Le message correct est WM_SIZE , mais la réponse de Daemin pointe vers mauvaise rubrique d'aide WM_SIZE. Vérifiez le wParam. Faites attention car votre fenêtre peut être maximisée mais cachée.

Autres conseils

À partir de mon expérience Windows CE, vous devez gérer le WM_SIZE ou WM_WINDOWPOSCHANGED . Si vous travaillez sur PocketPC, je vous suggère de jeter un coup d'œil au message WM_WINDOWPOSCHANGED car je ne suis pas sûr que le WM_SIZE possède les bons paramètres dont vous avez besoin.

A partir de la structure de WINDOWPOS du message WM_WINDOWPOSCHANGED, consultez la structure. membre flags, en particulier SWP_SHOWWINDOW et SWP_HIDEWINDOW.

La version des messages que vous devez consulter varie selon le système d'exploitation utilisé. Le système d’exploitation Pocket PC est construit sur Windows CE 3.0 (et inférieur), alors que Windows Mobile est maintenant construit sur Windows CE 5.0 (même Windows Mobile 6), mais a également été construit sur Windows CE 4. (Source)

Il suffit donc de regarder dans la section correspondante de MSDN pour le système d'exploitation pour lequel vous écrivez.

Je ne sais pas comment ils sont appelés dans le monde C ++, mais dans .NET Compact Framework, l'événement Resize de votre formulaire de demande est appelé lorsque vous réduisez ou agrandissez une fenêtre, puis dans le code de l'événement, vous vérifiez le WindowState. propriété de la forme pour voir si elle est minimisée ou mazimisée.

Il est risqué de modifier l’état de votre PDA à partir de votre application (bien qu’il existe de nombreuses bonnes raisons de le faire), car si votre application tombe en panne, elle laissera le PDA dans l’état dans lequel il se trouvait. De nombreuses applications de type kiosque (plein écran) dans Windows Mobile, et l'une des astuces permettant de le faire efficacement consiste à masquer la barre de titre WM (la rangée supérieure avec le bouton de démarrage de Windows) pour l'empêcher de clignoter pendant une scission. seconde à chaque fois que vous ouvrez un nouveau formulaire. Si l'application se bloque, la barre de Windows reste invisible jusqu'à ce que vous réinitialisiez l'appareil, ce qui n'est pas satisfaisant. Au moins, avec la rotation de l'écran, l'utilisateur peut le restaurer manuellement.

Cela dépend vraiment de la plate-forme, mais je choisirais WM_WINDOWPOSCHANGED ou OnShow. Ce n'est pas wm_size .. Celui-ci n'est pas toujours jeté sur toutes les plateformes. Casio ne lance pas l'événement de taille lorsque vous vous en attendez. TDS et Symbol font.

Même si MSDN est une excellente source d'informations, souvenez-vous que tous les systèmes d'exploitation ne sont pas créés égaux. Dans le monde PPC, le fournisseur de matériel peut créer son propre système d'exploitation et parfois rater des choses, ou les ignorer volontairement.

J'ai ici une plate-forme (nom masqué pour protéger ... enfin moi) qui comporte des boutons gauche et droit .. Lorsque vous appuyez dessus, vous vous attendez à pouvoir attraper VK_LEFT, VK_RIGHT ... Vous ' d avoir tort. Vous obtenez réellement ';' ou ':'. Comment ça pour un coup de pied dans le pantalon.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top