Recent

Author Topic: Diferença entre a tela do iPAQ, o emulador e o Form no Lazarus  (Read 5459 times)

nightrider

  • Full Member
  • ***
  • Posts: 139
Diferença entre a tela do iPAQ, o emulador e o Form no Lazarus
« on: October 17, 2011, 12:36:01 pm »
Anexo #1: Snapshot do Form conforme mostrado no Lazarus;

Anexo #2: O mesmo Form visto na tela do emulador da microsoft;

Anexo #3: Fotografia da tela de um iPAQ com o mesmo Form exibido...(atenção: O executavel foi copiado da area do emulador para a memoria do iPAQ. Logo só pode ser o mesmo executável)

As perguntas são: Pq o Combo está tão diferente no iPAQ? Será que estou fazendo algo errado? (todos combos em todas telas estão com o mesmo problema)

Eu tenho a impressão que esta "anomalia"começou de repente. Penso já ter visto a tela legal no iPAQ.

Felipe: Poderia ter a ver com o uso de MoveWindow 2 X?

Algum dos srs. saberia o quer fazer?

[ ]

Ricardo

felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3538
Re: Diferença entre a tela do iPAQ, o emulador e o Form no Lazarus
« Reply #1 on: October 17, 2011, 01:13:18 pm »
As perguntas são: Pq o Combo está tão diferente no iPAQ? Será que estou fazendo algo errado? (todos combos em todas telas estão com o mesmo problema)

O ComboBox eh um componente nativo do Windows que tem a sua altura definida pelo sistema operacional. Esse iPaq define essa altura. Provavelmente ele quer que voce defina uma fonte maior pro combobox que bata com a altura que ele define pro componente.

Quote
Felipe: Poderia ter a ver com o uso de MoveWindow 2 X?

Não. Mas se voce quiser, pode tentar usar MoveWindow no combobox pra tentar forcar o tamanho que voce quer. Eh bem facil, basta copiar o codigo da rotina IncreaseForm a mudar alguns parametros e depois usar ela no Handle do ComboBox.

nightrider

  • Full Member
  • ***
  • Posts: 139
Re: Diferença entre a tela do iPAQ, o emulador e o Form no Lazarus
« Reply #2 on: October 17, 2011, 01:45:48 pm »
Felipe: Qual a solução + ortodoxa? Ou melhor, qual tu adotarias se estivesses em meu lugar? Mudar o layout do Form para ComboBoxes maiores ou tentar o MoveWindow no componente?

Há outros componentes na mesma situação do ComboBox, isto é, que tenham suas dimensões definidas pelo Windows?

Pode-se inferir que o menor tamanho que o windows atribuiria a um combobox seja a deste exemplo? Não há jeito de "dizer" ao Windows o tamanho desejado p/um componente?

Como de hábito, muito grato pelas considerações.

[ ]


felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3538
Re: Diferença entre a tela do iPAQ, o emulador e o Form no Lazarus
« Reply #3 on: October 17, 2011, 02:09:53 pm »
Felipe: Qual a solução + ortodoxa? Ou melhor, qual tu adotarias se estivesses em meu lugar? Mudar o layout do Form para ComboBoxes maiores ou tentar o MoveWindow no componente?

Dificil dizer, recomendo testar as duas e ver qual funciona melhor no seu caso. Forcar a altura corre o risco de deformar o componente, ou causar algum outro problema.

Quote
Há outros componentes na mesma situação do ComboBox, isto é, que tenham suas dimensões definidas pelo Windows?

No Lazarus, abra o menu Search->Find in Files

Procure por ".GetPreferredSize"

E procure no diret'orio path_do_lazarus/lcl/interfaces/wince (e win32 tambem para comparar)

Ele vai te listar todos locais onde se implementa essa rotina. No wince parece que falta essa rotina para o combobox.

 

TinyPortal © 2005-2018