DOBON.NET DOBON.NETプログラミング掲示板過去ログ

VB.NetのListViewの中央揃えについて

環境/言語:[VB.Net]
分類:[.NET]

VB.Netについての質問です。
実現したい内容は、
View.Detailsの形式で作成したListViewを
各行、中央揃えで表示させようと思っています。
現在組んでみたプログラムでは、ヘッダーをaddするときに
HorizonalAlignmentをCenterとしてみました。
しかし、上記の方法ですと
一列目の並び替えのみ中央揃えが適用されずに左揃えになってしまいます。
二列目以降の表示は正常に中央揃えされて表示される状態です。
解決方法をご存知でしたら教えてください。
VC6.0でのLV_COLUMN 構造体の説明ですが、以下のような記述があります。

LVCOLUMN

typedef struct _LVCOLUMN {
UINT mask;
int fmt;
int cx;
LPTSTR pszText;
int cchTextMax;
int iSubItem;
#if (_WIN32_IE >= 0x0300)
int iImage;
int iOrder;
#endif
} LVCOLUMN, FAR *LPLVCOLUMN;

Contains information about a column in report view. This structure is
used both for creating and manipulating columns.
This structure supersedes the LV_COLUMN structure.

mask
  Variable specifying which members contain valid information.
This member can be zero, or one or more of the following values:

  LVCF_FMT The fmt member is valid.
  LVCF_IMAGE Version 4.70. The iImage member is valid.
  LVCF_ORDER Version 4.70. The iOrder member is valid.
  LVCF_SUBITEM The iSubItem member is valid.
  LVCF_TEXT The pszText member is valid.
  LVCF_WIDTH The cx member is valid.

fmt
  Alignment of the column heading and the subitem text in the column.
This member can be one of the following values:

 LVCFMT_BITMAP_ON_RIGHT Version 4.70. The bitmap appears to the right of text.
  This does not affect an image from an image list assigned to the header item.
  LVCFMT_CENTER Text is centered.
  LVCFMT_COL_HAS_IMAGES Version 4.70. The header item contains an image in the image list.
  LVCFMT_IMAGE Version 4.70. The item displays an image from an image list.
  LVCFMT_LEFT Text is left-aligned.
  LVCFMT_RIGHT Text is right-aligned.

The leftmost column in a list view control must be left-aligned.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  以下略
 
一番左のカラムは、左寄せでないとだめみたいです。
.NETでも同じ仕様でしょうか?
レスありがとうございます。
なるほど、VC6.0ではできないのですか・・・。
もう少し調べてみます。
どうしてもうまくいかなかったときは、
その場しのぎですが、SubItem(0)の幅を0にして視覚的に見えなくし、
次の列から表示する方法でやってみます。

DOBON.NET | プログラミング道 | プログラミング掲示板