- 日時: 2007/07/16 09:03
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[リストボックス][コンボボックス][] * * キーワード:Alignment,アライメント,左揃え,中央揃え,ComboBox,書式 * ***********************************************************************************
元質問:ListBoxの右揃え表示 - kamurin 2004/03/17-19:34 No.8412
ListBoxに金額を表示したいんですが、左揃えだと見難くて困ってます。 なるべく簡単に左揃えにする方法ないでしょうか?
-------------------------------------------------------------- Re: ListBoxの右揃え表示 - とろ 2004/03/18-09:12 No.8423 -------------------------------------------------------------- 次のようにすれば大丈夫かと。 これならば、フォントとか関係なく、右揃えになります。 スペースの挿入・削除の処理も必要ありませんし。
Option Explicit Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" _ (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" _ (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Const GWL_EXSTYLE As Long = (-20&) Private Const WS_EX_RIGHT As Long = &H1000& Private Const WS_EX_RTLREADING As Long = &H2000& Private Sub Command1_Click() Dim l As Long l = GetWindowLong(List1.hwnd, GWL_EXSTYLE) l = l Or WS_EX_RIGHT Or WS_EX_RTLREADING Call SetWindowLong(List1.hwnd, GWL_EXSTYLE, l) End Sub Private Sub Form_Load() List1.AddItem "12345" List1.AddItem "12" List1.AddItem "12345678" List1.AddItem "あいうえお" List1.AddItem "あいう" List1.AddItem "あい" List1.AddItem "あ" Dim l As Long l = GetWindowLong(List1.hwnd, GWL_EXSTYLE) l = l Or WS_EX_RIGHT Or WS_EX_RTLREADING Call SetWindowLong(List1.hwnd, GWL_EXSTYLE, l) End Sub
---------------------------------------------------------- 元の投稿のコードが動作しなかったので一部修正しております。 --- by 花ちゃん --- ----------------------------------------------------------
実行結果の画像を添付しておきます。 (画像をクリックすると元のサイズで見られます。)
設定前 設定後
|