关于VB控件随窗体大小而变化问题,我调用了网上的代码如下,可是不知道为什么控件都缩到左上角了,没报错

VB\u63a7\u4ef6\u4e0e\u7a97\u4f53\u4e0d\u80fd\u540c\u6b65\u7f29\u653e

Dim Formldwidth, Formldheight
Private Sub Form_Load()
Call ResizeInit(Me)
End Sub

Private Sub Form_Resize()
Call ResizeForm(Me)
End Sub

Public Sub ResizeInit(FormName As Form)
Dim Obj As Control
Formldwidth = FormName.ScaleWidth
Formldheight = FormName.ScaleHeight
On Error Resume Next
For Each Obj In FormName
Obj.Tag = Obj.Left & " " & Obj.Top & " " _
& Obj.Width & " " & Obj.Height & " "
Next Obj
On Error GoTo 0
End Sub

Public Sub ResizeForm(FormName As Form)

Dim Pos(4) As Double
Dim i As Long, TempPos As Long, StartPos As Long
Dim Obj As Control
Dim ScaleX As Double, ScaleY As Double
ScaleX = FormName.ScaleWidth / Formldwidth
ScaleY = FormName.ScaleHeight / Formldheight
On Error Resume Next
For Each Obj In FormName
StartPos = 1
For i = 0 To 4
TempPos = InStr(StartPos, Obj.Tag, " ", vbTextCompare)
If TempPos > 0 Then
Pos(i) = Mid(Obj.Tag, StartPos, TempPos - StartPos)
StartPos = TempPos + 1
Else
Pos(i) = 0
End If
Obj.Move Pos(0) * ScaleX, Pos(1) * ScaleY, _
Pos(2) * ScaleX, Pos(3) * ScaleY
Next i
Next Obj
On Error GoTo 0
End Sub

\u83dc\u5355\u201c\u5de5\u5177\u201d-\u201c\u9009\u9879\u201d\uff0c\u5728\u201c\u901a\u7528\u201d\u6807\u7b7e\u91cc\u53bb\u6389\u201c\u5bf9\u9f50\u63a7\u4ef6\u5230\u7f51\u683c\u201d

