Recent

Author Topic: Mudar orientação da tela em Windows Mobile  (Read 6148 times)

nightrider

  • Full Member
  • ***
  • Posts: 139
Mudar orientação da tela em Windows Mobile
« on: October 23, 2011, 12:33:10 pm »
Vi uma aplicação escrita em C# onde há um icone que quando clicado faz om que a tela passe da posição portrait para landscape e fica tudo arrumado na tela.

Esta é uma feature do .NET ou posso usa-la com Lazarus tb? Se afirmativo, como procedo em meu programa para transformar a orientação da tela para landscape e vice-versa?

[ ]

Ricardo

felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3538
Re: Mudar orientação da tela em Windows Mobile
« Reply #1 on: October 25, 2011, 07:56:52 am »
É uma feature do sistema operacional como qualquer outra que esta listada aqui: http://wiki.lazarus.freepascal.org/WinCE_Programming_Tips

Deve ter uma API em C para fazer isso, é preciso descobrir qual é.

O .NET não possuí nenhuma capacidade exclusiva, ele simplesmente chama as APIs em C do sistema operacional.

nightrider

  • Full Member
  • ***
  • Posts: 139
Re: Mudar orientação da tela em Windows Mobile
« Reply #2 on: October 25, 2011, 12:22:26 pm »
Examinei  o link sugerido e não encontrei alusão a feature que mencionei no 1º post. Mas posso ter me equivocado.

Pq preciso de 1 API em C se estou programando em Lazarus? Desculpe a ignorancia.

Obrigado pelas explicações

[ ]

felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3538
Re: Mudar orientação da tela em Windows Mobile
« Reply #3 on: October 25, 2011, 12:48:51 pm »
Examinei  o link sugerido e não encontrei alusão a feature que mencionei no 1º post. Mas posso ter me equivocado.

O link era apenas para ilustrar outras funcoes do sistema operacional acessiveis por APIs em C

Quote
Pq preciso de 1 API em C se estou programando em Lazarus? Desculpe a ignorancia.

As APIs do Windows CE sao em C, mas sao acessiveis a partir de unidades que importam funcoes das DLLs do Windows CE. Lembra da MoveWindow? Entao, eh uma API em C, mas ela pode ser usada sem problemas em Pascal. Todas APIs em C podem ser usadas sem problemas em Pascal.

A questao agora eh descobrir qual API que faz a rotacao e em qual DLL ela esta. Para fazer isso eh preciso procurar no google. Pode ser dificil achar um codigo em Pascal que chame essa API, mas se voce achar um codigo em C dai a conversao para Pascal eh facil.

C# nao serve, a nao ser que esteja usando P/Invoke, que eh um metodo que o C# usa para chamar APIs em C.

Entao, vamos la: colocando "windows mobile how to rotate screen C" no Google primeiro vieram uns resultados inuteis sobre C# mas o sexto link eh:

http://msdn.microsoft.com/en-us/library/ms812499.aspx

Que eh um tutorial da Microsoft ensinando como rotacionar a tela. Agora basta converte-lo de C para Pascal.

felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3538
Re: Mudar orientação da tela em Windows Mobile
« Reply #4 on: October 25, 2011, 12:57:05 pm »
Eu iniciei uma seção sobre isso na Wiki:

http://wiki.lazarus.freepascal.org/WinCE_Programming_Tips#Rotating_the_Screen

Edit: Agora a wiki ja tem todo o código do tutorial da Microsoft
« Last Edit: October 25, 2011, 01:06:29 pm by felipemdc »

 

TinyPortal © 2005-2018