![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.3ベストアンサー
- 回答日時:
> 要はCreateWindowする手間が省けるといったところなのでしょうか。
そうですね。
座標を指定して CreateWindow するのと比べるとコントロールのレイアウトがしやすいと思います。
#1 の
> 楽になるかというと,ならないような気がします。
という書き込みは少し勘違いで書いてしまいました。
ウィンドウクラスを登録するためにウィンドウプロシージャを書かなければならないので面倒,
と思っていたのですが,よく考えると何もしないウィンドウプロシージャで登録しておいて,
後から CWnd 派生クラスでサブクラス化すればいいんですよね。
# 私が以前やったのが SDK のみで作ったカスタムコントロールを,
# MFC 使用のプロジェクトで使うというものだったので混乱してしまいました。
そうすると,手間は CStatic の派生クラスを作る場合とさほど変らなさそうです。
両方の方法を解説しているページがあったので紹介します。
参考 URL の,「カスタムコントロールの作成方法」「スタティックコントロールのサブクラス化」
です。
参考URL:http://skpon.portland.co.uk/mfc_index.htm
No.2
- 回答日時:
> 結局カスタムコントロールの使い方はいまいちわかりませんでした。
editだとエディトコントロールはできたのですが> 他にどういうクラスがあるのかよくわからなかったもので・・・
例として(すぐ試せるように),edit を使いました。
自分で登録(RegisterClassEx)したウィンドウクラス名を使うのが本来の使い方だと思います。
実際そういう使い方をしたことがあります。
ご回答ありがとうございます。早速試してみました。
クラスはウインドウクラスなんですね。CWndなどのMFCクラスと勘違いしていました。
早速RegisterClassExで登録するとうまくいきました。
要はCreateWindowする手間が省けるといったところなのでしょうか。
No.1
- 回答日時:
「カスタムコントロール」を貼り付けた後,
右クリックして「プロパティ」を選んでください。
プロパティの「クラス」のところに,
ウィンドウクラス名を記入します。
試しに edit などと記入して,ビルド&実行してみると,
カスタムコントロールの部分がエディットボックスに置き換えられていることが分かると思います。
楽になるかというと,ならないような気がします。
「独自の子ウィンドウ」を CStatic の派生クラスにでもして,
ダイアログにはとりあえず普通のスタティックコントロールを貼り付けておいて,
サブクラス化(ClassWizard のメンバ変数の追加で,CStatic の派生クラスを割り当てればOK)したほうが楽そうです。
ご回答ありがとうございます。CStaticを派生させるのが
一番楽そうですね。
結局カスタムコントロールの使い方はいまいちわかりませんでした。editだとエディトコントロールはできたのですが
他にどういうクラスがあるのかよくわからなかったもので・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カメラスクロールするのを動画...
-
With~EndWithの省略部分と引数...
-
ExcelにてListviewが表示できない
-
vba dbcommand button activex ...
-
エクセルVBAでオプションボタン...
-
ControlTipTextの書式設定(Font...
-
エクセル・VBA CheckBoxのオブ...
-
VB6でシリアルポートの制御
-
Winsockのオブジェクトエラー
-
USB I/Oのデジタル信号をvbaで...
-
WIN32でOCXを利用する方法を教...
-
excel vbaでユーザーフォームに...
-
WordのVBAにてコントロール名に...
-
C#で自分のウインド・ハンド...
-
chr関数の呼び出しで「プロ...
-
winndws セキュリティ
-
excelのリストボックスで選択し...
-
複数のコマンドボタン(VBAで)...
-
ListViewのチェックボックスに...
-
RenderControl メソッド?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル・VBA CheckBoxのオブ...
-
カメラスクロールするのを動画...
-
vb.netで画面のコントロールId...
-
C#で角が丸いテキストボックス
-
EXCELでactivexコントロールを...
-
ExcelVBAでListViewが使用できない
-
エクセルVBAでオプションボタン...
-
コンボボックスの文字によるif...
-
コントロールを移動できない
-
フォーム上の現在アクティブな...
-
excelのリストボックスで選択し...
-
ユーザーフォームで動的(Me.Con...
-
アクセス特有の書き方?
-
VBAのエラーについて、”実行時...
-
間違えて配置してしまったコン...
-
OCXって何ですか?
-
ListViewのチェックボックスに...
-
With~EndWithの省略部分と引数...
-
VBAのフォームでTextBoxがいっ...
-
Labelコントロールの(左右)余...
おすすめ情報