TAMANHO RESOLU?ÃO FORMUL?RIOS VB6
Prezados...
Estou com algumas telas em meu projeto VB6, por exemplo em uma delas chega a constar 36 campos. Arrumei as propriedades deste formulário conforme abaixo:
StartUpPosition = [ô]2 - CenterScreen[ô]
Height = [ô]10110[ô]
Moveable = [ô]False[ô]
ControlBox = [ô]False[ô]
Widht = [ô]19200[ô]
WindowsState = [ô]0 - Normal[ô]
Me preocupo porém, se o mesmo for aberto em um pc que o monitor seja bem menor, pois daà terá campos em que não irá aparecer, até porquê ele não contêm uma barra de rolagem para que vá para baixo ou para cima.
Como posso resolver este problema de resolução nestes formulários?
Estou com algumas telas em meu projeto VB6, por exemplo em uma delas chega a constar 36 campos. Arrumei as propriedades deste formulário conforme abaixo:
StartUpPosition = [ô]2 - CenterScreen[ô]
Height = [ô]10110[ô]
Moveable = [ô]False[ô]
ControlBox = [ô]False[ô]
Widht = [ô]19200[ô]
WindowsState = [ô]0 - Normal[ô]
Me preocupo porém, se o mesmo for aberto em um pc que o monitor seja bem menor, pois daà terá campos em que não irá aparecer, até porquê ele não contêm uma barra de rolagem para que vá para baixo ou para cima.
Como posso resolver este problema de resolução nestes formulários?
MILTONSILVA94,
Tem várias formas de resolver, escolha a que você gostar mais.
1 - O VB6 tem duas barra de rolagem nativas que se chama [Ô]HScrollBar[Ô] e [Ô]HScrollBar[Ô]. Tem exemplos na internet de como usá-las;
2 - No menu [Ô]Project[Ô] / [Ô]Components[Ô]:
2.1 - Escolha: [Ô]Microsoft Windows Commons Control-2 6.0 (SP4)[Ô]. Existe um objeto chamado [Ô]FlatScrollBar[Ô]. A [Ô].OCX[Ô] fica em: [Ô]C:\Windows\SysWOW64\mscomct2.ocx[Ô];
2.2 - Escolha: [Ô]Microsoft Windows Commons Control 6.0 (SP6)[Ô]. Existe um objeto chamado [Ô]TabStrip[Ô]. A [Ô].OCX[Ô] fica em: [Ô]C:\Windows\SysWOW64\MSCOMCTL.ocx[Ô]. Este é o jeito que todos gostam de fazer ... Neste caso você vai dividir sua tela em ABAS e colocar cada [Ô]conjunto[Ô] de objetos de forma separada e mais organizada. Cada aba pode ter seu próprio nome;
Na forma de ABAS você pode aproveitar muito do espaço da tela.
Existem outras ABAS de outros fabricantes de objetos ... agora não me lembro os nomes delas AHHH! Uma outra se chama [Ô]SSTab[Ô]!... mas deve ser relativamente fácil de encontrar exemplos e o objeto para ser anexado ao seu código fonte.
Veja mais em:
=========================================
Controle VScrollBar para usuários do Visual Basic 6.0
http://msdn.microsoft.com/pt-br/library/y7f8xwcf(v=vs.90).aspx
=========================================
O que há de novo no VB6.0
- O Controle FlatScrollBar
http://www.macoratti.net/vb6.htm#Heading9
=========================================
VB - Usando o controle TabStrip
http://www.macoratti.net/vb_strip.htm
=========================================
Como usar Tabs em Visual Basic
http://pt.wingwit.com/P/visual-basics-programming/95846.html
=========================================
[][ô]s,
Tunusat.
Tem várias formas de resolver, escolha a que você gostar mais.
1 - O VB6 tem duas barra de rolagem nativas que se chama [Ô]HScrollBar[Ô] e [Ô]HScrollBar[Ô]. Tem exemplos na internet de como usá-las;
2 - No menu [Ô]Project[Ô] / [Ô]Components[Ô]:
2.1 - Escolha: [Ô]Microsoft Windows Commons Control-2 6.0 (SP4)[Ô]. Existe um objeto chamado [Ô]FlatScrollBar[Ô]. A [Ô].OCX[Ô] fica em: [Ô]C:\Windows\SysWOW64\mscomct2.ocx[Ô];
2.2 - Escolha: [Ô]Microsoft Windows Commons Control 6.0 (SP6)[Ô]. Existe um objeto chamado [Ô]TabStrip[Ô]. A [Ô].OCX[Ô] fica em: [Ô]C:\Windows\SysWOW64\MSCOMCTL.ocx[Ô]. Este é o jeito que todos gostam de fazer ... Neste caso você vai dividir sua tela em ABAS e colocar cada [Ô]conjunto[Ô] de objetos de forma separada e mais organizada. Cada aba pode ter seu próprio nome;
Na forma de ABAS você pode aproveitar muito do espaço da tela.
Existem outras ABAS de outros fabricantes de objetos ... agora não me lembro os nomes delas AHHH! Uma outra se chama [Ô]SSTab[Ô]!... mas deve ser relativamente fácil de encontrar exemplos e o objeto para ser anexado ao seu código fonte.
Veja mais em:
=========================================
Controle VScrollBar para usuários do Visual Basic 6.0
http://msdn.microsoft.com/pt-br/library/y7f8xwcf(v=vs.90).aspx
=========================================
O que há de novo no VB6.0
- O Controle FlatScrollBar
http://www.macoratti.net/vb6.htm#Heading9
=========================================
VB - Usando o controle TabStrip
http://www.macoratti.net/vb_strip.htm
=========================================
Como usar Tabs em Visual Basic
http://pt.wingwit.com/P/visual-basics-programming/95846.html
=========================================
[][ô]s,
Tunusat.
Procurei mais sobre o [ô]VScrollBar[ô], e achei as orientações que precisava sobre a barra, conforme o link abaixo:
http://www.macoratti.net/d140704.htm
http://www.macoratti.net/d140704.htm
Segue exemplo para a barra VScrollBar:
Option Explicit
Dim PosAnterior As Integer
Private Sub Form_Load()
Dim iAlturaFormulario As Integer
Dim iExibeAltura As Integer
iAlturaFormulario = 3765
iExibeAltura = 1800
[ô] Me.Height = iExibeAltura
With VScroll1
.Height = Me.ScaleHeight
.Min = 0
.Max = iAlturaFormulario - iExibeAltura
.SmallChange = Screen.TwipsPerPixelY * 10
.LargeChange = .SmallChange
End With
End Sub
Private Sub pRolaFormulario()
Dim ctl As Control
For Each ctl In Me.Controls
If Not (TypeOf ctl Is VScrollBar) And Not (TypeOf ctl Is CommandButton) Then
ctl.Top = ctl.Top + PosAnterior - VScroll1.Value
End If
Next
PosAnterior = VScroll1.Value
End Sub
Private Sub VScroll1_Change()
Call pRolaFormulario
End Sub
Private Sub VScroll1_Scroll()
Call pRolaFormulario
End Sub
Option Explicit
Dim PosAnterior As Integer
Private Sub Form_Load()
Dim iAlturaFormulario As Integer
Dim iExibeAltura As Integer
iAlturaFormulario = 3765
iExibeAltura = 1800
[ô] Me.Height = iExibeAltura
With VScroll1
.Height = Me.ScaleHeight
.Min = 0
.Max = iAlturaFormulario - iExibeAltura
.SmallChange = Screen.TwipsPerPixelY * 10
.LargeChange = .SmallChange
End With
End Sub
Private Sub pRolaFormulario()
Dim ctl As Control
For Each ctl In Me.Controls
If Not (TypeOf ctl Is VScrollBar) And Not (TypeOf ctl Is CommandButton) Then
ctl.Top = ctl.Top + PosAnterior - VScroll1.Value
End If
Next
PosAnterior = VScroll1.Value
End Sub
Private Sub VScroll1_Change()
Call pRolaFormulario
End Sub
Private Sub VScroll1_Scroll()
Call pRolaFormulario
End Sub
Detectei que se criar formulário e colocar o componente [ô]VScrollBar[ô] com o código que informei acima ele funciona. Porém tenho o componente em todos os meus formulários chamado [ô]ImageList[ô], sendo assim, se constar estes dois objetos(VScrollBar e ImageList) o sistema aponta erro na linha da rotina [ô]pRolaFormulario[ô]:
ctl.Top = ctl.Top + PosAnterior - VScroll1.Value
Como posso corrigir isso?
ctl.Top = ctl.Top + PosAnterior - VScroll1.Value
Como posso corrigir isso?
colega eu tenho uma sugestão simples coloque um mdiform e mude a propriedade mdichild dos demais para true, e chame todos os forms nesta mdichild, pronto idependente do tamanho da tela as barras vão aparecer.
MARCELO-TREZE,
Tem algum artigo para que eu possa ver melhor sobre como fazer? Para que eu possa realizar testes e verificar se dará certo ou não no meu projeto...
Tem algum artigo para que eu possa ver melhor sobre como fazer? Para que eu possa realizar testes e verificar se dará certo ou não no meu projeto...
vc tem skype?
milton_silva94
Se alguém tiver uma nova rotina, favor me informar, obrigado.
Tópico encerrado , respostas não são mais permitidas