TAMANHO RESOLU?ÃO FORMUL?RIOS VB6

MILTONSILVA94 16/01/2015 18:47:34
#443847
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?
TUNUSAT 17/01/2015 00:42:28
#443852
Resposta escolhida
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.
MILTONSILVA94 17/01/2015 03:59:36
#443853
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
MILTONSILVA94 17/01/2015 13:41:36
#443858
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
MILTONSILVA94 17/01/2015 14:53:06
#443859
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?
MARCELO.TREZE 17/01/2015 16:09:04
#443860
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.
MILTONSILVA94 17/01/2015 17:14:03
#443861
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...
MARCELO.TREZE 17/01/2015 17:24:01
#443862
vc tem skype?
MILTONSILVA94 17/01/2015 17:59:25
#443863
milton_silva94
MILTONSILVA94 25/01/2015 21:51:13
#444016
Se alguém tiver uma nova rotina, favor me informar, obrigado.
Tópico encerrado , respostas não são mais permitidas