コントロールを配置できるのは・・・ – プログラミング – Home

コントロールを配置できるのは・・・
 
通知
すべてクリア

コントロールを配置できるのは・・・


さっちゃめ
 さっちゃめ
(@さっちゃめ)
ゲスト
結合: 17年前
投稿: 2
Topic starter  

ども、はじめまして。

コントロールを配置できるのは、ダイアログベースかCFormViewだけなのでしょうか?
ダイアログじゃなく、SDI or MDIを選んでCViewとかではコントロールを
配置することは無理なのでしょうか?


引用解決済
トピックタグ
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

たとえば、CButtonのメンバ変数を作って、Createメソッドでビュー内の適当な位置に作
成することはできますよ。

ただ、リソースで管理できないのでCFormViewを使うのに比べて面倒でしょう。


返信引用
さっちゃめ
 さっちゃめ
(@さっちゃめ)
ゲスト
結合: 17年前
投稿: 2
Topic starter  

返信ありがとうございます。

ということは、ツリーコントロール等のコントロール変数を用意して
自分で表示位置などを設定すれば問題なくできるということで合っていますでしょうか?


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

ためしにやってみればよいのでは?

ただ、イベントの追加等は(ソースの自動生成ではなく)自分でやらないといけないでし
ょうけど。


返信引用
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

> ということは、ツリーコントロール等のコントロール変数を用意して
> 自分で表示位置などを設定すれば問題なくできるということで合っていますでしょうか?

CFormViewをCViewみたいに見せる方法もあります。
コントロールを全て自分で管理するよりも楽だと思いますので、
両方試してみてはいかがでしょうか。


返信引用
+
 +
(@ )
ゲスト
結合: 17年前
投稿: 50
 

老婆心ながら忠告をば。
乱暴に言えば、コントロールと言うモノはこの世に存在しません。
コントロールと呼ぶものは、全て子ウインドウです。

たとえば、ぽこっと膨らんだ背景画を持ち、マウスでクリックイベントで
へこんだ背景画へすり替えを行う子ウインドウをボタンと呼んでるだけ。

Buleさんの言うところは、子ウインドウなんだから、ダイアログだろうが
Viewだろうがそんなの関係ねぇい!。ってことです。(タブン

絵ズラをリソースとして記憶できるのがダイアログであり、ダイアログを
継承したViewがCFおrmViewってだけです。


返信引用
+
 +
(@ )
ゲスト
結合: 17年前
投稿: 50
 

CViewのクライアント領域いっぱいに外観を
子ウインドウとしたダイアログを表示して
GUIデザインを手っ取り早く済ませる方法は
VC2.0時代からあったと思います。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

確か、CFormViewはCDialogを継承していなかったはずです。
CWnd - CView - CScrollView - CFormViewだったはず。

但し、中身的にはCDialogの機能をそっくり移植したような作りだったはずなので
CDialogと同じようなコードを手動で追加する事で色々対応可能だったと思います。
どこかの掲示板でそのような話が出ていました。

で、CFormViewではなぜ駄目なのかと言う説明が無いので適切なレスが付きにくい
状態だと思います。外観だけの話ならその気になれば変更できますからね。
大量のコントロールを扱うならCFormViewの方が断然楽です。
数が少ないならCViewを使ってコントロールは自前でCreateして配置すると言うのも
ありでしょう。

>自分で表示位置などを設定すれば問題なくできるということで合っていますでしょうか?
何を持って問題なくと判断するかだと思います。
メッセージハンドラの追加なんかを全て手動で行う事ができるのであれば、
使うだけなら問題なく使えると思います。
(要はこの辺のフレームワークを理解しているかどうかが問題)
IDEの機能を使ってメッセージハンドラの追加ができないなら使えないと言う話なら
問題有りと言う事になると思います。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

追記

リソースを使うメリットが管理しやすさやデザインのしやすさ以外に
リソースを使うとユーザーの画面の設定にある程度追随してくれると言うのがあります。
自前でサイズや位置を指定する場合はピクセル値で設定しますが、
ユーザーが画面上のフォントサイズや解像度を変更していると想定したレイアウトに
ならない事があります。サイズや位置をしてする時にちゃんとこの辺を想定して
調整するようにしていれば問題有りませんが、ピクセル値を固定で持っていると
レイアウトが崩れます。
リソースはピクセル値ではなくてダイアログ単位と言う数値でサイズや位置を持っていて
実際にコントロールを配置するときはこの値を元に解像度やフォントサイズを考慮して
ピクセル値を計算しています。この為、設定に追随してくれるわけです。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました