PROBLEMA COM TELAS E RESOLUCOES DIFERENTES

SOUZA 28/01/2011 15:09:18
#363705
Pessoal e o seguinte eu crio meus sistemas em resolução de tela em 1028 x 800 entao as tela sao feitas neste padrao mas quando inst os sistemas e os clientes nao tem monitores com a mesma resolucao ai dano! como eu poderia resolver isso tem alguma maneira do sistema ajustar-se a resolucao ou coisa parecida ?
FEDERHEN 28/01/2011 15:48:21
#363709


Você deve programar em resolução de tela mais baixa...
Eu programo em 600 x 800 e nunca tive problemas...
SOUZA 28/01/2011 15:56:11
#363710
Nossa mas vc nao acha ruim os controles ficam enormes e nao tem espaço na tela pra nada ?
KURTGU 28/01/2011 16:02:11
#363712
voce poderia usar as opcoes archor e outra que redimensiona os itens dentro da form.....eu to com esse mesmo problema mais estou aprendendo ainda a usar essas opcoes..
SOUZA 28/01/2011 16:21:27
#363716
entao se eu fizer em resolucao de 800x600 quando a reso for 1024x768 ai sai tudo do lugar fica muito feio tem que ter outro jeito !
SOUZA 28/01/2011 16:35:08
#363718
Nao seria interessante tipo Pasta do sistema

C:\SISTEMA

ai vc fazer as 3 opcoes tipo uma pasta ex

1 - C:\SISTEMA\800X600
2 - C:\SISTEMA\1024X748
3 - C:\SISTEMA\1028X800

ai uma tela que cheque qual resolucao vc esta na tela e entao execute o executavel correpondente sei que vcs vao falar que da uma roça mas e o unico jeito que vejo pra nao ter prob com os ajustes de tela !
MARCELO.TREZE 28/01/2011 16:53:32
#363720
Olha só souza primeiro ao criar seu sistema, vc deve colocar requisitos, no caso um dos requisitos seria uma resolução minima de 1024X768.

se vc deseja que o seu sistema funcione em 800X600, acredito que somente computadores muito antigos ainda possuem esta resolução, entã terá de criar seu sistema nesta resolução.

outra solução seria alterar a resolução do PC e ao terminar o programa voltar a resolução original

veja este exemplo

[ô]No General do form
Dim Res() As String


No form principal cole

Private Sub Form_Load()
Dim intX As Integer
Dim intY As Integer
Dim strResolucao As String

intX = Screen.Width / Screen.TwipsPerPixelX
intY = Screen.Height / Screen.TwipsPerPixelY
strResolucao = intX & [Ô]x[Ô] & intY
If strResolucao <> [Ô]1024x768[Ô] Then
Res = Split(strResolucao, [Ô]x[Ô]) [ô]Armazena a resolução em uma array
Call ChangeRes(1024, 768) [ô]altera a resolução para 1024x768
End If
End Sub



Private Sub Form_Unload(Cancel As Integer)
[ô]quando você encerrar o programa
Call ChangeRes(CInt(Res(0)), CInt(Res(1))) [ô]Retorna para resolução padrão do PC
End Sub


e em um módulo cole


Private Declare Function EnumDisplaySettings Lib _
[Ô]user32[Ô] Alias [Ô]EnumDisplaySettingsA[Ô] _
(ByVal lpszDeviceName As Long, ByVal _
iModeNum As Long, lpDevMode As Any) As _
Boolean
Private Declare Function ChangeDisplaySettings Lib _
[Ô]user32[Ô] Alias [Ô]ChangeDisplaySettingsA[Ô] _
(lpDevMode As Any, ByVal dwflags As Long) _
As Long
Private Const CCDEVICENAME = 32
Private Const CCFORMNAME = 32
Private Const DM_PELSWIDTH = &H80000
Private Const DM_PELSHEIGHT = &H100000
Private Type DEVMODE
dmDeviceName As String * CCDEVICENAME
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmYResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * CCFORMNAME
dmUnusedPadding As Integer
dmBitsPerPel As Integer
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
End Type
Global Res() As String
Public Sub ChangeRes(iWidth As Single, iHeight _
As Single)
Dim DevM As DEVMODE
Dim a As Boolean
Dim i As Long
Dim b As Long
i = 0
Do
a = EnumDisplaySettings(0&, i&, DevM)
i = i + 1
Loop Until (a = False)
DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
DevM.dmPelsWidth = iWidth
DevM.dmPelsHeight = iHeight
b = ChangeDisplaySettings(DevM, 0)
End Sub
SOUZA 28/01/2011 16:59:54
#363723
marcelo vc diz que vc deve criar entao um padrao fixo tipo o cliente tem que ter no minimo uma pc que tem a resolucao 1024x768 isso ?
MARCELO.TREZE 28/01/2011 17:07:01
#363725
exato,

repare os programas de renome a maioria dlees existe uma configuração minima.

então se vc ter certeza que seu programa ira funcionar plenamente em uma configuração minima deverá exigir isto do cliente entendeu?
SOUZA 28/01/2011 17:35:08
#363729
Fiz como vc falou so que uma comando para centralizar as tela no form parou de funcionar oq pode ser uso a seguinte linha pra centralizar

[ô]Centraliza a tela
Me.Left = (Screen.Width - Me.Width) / 2
Me.Top = (Screen.Height - Me.Height) / 2

c tiver em resolucao altar ele centraliza c voltar pra 1024x768 ele centraliza errado ?
MARCELO.TREZE 28/01/2011 18:08:34
#363731
como assim centralizar a tela no form?

como você fez afinal? colocou um MDI
Página 1 de 2 [19 registro(s)]
Tópico encerrado , respostas não são mais permitidas