Mistä voin muuttaa formin kokoa? Eli tarkoituksena olisi, että kun nappia painetaan ja formi tulee näkyviin niin se olisi tietyn kokoinen?.
Nyt kun minulla on yksi formi laitettu Load eventissä näin
DoCmd.Maximize
Niin kaikki muutkin formit on "isoina" avatessa.
HEI mrkebab!
Vaikkapa näin:
Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Select Case Button Case 1 If Me.Width < Screen.Width And Me.Height + 200 < Screen.Height Then Me.Width = Me.Width * 2 Me.Height = Me.Height * 2 End If Case 2 If Me.Width > Command1.Width And Me.Height > Command1.Height * 4 Then Me.Width = Me.Width / 2 Me.Height = Me.Height / 2 End If End Select End Sub Private Sub Form_Load() Me.Width = Screen.Width / 2 Me.Height = Screen.Height / 2 Command1.Width = CInt(Screen.Width / 20) Command1.Height = CInt(Screen.Height / 20) End Sub Private Sub Form_Resize() If Me.Width > Screen.Width Then Me.Width = Screen.Width If Me.Height > Screen.Height Then Me.Height = Screen.Height If Me.Width < Command1.Width Then Me.Width = Command1.Width If Me.Height < Command1.Height Then Me.Height = Command1.Height Me.Left = (Screen.Width / 2) - (Me.Width / 2) Me.Top = (Screen.Height / 2) - (Me.Height / 2) Command1.Left = (Me.Width / 2) - (Command1.Width / 2) Command1.Top = (Me.Height / 2) - (Command1.Height / 2) - 200 End Sub
Kiitos vaivannäöstä.
Annoin alussa vähän huonot tiedot, sillä olen tekemässä tätä Access 2003:lla Ja käytän VBA:ta.
Nuissa taitaa olla jotain eroja, sillä kun kopioin koodin ja kun kokeilen suorittaa sitä ,niin tulee virheilmoitus:
Method or data member not found.
Ja herja tulee tästä kohtaa:
If Me.Width < Screen.Width
Tosiaankaan kun kirjoitan Width. niin ei löydy sellaista luokkaa kuin Width ?
Hei mrkebab!
Kyllä siitä UserForm:sta löytyy Width - Height ominaisuudet
Jos taas tarkoitit sitä Workbook'ia niin sieltä kyllä löytyy tapahtuma:
WindowResize(ByVal Wn As Window)
En ole varma voiko sen kokoon vaikuttaa esim. formista käsin, mutta tutkin asian ihan pekästä mielenkiinnosta...
Eli miten minun pitäisi korvata seuraavat lauseet, kun niitä ei löydy?
Screen.Width
Screen.Height
Me.Height
Me.Top
Me.Left
Hei mrkebab!
Hyvä kysymys...
Access 2003:n MoveSize VBA-metodi vastaa VB:n Move-metodia, jolla voi määritellä formin paikan ja koon. Access 2k3:ssa MoveSize-metodin argumentit poikkeavat Move-metodin vastaavista. MoveSize:n argumentit ovat [OikeaReuna], [AlaReuna], [Leveys] ja [Korkeus], joista vähintään yksi pitää määritellä kutsuttaessa metodia, kun ne Move:n yhtyedessä ovat [VasenReuna], [YläReuna], [Leveys] ja [Korkeus].
DoCmd.MoveSize 1400, 2400, , 2000 'Leveys jätetty muuttamatta. Jos sen arvo on esim. 1000, niin formin vasen ylänurkka on koordinaateissa 400/400
Lisää kyseinen MoveSize-hässäkkä jokaisen Formin Load-eventtiin niillä arvoilla, joilla haluat kyseisen ikkunan näkyvän käyttäjälle.
VAU BadSource!
Kiitos!!!
EDIT:
Kiitos paljon. !
Aihe on jo aika vanha, joten et voi enää vastata siihen.