2008-11-26 37 views
1

我在VB6中使用ssOption控件(Sheridan 3d選項控件)。在VB6中ssOption控件的問題:文本背景顏色從Win 98更改爲Win XP

在Windows 98中,文本區域背景色與選項圓周圍的背景色相同,並且該顏色是默認的表單顏色。所以選項按鈕看起來是透明的。

沒有背景顏色屬性,在Windows XP上,文本區域的背景顏色與選項圓圈背景顏色不同。

任何想法爲什麼會發生這種情況?該控件的包裝在Threed32.ocx中,我在Win98和WinXP系統上的Windows \ system32目錄中都有相同的版本。

  1. 爲什麼它在98和XP上表現不同?
  2. 修復的任何想法?

回答

3

SSOption將其背景設置爲Windows XP上的Windows按鈕面。這與您製作新表單時獲得的背景相同。如果您想在多色表格上使用,您將需要使用框架或其他類型的具有按鈕面背景的外殼。否則使用VB6的選項按鈕。

SSOption的優點是能夠以3D凸起或插圖格式顯示文本。這真的只適用於默認的按鈕顏色,這就是爲什麼它被硬編碼到控制中。當選項按鈕位於文本右側時,它也具有更好的文本格式。

如果你不能使用封閉的框架或面板,那麼你有一個乏味的選擇。您可以創建一個沒有文本的VB6選項。如果您使用的是3D字體。然後你可以使用兩個標籤來達到同樣的效果。使底部爲白色(或頂部取決於凸起與插入)並偏移一個像素或15個緹。

如果您將VB6作爲Visual Studio 6軟件包的一部分安裝以確保其正確,則可以使用ZoomIn工具。

如果您使用它進行對齊。然後,您可以調整VB6原生選項控件的寬度,直到它看起來合適,或者使用沒有文本並使用標籤的選項。

1

Threed32.ocx是古老的 - 它是爲VB4設計的。我會用內置的VB6選項控件替換它。

+0

替換不是一個完整的答案,因爲SS選項具有與原生VB6選項控件不同的功能。 – 2008-11-26 13:25:02