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で質問しましょう!
似たような質問が見つかりました
- YouTube YouTubeについて 2 2022/05/28 16:05
- Visual Basic(VBA) 【Excel VBA】条件に合った行の表示・非表示を行う方法 3 2023/03/18 12:31
- その他(Microsoft Office) outlookのツールバーが縦になってしまいました。。。直す方法はないでしょうか 2 2023/01/16 09:17
- アプリ iPhoneのホーム画面上でのアプリ表示数を増やす方法はありますか? 1ページ(スクロール無し)でワ 1 2022/07/16 17:03
- Excel(エクセル) [入力規則]のリストボックス内の“不揃いの林檎たち” 3 2022/09/15 18:32
- Google Maps Googleマップ 複数端末で同一アカウントを使っているのにパソコンでのみ表示が異なる 1 2022/07/16 21:03
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/06/15 14:11
- その他(Microsoft Office) EXCELでバーコードを作成すると白くなってコードが見えません 1 2022/04/04 14:24
- モニター・ディスプレイ 「.cur」のアイコン表示について 4 2023/03/04 10:21
- Google 翻訳 アプリ表示用のアイコンが削除できません 1 2022/07/03 23:51
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのコントロールツール...
-
スピンボタンを右クリックして...
-
コントロールの書式設定で、“コ...
-
C++6.0でのresource.hについて
-
DateTimePickerでに年月までし...
-
VBAでリストボックス内で↑↓の操...
-
連続で印刷すると画像が更新さ...
-
TabControlとToolBarの背景色変更
-
アイテムを点滅させる
-
EXCELVBA リストボックスで選択...
-
ワードのドロップダウンリスト
-
VisualStudio MFC変数が追加で...
-
CreateWindowでSTATICコントロ...
-
ActiveXコントロールを.NETにイ...
-
フォームでPDFを表示させた...
-
ActiveXコントロールの...
-
ワイヤレスHDMIについて
-
エクセル - リストボックスのマ...
-
エクセルで作った新しいウイン...
-
フォントの大きさ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コントロールの書式設定で、“コ...
-
エクセルのコントロールツール...
-
フォームでPDFを表示させた...
-
スピンボタンを右クリックして...
-
DateTimePickerでに年月までし...
-
C++6.0でのresource.hについて
-
連続で印刷すると画像が更新さ...
-
ActiveXコントロールを.NETにイ...
-
警告表示を非表示にしたい
-
エクセル - リストボックスのマ...
-
コモンダイアログコントロール...
-
EXCELVBA リストボックスで選択...
-
TabControlとToolBarの背景色変更
-
ワードのドロップダウンリスト
-
文字色を変えたい(ACCESS VBA)
-
CEdit の内容が変わった時にメ...
-
リストボックスの同期
-
VB6.0のデザイン時 コントロー...
-
WM_SIZEを発生させる方法
-
VBAでリストボックス内で↑↓の操...
おすすめ情報