
No.1ベストアンサー
- 回答日時:
こんばんは。
要するに、→
[0][1]
[2][3]
[4][5]
[6][7]
ではなく、
↓
[0][4]
[1][5]
[2][6]
[3][7]
の様にして追加していきたいと言う事なのでしょうか。
もしかしたら、ダイアログエディタでリストコントロールの「配置」を「上端」に設定すれば望みどおりの効果が出るかもしれません。
其れでも違うのであるのならば、アイコン表示ですと、カラムの効果が無効になるので、縦に向かって追加していくと言う事は出来ないです(レポートスタイルでないと効き目が無い)。
http://wisdom.sakura.ne.jp/system/winapi/common/ …
ただ、LVM_SETITEMPOSITIONを実行すると、任意の位置に並べ替えれるので、其れを利用して、縦に向かって並べて、次の列の真上に折り返す、と言った事は出来ます。
以下のマクロを使った方が楽かもしれません。
ListView_SetItemPosition(hList/*リストコントロールハンドル*/, itemPosition/*アイテム番号*/, xPixel/*x位置*/, yPixel/*y位置*/)
以下は30個のアイテムを縦並べ、2列に配置しなおします。参考程度に。
//取りあえず30個アイテムを作る
LVITEM item = {LVIF_TEXT};
TCHAR buf[80];
TCHAR text[128];
for(item.iItem = 0; item.iItem < 30; ++item.iItem)
{
::wsprintf(buf, "%d", item.iItem);
::_tcscpy(text, TEXT("ITEM"));
::_tcscat(text, buf);
item.pszText = text;
ListView_InsertItem(hList, &item);
}
//並べなおし
const int ICONSIZE = 48;//アイコンのサイズ48x48とする
const int COLUMN = 2;//列
for(int y = 0, itemCount = 0; y < (item.iItem / COLUMN); ++y)
{
for(int x = 0; x < COLUMN; ++x)
{
ListView_SetItemPosition(hList, itemCount++, x * ICONSIZE, y * ICONSIZE);
}
}
//アイテムの個数によっては余って並べきれないので、此処でどうにかする
この回答へのお礼
お礼日時:2009/06/05 11:03
こんにちは。
ご返答ありがとうございます。
「配置」を「上端」に設定したところ希望通りの表示なりました。
多少カスタマイズも必要なときも提示していた出した ListView_SetItemPosition を利用すればできそうです。
ありがとうございました。
助かりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コントロールの書式設定で、“コ...
-
VCのコントロール最大配置数は?
-
ActiveXコントロールを.NETにイ...
-
エクセルのコントロールツール...
-
DateTimePickerでに年月までし...
-
スピンボタンを右クリックして...
-
エクセル - リストボックスのマ...
-
VB6でタブコントロールが見つか...
-
VScrollBarの点滅を何とかしたい。
-
WM_SIZEを発生させる方法
-
regsvr32でActiveX登録を行ったocx
-
Excel VBAでのMultipageの選択
-
タブインデックスをより簡単に...
-
「アイテムは収集されました」...
-
グラフの交点の求め方(Excel)
-
エクセルで作った新しいウイン...
-
皆さん、おはようございます♪ ...
-
[VB.net] DataGridViewの列ヘッ...
-
メッセージボックスを大きくす...
-
C# FlowLayoutPanelのコントロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コントロールの書式設定で、“コ...
-
エクセルのコントロールツール...
-
DateTimePickerでに年月までし...
-
スピンボタンを右クリックして...
-
コモンダイアログコントロール...
-
連続で印刷すると画像が更新さ...
-
ActiveXコントロールを.NETにイ...
-
VB6でタブコントロールが見つか...
-
EXCELVBA リストボックスで選択...
-
エクセル - リストボックスのマ...
-
フォームでPDFを表示させた...
-
警告表示を非表示にしたい
-
Accessのタブコントロールを2...
-
ワードのドロップダウンリスト
-
MFC・ダイアログベースで、ダイ...
-
リストコントロール(MFC or API...
-
リストボックスの同期
-
プロパティシートのタブの名前...
-
Excel VBAでのMultipageの選択
-
TabControlとToolBarの背景色変更
おすすめ情報