Rumah  >  Artikel  >  tutorial komputer  >  Jenis fungsi penyesuaian saiz kawalan VB tidak memenuhi keperluan!

Jenis fungsi penyesuaian saiz kawalan VB tidak memenuhi keperluan!

WBOY
WBOYke hadapan
2024-01-14 13:54:171291semak imbas

Jenis fungsi penyesuaian saiz kawalan VB tidak memenuhi keperluan!

VB kawalan jenis fungsi saiz suai tidak padan!

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

Kawalan kotak teks VB melaraskan secara automatik apabila borang berubah

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!

Kenyataan:
Artikel ini dikembalikan pada:docexcel.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam