Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: [VB6] MDI Formin Maximize napin poisto

Syntty [15.09.2009 18:46:28]

#

Hei taas!

Haluaisin tietää, että miten voi poistaa MDI Formista tuon Maximize buttonin? Haluaisin siis, että heti alkuun menisi MDI Formi fullscreeniin ja sitten sitä kokoa ei enää voisi muuttaa.

Onko muuten mitään tapaa miten saisi MDI Formin sisällä menevät formit menemään MDI Formia hiukan pienemmiksi koska MDI Formissani on toolbar käytössä. Ja miten voisi tuon Formin uudelleen mitoituksen jälkeen Formin sisällä olevat buttonit laittaa oikeille paikoilleen?

Toivottavasti tuli tehtyä kysymykseni selväksi!

-Syn

Antti Laaksonen [16.09.2009 13:01:33]

#

Syntty kirjoitti:

Haluaisin tietää, että miten voi poistaa MDI Formista tuon Maximize buttonin? Haluaisin siis, että heti alkuun menisi MDI Formi fullscreeniin ja sitten sitä kokoa ei enää voisi muuttaa.

Tämä koodi voisi olla lähellä haluamaasi:

Option Explicit

Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Const SC_MINIMIZE = &HF020&
Private Const SC_MAXIMIZE = &HF030&
Private Const SC_RESTORE = &HF120&
Private Const MF_BYCOMMAND = &H0&

Private Const WS_MINIMIZEBOX = &H20000
Private Const WS_MAXIMIZEBOX = &H10000
Private Const GWL_STYLE = (-16)

Sub MDIForm_Load()
    Me.WindowState = vbMaximized
    Dim ikkuna As Long
    ikkuna = Me.hwnd
    Dim valikko As Long
    valikko = GetSystemMenu(ikkuna, False)
    DeleteMenu valikko, SC_MINIMIZE, MF_BYCOMMAND
    DeleteMenu valikko, SC_MAXIMIZE, MF_BYCOMMAND
    DeleteMenu valikko, SC_RESTORE, MF_BYCOMMAND
    Dim tyyli As Long
    tyyli = GetWindowLong(ikkuna, GWL_STYLE)
    tyyli = tyyli And Not WS_MINIMIZEBOX And Not WS_MAXIMIZEBOX
    SetWindowLong ikkuna, GWL_STYLE, tyyli
End Sub

Syntty kirjoitti:

Onko muuten mitään tapaa miten saisi MDI Formin sisällä menevät formit menemään MDI Formia hiukan pienemmiksi koska MDI Formissani on toolbar käytössä. Ja miten voisi tuon Formin uudelleen mitoituksen jälkeen Formin sisällä olevat buttonit laittaa oikeille paikoilleen?

Voit muuttaa ikkunoiden ja nappuloiden sijaintia ja kokoa ominaisuuksien Left (etäisyys vasemmasta reunasta), Top (etäisyys yläreunasta), Width (leveys) ja Height (korkeus) avulla.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta