Recent

Author Topic: Tamanho da tela na volta do show de um Form  (Read 5755 times)

nightrider

  • Full Member
  • ***
  • Posts: 139
Tamanho da tela na volta do show de um Form
« on: September 20, 2011, 07:58:31 pm »
Olá!

Eu to apanhando das telas no Windows Mobile. Descrever-vos-ei abaixo o problema, na esperanca de que alguem saiba como resolver:

1. Ao executar a aplicacao, aparece a tela exibida em 1-tela1 abaixo. No final do metodo FormActivate é executada uma rotina que elimina a barra de tarefas superior;

2. Apos digitar usuario e senha e clicar OK aparece a tela exibida em 2-tela2 abaixo. No inicio do metodo FormActivate é executada uma rotina que elimina a barra de tarefas superior;

3. Apos clicar no icone do codigo de barras que aparece no rodape da tela aparece a tela exibida em 3-tela3 abaixo. No inicio do metodo FormShow é executada uma rotina que elimina a barra de tarefas superior;

4. Ao clicar no icone de retorno(bolinha azul) o é executado o metodo Self.Close e aparece, em seguida, a tela 2 de novo conforme exibido em 4-tela2_apos_sair_de_tela3.

Percebe-se que na volta o topo da tela "desaparece". É possivel ver o fim da cedilha da palavra "Funções" da expressaõ "Funções do Sistema" que existe no topo do Form que constitui a tela 2. O altura da área "desaparecida" no topo desta tela parece ser a altura da barra de tarefas do windows mobile e que trato de remover antes de dar os Show.
Se voltar mais uma tela pra tras desaparece, na tela1, um pedaco do panel que contem a palavra "Logo" na tela 1. Este pedaco tem exatamente a altura da barra de tarefas do windows mobile.

Fiz as medicoes com uma regua na tela do emulador. E o que pareceu é que desaparece justamente a altura da barras de tarefas do windows mobile ao voltar de uma tela para a anterior.

Só nao foi possivel mostrar a tela 1 na volta pq sao só 4 attachments permitidos.

Alguem tem ideia de como resolver isto, por favor?

Saudacoes desde Sao Paulo - SP

Ricardo

meulinux

  • Guest
Re: Tamanho da tela na volta do show de um Form
« Reply #1 on: September 21, 2011, 08:55:51 pm »
Só uma pergunta: Isso é erro no Lazarus ou no emulador? Acho difícil ser no Lazarus, e se ainda for, pode ser que você ultrapassou o tamanho do limite da tela (width)

nightrider

  • Full Member
  • ***
  • Posts: 139
Re: Tamanho da tela na volta do show de um Form
« Reply #2 on: September 22, 2011, 02:35:29 pm »
Olá!

Eu resolvi problema. O erro era de interface. Entre a cadeira e o teclado. Como eu expliquei anteriormente, eu chamo 1 metodo(escrito por nosso admiravel colega Felipe Monteiro de Carvalho, direto da Polonia) que elimina a barra de tarefas que fica no topo da tela do mobile.

A chamada estava no OnActivate, quando deveria estar on OnShow. Pelo que entendi, toda vez que dou Close num Form, ocorre OnActivate no Form que criou este que esta sendo fechado já que o chamador volta ao controle(depois de muito tempo ainda me atrapalho com estes metodos que gerenciam a criacao e exibicao de 1 Form).

Ah! Ia me esquecendo: Quando é aberta a aplicacao é preciso condicionar a execucao do metodo que limpa a barra de tarefas para que seja executado somente na abertura da aplicacao  no OnActivate(eu usei uma chave booleana ligada que eu desligo ao passar a primeira vez. Nem sei se teria outra forma de garantir que seja executado somente a primeira vez, alias). Tentei colocar no OnShow desta primeira tela o tal metodo mas parece nunca ocorrer OnShow para a 1ª tela. Foi o que conclui com meus testes. Se alguem vir algum erro, por favor me avise(nightrider43@gmail.com).

Grato pela ajuda

[ ]

Ricardo

 

TinyPortal © 2005-2018