在VB6.0中试验成功,没有什么问题。




  • VB绐楀彛鏈澶у寲鍚鎺т欢鎬庝箞涓璧锋斁澶???
    绛旓細鍦绐楀彛鐨resize浜嬩欢涓姞涓婁唬鐮佷娇鎺т欢鍜屽浘鐗囦篃闅忕潃澧炲ぇ灏卞彲浠ヤ簡銆備竴鑸彲浠ヨ缃窛绂荤獥浣撶殑left鍜宼op鍊硷紝璁剧疆璧风偣浣嶇疆锛宧eight鍜寃idth璁剧疆澶у皬銆備綘鍙互鏍规嵁闇瑕佽缃備竴鑸綘鍙互鐢╯creen.width鍜宻creen.height鏉ヨ缃紝杩欐牱浣犵殑绐椾綋鍙澶у彉灏忥紝浣犵殑鎺т欢閮戒細鎸夌収浣犵粰鍑虹殑姣斾緥鍙樺寲 ...
  • vb涓,濡備綍璁╂枃鏈闅忕獥浣撳ぇ灏忚屽彉鍖鍛?
    绛旓細鍦╢orm_resize浜嬩欢涓啓涓婁互涓嬩唬鐮: text1.letf=0text1.top=0text1.width=me.widthtext1.height=me.height 灏卞彲浠ュ暒
  • ...RichTextBox鐨勫ぇ灏闅忕潃绐楀彛鐨勫ぇ灏涓璧鍙樺寲,鑰屼笉鏄浐瀹氱殑澶у皬?_鐧惧害...
    绛旓細Form_Resize richtextbox.width=form1.width richtextbox.height=form1.height-500 鍏蜂綋鏁板瓧鏍规嵁瀹為檯璋冩暣 popupmenu
  • VB涓picturebox鍥炬庝箞鏍闅忕獥浣撳ぇ灏忓彉鍖
    绛旓細鍙互浣跨敤Image鎺т欢锛屽皢鍏跺睘鎬tretch璁句负True锛岃皟鏁村叾澶у皬锛屽浘鐗囪嚜鍔ㄨ皟鑺傘
  • VB绐椾綋鐨勮儗鏅浣闅忕獥浣鐨勫彉澶鑰屽彉澶у彉灏忚屽彉灏
    绛旓細鏈绠鍗曠殑鏂规硶锛岃屼笖涓嶇敤鍊熷姪鍏朵粬鍥惧儚鎺т欢锛歅rivate Sub Form_Load()Me.AutoRedraw = True End Sub Private Sub Form_Resize()Me.PaintPicture Me.Picture, 0, 0, Me.ScaleWidth, Me.ScaleHeight End Sub
  • vb鎴戝仛浜嗕竴涓祻瑙堝櫒,WebBrowser鎺т欢澶у皬濡備綍闅忕獥浣鑷姩璋冩暣
    绛旓細闅忕獥浣鑷姩璋冩暣,搴斿湪Form_Resize() 浜嬩欢涓姞鍏ヤ唬鐮.Private Sub Form_Resize()WebBrowser1.Top = 200 WebBrowser1.Left = 200 WebBrowser1.Height = Me.Height - 800 WebBrowser1.Width = Me.Width - 400 End Sub
  • VB濡備綍瀹炵幇鎵撳紑杞欢鏈澶у寲涓鎺т欢闅忎箣鍙樺寲
    绛旓細鍒涘缓涓涓狿ictureBox锛鏀瑰彉瀹冪殑鍙橀噺Align锛岀劧鍚庡湪瀹冪殑Resize浜嬩欢閲岃緭浠g爜灏辫锛佸鏋滅敤Form_Resize锛岄偅涔堟渶澶у寲鏃禦esiza骞舵湭瑙﹀彂銆
  • VB6.0涓鎺т欢闅忕潃绐椾綋鐨勬敼鍙鑰屾敼鍙鍦ㄧ獥浣撲笂鐨勪綅缃
    绛旓細浠ommand1鎺т欢涓轰緥 Private Sub Form_Load()Command1.Left = (Screen.Width - Command1.Width) / 2 Command1.Top = (Screen.Height - Command1.Height) / 2 End Sub 鎴栬呮兂纭畾鍦╢orm閲岀殑浣嶇疆,鍙互鎶妔creen鏀逛负form
  • VB濡備綍璁剧疆绐椾綋鑳屾櫙鍥剧墖闅忕獥浣撳ぇ灏鑷姩璋冩暣?
    绛旓細Private Sub Form_Load()锛汳e.Picture = LoadPicture("E:\Users\xjn\Pictures\Lotus.jpg") '鑷繁鏀瑰浘鐗囪矾寰勶紱Me.AutoRedraw = True锛汦nd Sub锛汸rivate Sub Form_Resize()锛汳e.PaintPicture Me.Picture, 0, 0, Me.Width, Me.Height锛汦nd Sub銆傚欢灞曞洖绛旓細VB琛ㄦ牸鎵撳嵃鎺т欢:鑷姩璇嗗埆骞舵敮鎸丄DO鍜孌AO...
  • 濡傚浘,VB6.0鍋氳繖鏍风殑绐楀彛,濡備綍闅忕獥鍙eぇ灏忔敼鍙鎸夐挳鐨勫ぇ灏?
    绛旓細'璇诲彇鎺т欢鐨勫師濮嬩綅缃笌澶у皬 TempPos = InStr(StartPos, Obj.Tag, " ", vbTextCompare) If TempPos > 0 Then Pos(i) = Mid(Obj.Tag, StartPos, TempPos - StartPos) StartPos = TempPos + 1 Else Pos(i) = 0 End If '鏍规嵁鎺т欢鐨勫師濮嬩綅缃強绐椾綋鏀瑰彉澶у皬 '...
  • 扩展阅读:vb标签控件自动调整大小 ... vb窗体解释 ... vb通过代码设置窗体大小 ... visual studio ... vb窗体事件 ... vb控件包括哪些 ... 人行系统控件页面交互 ... 控件随窗口等比例缩放 ... vb双击窗体清除窗体内容 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网