1

私は、とりわけ、コントロールのラベル コンポーネントの色を設定するのに長い時間がかかる機能を持つ vb6 ocx コントロールを持っています。long が int で color が別のタイプである vb.net 64 ビット環境でコントロールを使用するまで、これはすべて正常に機能します。

rgb の 3 つの int を取るように関数を変更してから、rgb 関数を使用して使用する色を取得しようとしましたが、フォームは vb.net 環境でコントロールを使用してロードされません。

vb.netで使用できるように、vb6でコントロールのコードを変更する方法を知っている人はいますか?

4

1 に答える 1

1

組み込みメソッドを使用して、アプリケーションで使用する同等の色の値を取得できます。

Dim myColor As Color = Color.Red

' Translate myColor to an OLE color. 
Dim winColor As Integer = ColorTranslator.ToWin32(myColor)

結果は、Int32VB6Long

そう...

VB6 コントロールでは、次のように Color プロパティを公開できます。

Public Property Get ColorValue as Long
    ColorValue = lblColor.BackColor
End Property

Public Property Let ColorValue(value as Long)
    lblColor.BackColor = value
End Property

次に、VB.NET アプリケーションで次のように設定できます。

MyControl.ColorValue = ColorTranslator.ToWin32(Color.Red)
于 2013-08-12T18:46:06.317 に答える