• ベストアンサー

リストビューで罫線を表示

リストビューで罫線を表示させるにはどうしたら良いのでしょうか?Excelのような表を表示したいのですが。 あと、同じリストで特定の項目だけを色を変えたいのですが、ListView_GetItemRect、ListView_GetSubItemRectで項目ごとの範囲を取得、その範囲を塗りつぶすようにしているのですが、上手く変わってくれません。 教えてください。よろしくお願いします。

noname#6127
noname#6127

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

間違えました。 LVS_EX_GRIDLINESでした・・・

noname#6127
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

罫線は、拡張スタイルに LVS_EX_FULLROWSELECT を指定します 指定の仕方はこちらをどうぞ http://kumei.ne.jp/c_lang/sdk2/sdk_198.htm あと、塗りつぶしはオーナードローをしないとできなかったような・・・ うろおぼえですが

参考URL:
http://kumei.ne.jp/c_lang/sdk2/sdk_198.htm

関連するQ&A

  • ダイアログボックスにリストビューを付けたが、リストが表示されない

    ダイアログボックスにリストビューを付けて、ダイアログボックスにデータの一覧を表示させたいのですが、うまく表示されません。  http://gurigumi.s349.xrea.com/programming/visualcpp/sdk_dialog_listview1.html を参考にして、プログラミングしました。 プログラムの大まかな処理としては、  1.InitCommonControls()をコール  2.GetDlgItem()で、ダイアログボックスに貼り付けられているウィンドウハンドルを取得  3.ListView_InsertColumn()をコールして、項目を追加  4.ListView_InsertItem()をコールして、1つ目の値を設定  5.ListView_SetItem()をコールして、2つ目以降の値を設定 だと思いますが、この手順で行っても、うまく表示されませんでした。 何か抜けている手順はあるのでしょうか? また、上記以外に、何かポイントにしなければならないことはあるのでしょうか? 申し訳ありませんが、ご返答くださいますよう、よろしくお願いいたします。

  • リストビューに色はつかない?

    CreateWindowEx を使ったリストビュー(WC_LISTVIEW) についてなんですが、 マクロの、ListView_InsertItem (hList, &item) で、リストに追加しますよね。 その際、カラーはできないのでしょうか。 例えば、一行おきに色を変えるとか・・・ SetTextColor(hdc, RGB(0, 255, 0)) とか SendMessage(hList, WM_SETFONT, (WPARAM)hFont, 0) とかいろいろ 見たり試したりしたのですが、無理なんでしょうか。

  • リストビューのハンドルについて

    リストビューコントロールのハンドルについて疑問に思う事がありまして、ご教授よろしくおねがいします。 通常リストビューをCreateWindow()で作成した時に戻り値として受け取るウィンドウハンドルに対してSetWindowFont()を行うとリストビュー全体のフォントが変更されます。 リストビュー関数にはListView_GetHeader( リストビューハンドル );という関数が用意されていてリストビューのカラム部分のハンドルを取得できます。 このハンドルに対してSetWindowFont()を行うとカラム部分だけのフォントが変更されます。 という事はアイテム部分だけのハンドルを取得し、SetWindowFont()でフォントを変更する事はできるのでしょうか? ご教授よろしくお願いいたします。

  • エクセルVBA リストビュー選択項目を別フォームへ

    皆さんこんにちは。 エクセル2013使用のVBA初心者です。 エクセルVBAのリストビューについて教えてください。 Userform1上にListview1とコマンドボタン1があります。 Listview1はSheet1を呼び込んだものが反映されており 左から駅名・顧客名・店舗名が記載されています。 Listview1でどれかを選択してコマンドボタン1を押したら Listview1で選択した項目の 駅名をUserform2のTextbox1に 顧客名を〃のTextbox2に 店舗名を〃のTextbox3に反映したいのですが リストビューの情報がネット上にも少なく コードをどのように書いたら良いか見当がつきません。 Userform2のPrivate Sub UserForm_Initialize()に TextBox1 = UserForm1.ListView1.FocusedItem.SubItems(0).Text を記載してみたものの、コンパイルエラーが出てしまいます。 (スイマセン、あまり意味が分かっていないで書きました) リストビューで選択した項目を別のユーザーフォームに 反映させるにはどうしたら良いでしょうか? どなたかヒントをいただけると助かります。

  • リストビューの画面表示部分

    リストビューの選択によってsubitemの文字の色を変えることになりました。 問題はリストビューの件数で数万件のデータがあります。 そこでリストの画面表示部分を知りたいのです。 例えば1000件のリスト中、画面に表示されているのは20件目から12件であるという具合に。 この20件目から12件という情報は取得することができるのでしょうか? あるいは数万件といえどパソコン上では瞬間だから、 そんなこと気にせずに全リストをループさせても良いものでしょうか? 設計上、どのようにしたら良いか悩んでいます。 ちなみにマシンはCore2Duo以降を念頭に考えて下さい。

  • ListViewでのリスト表示(初歩的な質問です)

    WinXP Pro VB6.0で開発を行っています。 現在、ドラッグ&ドロップにより、ListViewでファイルのパスをリスト表示するプログラムを作成しています。 ListBoxではなくListViewを利用する理由は、パスの長さに合わせてスクロールバーを表示したいためです。 そこで、ドラッグ&ドロップイベントでファイルのパスを取得することは出来たのですが、単純なリスト表示ができません。 ListView1.ListItems.Add(, , tmpPath) でパスを追加しているのですが、プロパティの設定がよく分からずうまく表示できません。 Viewを2-lvwLstに変更し、何となく表示はしているのですが2列表示になり、縦のスクロールバーが表示されません。 なお、表示の際、ヘッダ部分は必要ありません。 また、パスのみの表示であるため、一項目の表示です。 プロパティの設定例を教えていただけませんか? 非常に初歩的な質問ですがよろしくお願いします。

  • リストビューのスクロール

    お世話様です。 C#.NET(1.1)でプログラミングしています。 リストビューですが以下の設定を行っています。 CheckedBox=true View=List MultiSelect=true Scrollable=true ※カラム関係は何も設定してません。 この設定で、アイテムをどんどん追加していき、ListViewの最大高さまで アイテムが埋まると、水平スクロールが表示され2列目が表示されるのですが、これを垂直スクロールで下に追加という形をとりたいのですが、 どうしたらいいのかわからないです。 (なぜCheckListBoxにしないのかというのは、複数選択ができないからです。) ご存知の方、ご教授願います。(××)

  • エクセルで罫線を一時非表示ってできますか?

    エクセルで作った罫線付きの表があるのですが、印刷の時に罫線がいる場合といらない場合があります> 罫線を一時的に非表示にする方法はないでしょうか? (枠線ではありません。) ただし、 罫線には色を何種類か使っていますので、罫線色を白にして非表示にすると元に戻せなくなります。

  • C# リストビューの特定のセルの特定文字色を変更

    C#のリストビューの特定のセルの中の特定の文字の色を変えたいと思っています。 例えばリストビューの4行目の2列目の中に「INTEGER」という文字列が入れこまれていたら、「EGER」の色だけ赤く変えるということをやりたいのです。 リストビュー全体の文字色、あるいはリストビューの中の特定のセルの文字色を変えるやり方は色々ありましたが、さらにその中の特定の文字だけの色を変えるやり方はどこを探しても見つからなかったので質問させていただきました。 分かる方がいらっしゃいましたら、ご享受のほど、よろしくお願いします。

  • 【vb6】リストビューの複数の項目の削除

    お世話になります。 vb6のリストビューについて質問があります。 リストビューでコントロールキーやシフトキーを押して複数項目を選択したあと 選択された任意の項目だけを削除するというロジックを書きたいと思っています。 ですが、どのようにしたら、例えば1~4行目まである内の 2,4行目だけを削除できるのかが全く解りません。 .selectitem.indexだと選択した最後の行(2,4行を選択したら4行目)が インデックスに帰るので特定の行を取得できずお手上げ状態です。 解りづらい説明で申し訳ありませんが、 どうか教えてください。よろしくお願いします。

専門家に質問してみよう