• 締切済み

VB6 LISTVIEWで項目の色分けをしたいのですが

VB6のLISTVIEWで 条件によって明細レコードを表示するときに文字を変えたいのですが どのような方法がありますでしょうか ※flexGridをすればできるのでしょうが、プログラムを大々的に組み直しをしたくないので現在のFORM(LISTVIEW)で色分けを考えております どなたかご教示をお願います。

みんなの回答

回答No.1

.ListItem や .ListSubItem の .Bold や .ForeColor で、 太字にしたり色を変えたりできます。 文字の大きさを変えたいとか、フォント自体を変えたいとか、 背景色を変えたい、といった話になると、 カスタムドローが必要になります。 http://www.mitene.or.jp/~sugisita/api_comct.html

関連するQ&A

  • VB2010 ListView 使い方

    VB2010でListViewを使っています。かなり順調にプログラムが出来ているのですが、トラブルに遭遇しました。 Form1でDATAを入力して、Form2とForm3でそのDATAをListViewを使って表示しています。 そして、Form2のListViewをForm4に簡素化した雛形にして、ListViewを使って表示させています。 同様に、Form3のListViewをForm5に簡素化した雛形にして、ListViewを使って表示させています。 Form2からForm4は問題なく表示されますが、Form3からForm5はエラーとなります。 エラーは次のところで生じます。 ListView1.Items(2).SubItems.Add(Form3.ListView1.Items(1).SubItems(2)) エラーメッセージは次のようです。 「'1' の InvalidArgument=Value は 'index' に対して有効ではありません。」 また、次のようにコーディングしてみると、 ListView1.Items(2).SubItems.Add(Form3.Label2.Text) 「Labl2」と表示されるだけです。Label2の情報は表示されません。 単純にDATAを移すだけなのに、1つは出来て、もう1つは出来ないというのが分かりません。 どこに問題があるのでしょうか。 かなり悩んでいますが、解決策が見出せません。 ご教授いただける方が居られましたら、宜しくお願い申し上げます。

  • ListViewの使い方

    windows2000(sp3) vb6.0(sp5) で開発中です。 ListViewのチェックを付ける機能を使っているのですが、 ある処理中はチェックを付けさせたくありません。 そこで、ListViewのEnabled=Falseとしたら、ListView が灰色で表示され、かっこ悪くなってしまいました。 Enabledのほかに、チェックを付けさせない様にする方法 はないでしょうか? ご存知の方がいらっしゃいましたら、ご教示願います。 よろしくお願いいたします。

  • ListViewの項目を入れ替える

    C++で詳細表示のリストビューを扱うプログラムを書いているのですが あるボタンを押すと選択した項目が上や下に移動するようにしたいんです そのためには選択した項目とその上下の項目を入れ替えたらいいと思うのですが やり方がわかりません ListView_SortItemsマクロを使ってみましたが、ある二つの項目だけを入れ替えるのは できなさそうです。 MFCを使わない方法があればうれしいです

  • ListViewで文字化けしてしまいます。

    VB6.0で作成したプログラムをVBがインストールされて いないマシン(過去にインストールしたこともない)で 動かすと、ListViewで、全角文字が化けてしまいます。 VisualStudio6.0をアンインストールした 別のマシンで同じプログラムを動かすと 文字化けは起こりません。 どうしてなのでしょうか? 解決法など教えていただけると助かります。 宜しくお願いします。

  • VB6.0 ListViewの一行目を表示しないようにするには?

    VB6.0 ListViewの一行目を表示しないようにするには? こんにちは。 環境WinXP,VB6.0です。 リストビューを表示する際に、一行目を表示させたくないのですが、 どのように書けばいいのでしょうか? DBの値をリストビューに表示しているのですが、テストで入れたデータが表示されてしまいます。 かといって、このテストデータが重要な役割をしているので、消したくありません。 このテストデータは、常に一行目に表示されるので、リストビュー表示の際に一行目だけ消して表示したいです。 何か良い方法があればご教授下さい。

  • Listviewに表示された文字のコピーペースト

    VB2005を使っています。 Listviewに表示された文字をコピーペーストを試みましたができませんでした。 プロパティを見ても、設定箇所が見あたりませんでした。 コピーペーストする方法をご存じでしたらご教授お願いします。

  • VB.NETでフォーム間でのコントロールの参照

    VB.NETでフォーム間でのコントロールの参照が うまくいかず困っています Windows フォーム Form1とForm2があります Form1にはリストビュー(name:ListView1)を配置しています Form1_LoadイベントでListView1にアイテムを追加します Form2を表示し、Form1のListView1のアイテム数を、 取得しようとすると 0 になってしまします どうすればForm2から取得できるのでしょうか? 次のように書いています Form1_Load イベント内 ListView1.Items.Add("Item1") ListView1.Items.Add("Item2") ListView1.Items.Add("Item3") MessageBox.Show(CStr(ListView1.Items.Count), "Form1") Dim Form2 As New Form2() Form2.Show() Form2_Load イベント内 Dim Form1 As New Form1() MessageBox.Show(CStr(Form1.ListView1.Items.Count), "Form2")

  • VB .NETに関する書籍について

    現在までVB6でプログラミングをしていましたが、VB.NETに乗り換えてから、まったく使えなくなってしまいました。 Form1をクリックしたらForm2を表示するようにしたくて単純に Form2.show とやってみたところ、 「非共有メンバを参照するには、オブジェクト参照が必要です。」と言われますが、はたして何のことやら??と戸惑っています。 VB6では、コントロール操作やファイルの書込み、条件判断、エラー処理などといったプログラムの基本はわかっていますので、そのまま応用できると思うので、こんな私が参照すべき書籍があれば教えていただきたいと思います。

  • ListViewで、非表示列って作れますか?

    VB6.0です。 一覧にListViewを使用しているのですが、 非表示にしたい列があるのですが、出来ませんか? 列幅は可変としているので、列幅を0にしておく方法は使えません。 一覧には見せないけど、更新項目なので、 いちいちもう1度読み直すのは面倒なので、非表示で持っていたいのですが…。 何か方法ありますか?

  • ListViewから選択中の文字列を取得

    VB2005の初心者です。 タイトル通り、ListViewから選択中の文字列によって処理を変えるプログラムを構築しようとしているのですが、うまくいきません。 ComboBoxの場合では Private Sub button1_Click~ If ComboBox1.SelectedItem = "テスト" Then 処理 End if でうまくいったのですが、ListViewの場合では Private Sub button1_Click~ If ListView1.SelectedItems = "テスト" Then 処理 End if と指定すると 「エラー 1 これらの引数で呼び出される、アクセス可能な '=' がないため、オーバーロードの解決に失敗しました」 とエラーがでます。 ListViewから選択中の文字列を取得するには「.SelectedItems」では取得できないのでしょうか? VBに詳しい方ご教授お願いします。

専門家に質問してみよう