MFC VC++ アプリケーション

Tip集 サイト
このサイトはMFCアプリケーション(主にMDI、SDI、ダイアログベース)の
プログラミングを紹介します。
日々、学んではいるがついつい忘れがちなテクニックが見つかれば光栄です。
また、プログラミングをしてみたい!
プログラマーになりたい!
1からプログラミングを始めたいって方も必見です。

主な開発環境はVC++6.0です。
もちろん!VC++.netでも俄然通用しますよ。


トピック
1章.アプリケーションを作ろう。


1−1.MFCアプリケーションの種類
1−2.ダイアログベースのウィザード画面
1−3.ダイアログクラスの構成

2章.ダイアログ


2−1.親ウィンドウを操作できないようにする
2−2.ダイアログベースで印刷する。
2−3.親子関係のないモードレスダイアログを作成
2−4.CStaticクラスで右クリックメニュー通知を受けるには?
2−5.ボタン、エディットボックス等にフォーカスが当たっているかチェック

3章.CComboBoxクラス

3−1.コンボボックスで表示している文字列を取得
3−2.指定した文字列をコンボボックスリストで選択する。


4章.CMenuクラス メニュー

4−1.連続したリソースIDを1つのメッセージマップにて処理
4−2.EnableMenuItemで有功無効が設定できない
4−3.IDを持たない項目を操作する
4−4.独自のポップアップメニューでON_UPDATE_COMMAND_UIを使う
4−5.不定個のアイテムを追加して処理する(ID_の有効範囲)


5章.CButtonクラス ボタン

5−1.ダブルクリックが通知されない
5−2.長い処理のボタンを複数回実行(押)されないようにする
5−3.BS_〜で始まるウィンドウスタイルだけ取得する
5−4.ラジオボタンのチェックされているコントロールのIDを取得する
5−5.グループ中のラジオボタンをチェックする
5−6.ボタンを重ねて配置する(パタパタを停止する)
5−7.オーナー描画にするとENTERキーが受け付けなくなる

6章.ListBoxクラス リストボックス

6−1.SetHorizontalExtentでスクロール幅を指定します。
6−2.LBN_SELCANCELを発生させる
6−3.オーナー描画する
6−4.Ctrl+A(全選択)する


7章.CListCtrlクラス リストコントロール

7−1.最初のカラムが必ず左寄りになる
7−2.チェックボックスを追加する
7−3.一行全選択表示する(Comctl32.dll:Version 4.70)
7−4.ガイドラインを表示する(Comctl32.dll:Version 4.70)
7−5.イメージをつける(LVS_EX_SUBITEMIMAGES)
7−6.簡単なラベルの編集処理
7−7.ヘッダの幅を文字列の幅に合わせる
7−8.選択できるアイテム数を制限する
7−9.ListView_SetCheckStateが「定義されていない識別子です。」になる
7−10.カスタムドロー(NM_CUSTOMDRAW)を使用する
7−11.チェック、チェック解除を知る
7−12.カラムのヘッダをドラックアンドドロップで移動可能にする
7−13.ドラックアンドドロップしたカラムのヘッダの情報を保存する
7−14.カラムのヘッダをドラッグしたことを知る
7−15.カラム幅を保存する
7−16.アイテムのどこ(サブアイテム)をクリックしたか知る
7−17.選択を常に表示する
7−18.指定のストリングが表示できる列幅(Column)を求める
7−19.右クリックでメニューを出す
7−20.簡単な色付け
7−21.ヘッダにイメージを表示する(Comctl32.dll:Version 4.70)

8章.CDocumentクラス
   ドキュメントクラス



8−1.ファイルサイズ=0のファイルを指定するとSerializeが実行されない
8−2.Serializeでエラーを発生させる
8−3.Serializeのリードでエラーを返すと現在のドキュメントが無題になる
8−4.ドキュメントの変更がなかった(あった)ことにする