Rumah > Artikel > tutorial komputer > Jenis fungsi penyesuaian saiz kawalan VB tidak memenuhi keperluan!
Tambah modul
Pilihan Eksplisit
Malapkan FormOldWidth Selagi 'Nilai lebar lama borang
Dim FormOldHeight Selagi 'Nilai ketinggian lama borang
Sub Awam ResizeInit(Nama Borang Sebagai Borang)
Malapkan pCtl Sebagai Kawalan
'Tetapkan ketinggian lama dan lebar borang
FormOldWidth = FormName.ScaleWidth
FormOldHeight = FormName.ScaleHeight
Pada Ralat Sambung semula Seterusnya
Untuk Setiap pCtl Dalam FormName
'Tetapkan nilai Tag kawalan dalam bentuk (tetapkan mengikut kedudukan dan saiz ruang)
'Mengembalikan atau menetapkan ungkapan yang menyimpan data tambahan yang diperlukan oleh program.
'Tidak seperti sifat lain, Visual Basic tidak menggunakan nilai sifat Tag
'Gunakan atribut ini untuk mengenal pasti objek.
pCtl.Tag = pCtl.Kiri & " " & pCtl.Atas & " " & pCtl.Lebar & " ” & pCtl.Tinggi & " "
pCtl seterusnya
Pada Ralat GoTo 0
Tamat Sub
Borang Ubah Saiz Sub Awam(Nama Borang Sebagai Borang)
Malap Pos(4) Berganda
Malapkan i Selagi, tmpPos Selagi, staPos Selagi
Malapkan pCtl Sebagai Kawalan
Dim ScaleX As Double, ScaleY As Double
'Simpan nisbah penskalaan lebar dan ketinggian borang
ScaleX = FormName.ScaleWidth / FormOldWidth
ScaleY = FormName.ScaleHeight / FormOldHeight
Pada Ralat Sambung semula Seterusnya
'Tukar kawalan dalam borang
Untuk Setiap pCtl Dalam FormName
staPos = 1
Untuk i = 0 Hingga 4 'Kedudukan dan saiz
'Dapatkan kedudukan asal dan saiz kawalan
tmpPos = InStr(staPos, pCtl.Tag, "", vbTextCompare)
Jika tmpPos > 0 Maka
Pos(i) = Mid(pCtl.Tag, staPos, tmpPos - staPos)
staPos = tmpPos + 1
Lain
Pos(i) = 0
Tamat Jika
'Tukar saiz mengikut kedudukan asal kawalan dan bentuk
'Ubah kedudukan dan ubah saiz kawalan secara berkadar
pCtl.Move Pos(0) * ScaleX, Pos(1) * ScaleY, Pos(2) * ScaleX, Pos(3) * ScaleY
Seterusnya i
pCtl seterusnya
Pada Ralat GoTo 0
Tamat Sub
Tambah kod dalam Borang
Sub Borang Persendirian_Muat()
Panggil ResizeInit(Saya)
Tamat Sub
'Apabila saiz borang berubah, tukar saiz mengikut perkadaran borang
'Ubah kedudukan dan tukar saiz setiap kawalan dalam borang.
Sub Borang Peribadi_Ubah Saiz()
Panggil ResizeForm(Saya)
Tamat Sub
Kemudian letakkan beberapa kawalan dalam borang dan cuba tukar saiz borang
Kawal bentuk penyesuaian:
Ketinggian lama malap&, lebar lama&
Sub Borang Persendirian_Muat()
oldheight = Saya.Tinggi: oldwidth = Saya.Width
Tamat Sub
Sub Borang Peribadi_Ubah Saiz()
Malapkan cnt Sebagai Kawalan
Untuk Setiap cnt Dalam Kawalan
cnt.Width = cnt.Width * Saya.Width / oldwidth
cnt.Height = cnt.Height * Me.Height / oldheight
Seterusnya
oldheight = Saya.Tinggi: oldwidth = Saya.Width
Tamat Sub
Atas ialah kandungan terperinci Jenis fungsi penyesuaian saiz kawalan VB tidak memenuhi keperluan!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!