• 締切済み

VB2008について

はじめまして。 今まで、VB6.0を使用していました。 VB2008になり、VB6.0の機能でコントロールオブジェクトのIndexプロパティ機能がなくなって苦労しています。 VB6.0では、下記のようなプログラムを作成していました。 ----------------------------------- Private Function AddControl(inControl As Control, inName As String) As Long ReDim Preserve ControlRecord(MaxControl + 1) On Error Resume Next ControlRecord(MaxControl).Name = inControl.Name ControlRecord(MaxControl).Index = inControl.Index ControlRecord(MaxControl).Parrent = inName If TypeOf inControl Is Line Then ControlRecord(MaxControl).Top = inControl.Y1 ControlRecord(MaxControl).Left = ActualPos(inControl.X1) ControlRecord(MaxControl).Height = inControl.Y2 ControlRecord(MaxControl).Width = ActualPos(inControl.X2) Else ControlRecord(MaxControl).Top = inControl.Top ControlRecord(MaxControl).Left = ActualPos(inControl.Left) ControlRecord(MaxControl).Height = inControl.Height ControlRecord(MaxControl).Width = inControl.Width End If inControl.IntegralHeight = False On Error GoTo 0 AddControl = MaxControl MaxControl = MaxControl + 1 End Function ----------------------------------- VB2008で動作するように修正方法を教えて頂けないでしょうか? VB2008初心者なので、よろしくお願いします。

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

IndexをTagで代用してはいかがでしょう このControlRecordに格納するコントロールはVB6のShapeやLineコントロールでしょうか? VB.NETでは廃止されていますがこのあたり動のような対処をするおつもりなのでしょう VB.NET付属のMSDNに代替案がありますが描画する種類によりコード(クラスなど)を起こす必要がありますが ・・・

piropiro33
質問者

お礼

redfox63 様 ご連絡ありがとうございました。 ご指摘のとおり、ControlRecordには、ShapeやLineコントロールになります。 VB.NETのMSDNの代替案というのを探してみます。 よろしくお願いします。