vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Form vergrößern 
Autor: Auge
Datum: 14.05.09 11:30

Hallo,

ich habe folgenden Programmcode in einem Modul zum Vergrößern der Form auf Vollbildgröße,
(leider weiß ich nicht, wo der Code her ist...habe ihn auch von einem Bekannten bekommen)
Das ganze funkioniert auch soweit...bis auf die Spaltenweiten im DBGrid. Die Schriftgröße wird angepasst, aber die Spaltenbreite wird nicht verändert, so dass es in einer starken Vergrößerung nicht mehr passt.
Kann mir einer weiterhelfen? Ich nutze VB6, Win XP Sp3 und in diesem Fall sind ca. 10 DBGrids auf der zu vergrößernden Form.

Hier kommt der Code des Moduls: Aufruf mit "Skalieren Me, True, True"
_____________________________________________________________________________________
Public Sub Skalieren(FRM As Form, ScaleForm As Boolean, ScaleFont As Boolean)
'Skaliert alle Elemente der übergebenen Form
'Elemente in Toolbars müssen separat ausgerichtet werden, da Toolbar nicht skaliert wird

Dim I As Integer
Dim K As Long
Dim SFX As Single
Dim SFY As Single

Const DWidth = 15030 'Screen.Width zur Designzeit
Const DHeight = 11310 'Screen.Height zur Designzeit

SFX = Screen.Width / DWidth 'Skalierfaktor X-Achse
SFY = Screen.Height / DHeight 'Skalierfaktor Y_Achse

On Error Resume Next
If ScaleForm Then
FRM.Width = FRM.Width * SFX
FRM.Height = FRM.Height * SFY
FRM.Left = FRM.Left * SFX
FRM.Top = FRM.Top * SFY
End If

For I = 0 To FRM.Controls.Count - 1
'nur wenn ein Toolbarcontrol auf der Form ist
' If Not TypeOf FRM.Controls(I).Container Is Toolbar Then


'diese Routine wird nur benötigt, wenn sich auf der Form ein SSTab befindet.
If TypeOf FRM.Controls(I).Container Is SSTab Then
If FRM.Controls(I).Left < 0 Then
K = 75000
End If
End If

'wenn die vorstehende Routine für SSTab verwendet wird
FRM.Controls(I).Left = ((FRM.Controls(I).Left + K) * SFX) - K

'wenn die obige Routine für SSTab nicht verwendet wird
'FRM.Controls(I).Left = FRM.Controls(I).Left * SFX

FRM.Controls(I).Top = FRM.Controls(I).Top * SFY
FRM.Controls(I).Width = FRM.Controls(I).Width * SFX
FRM.Controls(I).Height = FRM.Controls(I).Height * SFY
If ScaleFont Then
FRM.Controls(I).Font.Size = FRM.Controls(I).Font.Size * SFY
FRM.Controls(I).HeadFont.Size = FRM.Controls(I).HeadFont.Size * SFY
End If

K = 0

'nur wenn ein Toolbarcontrol auf der Form ist
' End If

Next I
On Error GoTo 0
End Sub


'Die Sub wird z.B. im Form_Load - Ereignis so aufgerufen

'Skalieren Me, True, True

'Der Aufruf bewirkt dass alle Controls auf der Form, die Form selbst und die
'Fontgrössen skaliert werden.

'Wurde die Eigenschaft WindowState der Form zur Designzeit bereits auf
'vbMaximized eingestellt so ist das Skalieren der Form selbst nicht sinnvoll.
'Die Sub wird dann z.B. so aufgerufen:

'Skalieren Me, False, True
_______________________________________________________________________________________________

Für eure Hilfe besten Dank im Voraus

Auge
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Form vergrößern1.251Auge14.05.09 11:30

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel