| 
                              
                                  Thema
                              
                           | 
                          
                              
                                  Datum 
                           | 
                          
                              
                                  Von Nutzer
                           | 
                          
                              
                                  Rating
                           | 
                          
                               
                                  Antwort 
                           | 
                      
                      
 | 
02.06.2004 14:02:53 | 
Heiko | 
 | 
 | 
 | 
02.06.2004 15:27:50 | 
Rasta | 
 | 
 | 
 | 
02.06.2004 16:28:18 | 
Heiko | 
 | 
 | 
  Aw:Aw:Aw:Access Formulare Bildschirmgröße anpassen  | 
02.06.2004 16:47:24 | 
Rasta | 
 | 
 | 
 | 
03.06.2004 15:26:21 | 
Heiko | 
 | 
 | 
 | 
03.06.2004 16:22:55 | 
Rasta | 
 | 
 | 
 | 
04.06.2004 09:09:49 | 
Heiko | 
 | 
 | 
 | 
03.06.2004 16:42:35 | 
Rasta | 
 | 
 | 
                  
    
                    
             
								 
									
										Von: 
                                            Rasta | 
										Datum: 
                                            02.06.2004 16:47:24 | 
										Views:
                                             
                                            3708 | 
										Rating:
                                                                          | 
										Antwort: 
                                             
                                             
                                             | 
									
									
										Thema:
                                             
                                            Aw:Aw:Aw:Access Formulare Bildschirmgröße anpassen | 
									
									
										 
                                            hallo heiko,
 
 ich habe gesucht und gefunden. du bindest dir einfach eine klasse in dein vb/vba-rpojekt und schreibst darin folgendes
 
     '*******************************************************************************
     ' Resizer (Class)
     '
     ' Author : Sven Maes
     '          mail.me@vt4.net
     '
     ' DESCRIPTION:
     ' This class resizes all controls on the form
     '
     ' usage :
     ' in the form, add a reference to clsResizer
     ' in the form, declare a new resizerclass
     ' in form_load : set resizer.frmtosize = me
     ' in form_resize : resizer.adjustSize
     '  --> 1 resizer variable for each form !
     '*******************************************************************************
 Public Sub ResetForm()
     setInitialFormPos
 End Sub
 Public Property Set frmToSize(frm As Object)
     Set frmSize = frm
     setInitialFormPos
 End Property
 Public Sub AddItemNotToResize(Itemname As String)
     Dim i As Long
 
     If Not frmset Then Exit Sub
     
     For i = 0 To UBound(collSize)
         If LCase(collSize(i).name) = LCase(Itemname) Then
             collSize(i).name = ""
             Exit For
         End If
     Next i
 
 
 End Sub
 Public Property Let ResizeFonts(rsf As Boolean)
     doFonts = rsf
 End Property
 
 
 Private Sub setInitialFormPos()
     'remember the relative size and position of the controls on the form
     Dim objContr As Control
     Dim i As Integer
     
     If frmSize.Controls.Count = 0 Then Exit Sub
 
     sngOrigHeight = frmSize.ScaleHeight
     sngOrigWidth = frmSize.ScaleWidth
     ReDim collSize(0 To frmSize.Controls.Count)
     i = 0
     For Each objContr In frmSize.Controls
         If TTS(objContr) Then 'try to size
             collSize(i).name = objContr.name
             collSize(i).percHeight = objContr.Height / sngOrigHeight
             collSize(i).percLeft = objContr.Left / sngOrigWidth
             collSize(i).percTop = objContr.Top / sngOrigHeight
             collSize(i).percWidth = objContr.Width / sngOrigWidth
             If doFonts And TTF(objContr) Then
                 collSize(i).fontsize = objContr.Font.Size / sngOrigHeight
             Else
                 collSize(i).fontsize = -1
             End If
             i = i + 1
         Else
             'move the object
             
             'special objects
             Select Case LCase(TypeName(objContr))
                 Case "timer"
                     'not possible to resize or to move
                     DoEvents
                 Case "line"
                     collSize(i).name = objContr.name
                     collSize(i).percLeft = objContr.X1 / sngOrigWidth
                     collSize(i).percWidth = objContr.X2 / sngOrigWidth
                     collSize(i).percTop = objContr.Y1 / sngOrigHeight
                     collSize(i).percHeight = objContr.Y2 / sngOrigHeight
                     i = i + 1
                     If doFonts And TTF(objContr) Then
                         collSize(i).fontsize = objContr.Font.Size / sngOrigHeight
                     Else
                         collSize(i).fontsize = -1
                     End If
                 Case Else
                     collSize(i).name = objContr.name
                     collSize(i).percLeft = objContr.Left / sngOrigWidth
                     collSize(i).percTop = objContr.Top / sngOrigHeight
                     collSize(i).percWidth = -1 'negative number -> move only
                     collSize(i).percHeight = -1
                     i = i + 1
                     If doFonts And TTF(objContr) Then
                         collSize(i).fontsize = objContr.Font.Size / sngOrigHeight
                     Else
                         collSize(i).fontsize = -1
                     End If
             End Select
         End If
     Next
     frmset = True
 End Sub
 Private Function TTS(obj As Control) As Boolean
     'this function tests if the control is sizeable
     On Error GoTo errhan
     
     obj.Width = obj.Width
     obj.Height = obj.Height
     
     TTS = True
     Exit Function
 errhan:
     TTS = False
 End Function
 Private Function TTF(obj As Control) As Boolean
     'Try To size Font
     On Error GoTo errhan
 
     obj.Font.Size = obj.Font.Size
 
     TTF = True
     Exit Function
 errhan:
     TTF = False
 End Function
 Public Sub AdjustSize()
 
     If Not frmset Then Exit Sub
     
     Dim objContr As Control
     Dim j As Integer
     
     If frmSize.Controls.Count = 0 Then Exit Sub
 
     sngOrigHeight = frmSize.ScaleHeight
     sngOrigWidth = frmSize.ScaleWidth
     j = 0
     For Each objContr In frmSize.Controls
         For j = 0 To UBound(collSize)
             If collSize(j).name = objContr.name Then
                 If LCase(TypeName(objContr)) = "line" Then
                     objContr.X1 = collSize(j).percLeft * sngOrigWidth
                     objContr.X2 = collSize(j).percWidth * sngOrigWidth
                     objContr.Y1 = collSize(j).percTop * sngOrigHeight
                     objContr.Y2 = collSize(j).percHeight * sngOrigHeight
                 Else
                     'move should work
                     objContr.Left = collSize(j).percLeft * sngOrigWidth
                     objContr.Top = collSize(j).percTop * sngOrigHeight
                     If collSize(j).percHeight > 0 Then 'size only when possible
                         objContr.Width = collSize(j).percWidth * sngOrigWidth
                         objContr.Height = collSize(j).percHeight * sngOrigHeight
                     End If
                 End If
                 
                 If doFonts And collSize(j).fontsize > 0 Then
                     objContr.Font.Size = IIf(Int(collSize(j).fontsize * sngOrigHeight) = 0, objContr.Font.Size, Int(collSize(j).fontsize * sngOrigHeight))
                 End If
             End If
         Next j
     Next
      
 End Sub
 
 Private Sub Class_Initialize()
     doFonts = False
     frmset = False
 End Sub
 
 
 UND in deine form:
 
 Option Explicit
 Dim r As New resizer
     
 Private Sub Form_Load()
     'required
     Set r.frmToSize = Me
 
 End Sub
 
 Private Sub Form_Resize()
     'required
     r.AdjustSize
 End Sub
 
 
 Quelle:
 
 http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=35720&lngWId=1&txtForceRefresh=6220041043279506
 
 soit sollte die form, sich bei jedem resize anpassen....
 hoffe es hilft
 
 
 gruß
 
 rasta
 
 
 Heiko schrieb am 02.06.2004 16:28:18:
 
 Hallo rasta,
 
 schlecht wärs nicht, wenn du eine akzeptable Lösung finden würdest.
 
 Heiko
 
 
 Rasta schrieb am 02.06.2004 15:27:50:
 
 hallo heiko,
 
 in vba ist das ein kleines problem. ich würde das formular ohne maximize erstellen und dieses fest machen.
 ansonsten brauchst du einen script/code der je nach position die steuerelemente an die richtige stelle schiebt.
 habe so etwas noch nie selber benötigt, aber wenn du nicht anders kannst, versuche ich, die lösung für dich zu finden.
 
 gruß
 
 rasta
 
 Heiko schrieb am 02.06.2004 14:02:53:
 
 Hallo,
 
 ich habe das Problem, dass mein in Acces erstelltes Hauptformular mit 19" Bildschir erstellt, mit kleineren Bildschirmen abgeschnitten wird und mit größeren Bildschirmen die Steuerelemente verschoben zum Original angezeigt werden. Kann man das irgendwie dynamisch anpassen, dass sich z.B. die Steuerelemente immer an der gleichen Stelle befinden, egal mit welchem Bildschirm das Programm ausgeführt wird? Das Formular muss als Dialog und möglichst maximiert geöfnet werden.
 
 Kann mir da jemand helfen?
 
 Heiko     | 
									
								
							
 					
		   
 
                          
                        
                                
                    - Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
 
                                        - Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
 
                        - Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
 
                        - Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
 
                        - Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei 
    Antworten auf Ihren Beitrag zu benachrichtigen
 
                                    
                            
                             
                          
	
                         
                                  
                             
                             Bitte geben Sie ein aussagekräftiges Thema an. 
                            
                            Bitte geben Sie eine gültige Email Adresse ein!
                            
                            
                       
                                - Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
 
                                        - Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
 
                        - Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
 
                        - Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
 
                        - Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei 
    Antworten auf Ihren Beitrag zu benachrichtigen
 
                                    
                        
                            
                        
                         
                                                  
 
                                       
                            
                      
                          | 
                              
                                  Thema                               
                           | 
                          
                              
                                  Datum 
                           | 
                          
                              
                                  Von Nutzer
                           | 
                          
                              
                                  Rating
                           | 
                          
                               
                                  Antwort 
                           | 
                      
                      
 | 
02.06.2004 14:02:53 | 
Heiko | 
 | 
 | 
 | 
02.06.2004 15:27:50 | 
Rasta | 
 | 
 | 
 | 
02.06.2004 16:28:18 | 
Heiko | 
 | 
 | 
  Aw:Aw:Aw:Access Formulare Bildschirmgröße anpassen  | 
02.06.2004 16:47:24 | 
Rasta | 
 | 
 | 
 | 
03.06.2004 15:26:21 | 
Heiko | 
 | 
 | 
 | 
03.06.2004 16:22:55 | 
Rasta | 
 | 
 | 
 | 
04.06.2004 09:09:49 | 
Heiko | 
 | 
 | 
 | 
03.06.2004 16:42:35 | 
Rasta | 
 | 
 |