• ベストアンサー

CListCtrlで行の高さを指定したい。

お世話になります。 MFC C++6.0 で開発しております。 CListCtrlでリストを作成しているのですが、 CreateFontで16ポイントの文字を指定した行の高さが10だとすると、 12ポイントの文字を指定した行の高さが自動で5になります。 12ポイントの文字を指定しても、文字の大きさは12ポイントのままで、 行の高さだけ、10にすることは可能なのでしょうか? お手数ですが、よろしくお願いします。

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

  • ベストアンサー
回答No.1

MeasureItemをオーバライドして lpMeasureItemStruct->itemHeight に適切な値を入れればできるような。

kgyqk433
質問者

お礼

お返事ありがとうございます。 オーナードローでしているせいかなぜか、 デバックで確認してもMeasureItemに通ってくれないのです。。。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • リストコントロール内の文字の大きさ(ポイント数を)別々にしたい。

    お世話になります。 MFC C++6.0で開発しております。 オーナードローを利用して、リストを書いているのですが、 (CListCtrlで) 1列目・1行目の文字は文字の大きさが12ポイント 1列目の2行目の文字は大きさが14ポイントなどのように変更したいのですが、これは、DrawTextで実現できるのでしょうか? お手数ですが何卒よろしくお願いします。

  • コントロールリスト(CListCtrl)非表示行

    C++でのFORM部品のコントロールリスト(CListCtrl)において、登録済みの複数アイテムのうち、特定アイテム(行)のみを、アイテムを削除せずに非表示に設定することは可能でしょうか? やりたいのは特定カラムの格納値でフィルタリング設定を行い、特定の値をもつ行のみを選択表示したいでのすが、アイテム削除や別リストでの表示ではなく、あくまでもひとつのコントロールリスト内のアイテム設定で行いたいです。 アイテム別の状態設定としては SetItemState 関数がありますが、非表示にする機能は見当たりませんでした。

  • CListCtrl の特定のセル(アイテム?)の文字だけ中央で表示したい

    お世話になります。 C++6.0 MFCで開発しております。 CListCtrlに InsertItem(行数,文字) SetItemText(行数,列数,文字) で値を入力しています。 しかしながら 文字の内容が"-"だった時だけ、中央に表示したいのです。 ※その他の文字の時は、左揃えで表示 どのようにすれば、特定のアイテムだけ中央に揃える事ができるでしょうか? 以上お手数ですがよろしくお願いします。

  • CListCtrlのcheckboxサイズ変更

    WindowsCE、MFC、C++で実装しています。 CListCtrlで表を作成し、 下記の方法でチェックボックスを表示させました。 CListCtrl m_list; m_list.SetExtendedStyle((m_lstCheck.GetExtendedStyle()|LVS_EX_CHECKBOXES)); チェックボックス(画像参照)のサイズを大きくしたいのですが、 方法がわかりません。 (SetFont()関数で試してみましたが、文字にしか反映されませんでした。)

  • フォント指定の受渡し法?

    私が作成中の .NET C++プログラムはフォント指定を他のC#アプリから受取っており、そのフォント指定に基づいて文字を表示することになっております 受け取るフォント情報はC#のフォントダイアログにより選択されたものです 具体的には (1) M S 明朝, 9.75pt, style=Italic (2) HGPゴシックM, 20.25pt, style=Bold などといった文字列です 私が作成するC++ではこれらの指定に基づいてCreateFontするのでしょうが、上記のC#フォント指定と下記のC++ CreateFontパラメータでは差があり過ぎて、どのようにしたら良いのか分かりません font.CreateFont( 20.25, // フォントの高さ(大きさ)。 0, // フォントの幅。 0, // 0でOK。 0, // 同じく角度 FW_DONTCARE, // 文字の太さ FALSE, // イタリックならTRUEを指定 FALSE, // 下線ならTRUE FALSE, // 取り消し線ならTRUE SHIFTJIS_CHARSET, // フォントの文字セット OUT_DEFAULT_PRECIS, // 出力精度の設定 CLIP_DEFAULT_PRECIS, // クリッピング精度 DRAFT_QUALITY, // フォントの出力品質 DEFAULT_PITCH, // フォントのピッチとファミリを指定 L("HGPゴシックM") // フォントのタイプフェイス名の指定 ); C#のフォントダイアログからの情報を簡単にC++のCreateFontのパラメータを作り出す方法はありますか? またC#から受け取る情報が基本的に間違っており、別の情報があるのではないかと心配です 宜しくご指導願います

  • テキストファイルの行を指定して読み込み

    テキストファイルの読み込みたい行を指定して テキストボックスに表示させたいのですが、 どのようにすればよいでしょうか? StreamReaderには一行分の文字を読み取るReadLine メソッドがありますが、行は指定はできないようです。 良い方法があればアドバイスを頂きたいです。 よろしくお願いします。 --- 開発環境:VS2005 pro OS:Vista

  • excelVBA 行の範囲指定についてです。

    excel2007のVBAの質問です。 1行目から文字入力がされている行までを範囲指定したいのですが、 For i = 1 To ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row このように入力すると、数式が入力されている行まで指定されてしまいます。 あくまでも 「文字入力がされているところまで」を指定したい場合 どのようにVBAを作成したらよいのでしょうか? よろしくお願いします!

  • D3DXCreateFontとID3DXFont::DrawTextによる文字列の縦書き描画

    お世話になっています。 D3DXCreateFontとID3DXFont::DrawTextによって文字列を左上(0,0)右下(20,100)の四角形内に縦書き描画しようと、以下のようにコードを書きました。 CreateFontの第3引数cEscapementを2700にし、 CreateFontの第4引数cOrientationも2700にしてCreateFont、D3DXCreateFontによって作成したフォントで、 SetRect(0,0,20,100); DrawText(Str,-1,&rc,DT_SINGLELINE | DT_WORD_ELLIPSIS | DT_NOCLIP, D3DCOLOR_XRGB(0,0,0)); 上のようにして実行すると、何も表示されません。 SetRectの引数を変えてみたりはしたのですが、それでもやはり上手くいきませんでした。 もちろん、フォントは縦書きフォントを指定しています。 さっぱり原因がわからないので、どなたがご存知の方がいらっしゃれば、ご教授よろしくお願いします。 開発環境:Visual Studio 2005 C++ 開発言語:C/C++(Win32API)+DirectX9.0b

  • パワーポイントの行間隔設定について

    パワーポイントのテキスト入力で行間隔設定について質問がございます。 改行方法としてエンターキーを押しての改行と何もしないで右端までくると自動で折り返す改行と二通りあるかと思いますが、 自動で折り返した際の行間隔を指定することは可能なのでしょうか。 お手数かけますがどうぞよろしくお願いいたします。

  • リストコントロールのリスト内にスピンコントロールを配置したい

    お世話になります。 C++ 6.0 MFC で開発しております。 リストコントロール内に表示させるリスト内にスピンコントロールをつけたいのですが、どのようにすれば実現できるのでしょうか? ※リストを追加するたび、スピンコントロールがついたリストが追加されるようにしたいのです。 説明が載っているサイトでもいいので教えて頂ければありがたいですので なにとぞよろしくお願いします。 お手数ですが、なにとぞよろしくお願いします。