コンボボックスで項目を右揃えで表示 |
コンボボックス・リストボックスで項目を右揃えで表示する (220) | |
Option Explicit 'SampleNo= WindowsXP VB6.0(SP5)
2002.11.17(220) Private Sub Command1_Click() '右詰表示 With Combo1 .Clear .Move 190, 400, 3000 .FontName = "MS ゴシック" .FontSize = 12 .AddItem StrRightSet(24, "あ1いう") .AddItem StrRightSet(24, "あ12いうえ") .AddItem StrRightSet(24, "あ123いうえお") .AddItem StrRightSet(24, "あ1234いうえおか") .AddItem StrRightSet(24, "あ12345いうえおかき") End With With List1 .Clear .Move 190, 1740, 3000, 1260 .FontName = "MS ゴシック" .FontSize = 12 .AddItem StrRightSet(24, "あ1いう") .AddItem StrRightSet(24, "あ12いうえ") .AddItem StrRightSet(24, "あ123いうえお") .AddItem StrRightSet(24, "あ1234いうえおか") .AddItem StrRightSet(24, "あ12345いうえおかき") End With End Sub '================================================= 'コンボボックス・リストボックスで右詰表示する関数 '================================================= ' result = = StrRightSet(StrLen, Mystring) ' 引数 StrLen :半角換算の文字列数(Setする文字列の長さ) ' 引数 MyString :元の文字列 ' 戻値 result :変換後の文字列(前方に空白を付加した) '------------------------------------------------- Private Function StrRightSet(ByVal StrLen As Integer, _ ByVal Mystring As String) As String Dim N As Integer N = LenB(StrConv(Mystring, vbFromUnicode)) StrRightSet = String$(StrLen - N, " ") & Mystring End Function |
|
文字数を調べて前方にスペースを埋め込んでもいいのだが、全角文字・半角文字が混在すると、 不揃いになるので、半角換算で文字数を調べスペースを付加している。 |
2002/11/21