• ベストアンサー

個数可変のボタン配置

Windowsにおいて、VisualC++6.0(のMFC)を使用して、画面を作成する際、個数を可変としたボタンの配置は可能でしょうか? どのようにすればよいか教えて下さい。 ダイアログサイズが固定の場合、ボタンを追加していくとあふれてしまいます。スクロールの利用の仕方でしょうか。 JavaScriptやJavaであればできそうなのですが、VisualC++でしたいのです。 よろしくお願いします。

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

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

>私が知りたいのは、上記により作成したものが、画面上にどのように配置するか?です。 >画面に入りきらない場合はスクロールしなければなりませんが、そのあたりのことを教えてください ダイアログベースではなく、SDIベースで作成し、ViewウィンドウをCFormViewから派生させればダイアログをウィンドウ内に貼り付けることが出来ますので、あとは親ウィンドウにスクロールバーをつけて制御すれば実現可能かと思います。

yuyama
質問者

お礼

ありがとうございます。 できました! いつもダイアログベースで作成していたもので知りませんでした。 わかりづらい質問に答えていただき感謝してます。

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

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

CButtonクラスのインスタンスを作成し、CButton::Create()で作成可能です。 CButtonは、CWndの派生クラスなので、位置の移動はMoveWindow()やSetWindowPos()可能です。 キャプションのフォントについてはそのままではシステムフォントが使用されるので、ダイアログの他のコントロールにあわせるのであれば、WM_GETFONTでダイアログに設定されているフォントを取得し、WM_SETFONTでフォントをセットしてあげてください。

yuyama
質問者

補足

ありがとうございます。 私が知りたいのは、上記により作成したものが、画面上にどのように配置するか?です。画面に入りきらない場合はスクロールしなければなりませんが、そのあたりのことを教えてください。

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

関連するQ&A

  • ダイアログとリストコントロールのサイズ変更

    VC++でダイアログベースのプログラミングをしています。 初心者です。 ダイアログの枠をドラッグしてサイズ変更ができるようにしたくて、 先週からネットや本を読み漁っていたのですが、 先日リソースのプロパティで枠の種類を[サイズ変更枠]にすると、 可変にできることがわかりました。 ただ、ダイアログの大きさは変更できるようになったものの、 ダイアログに配置してあるリストコントロールのサイズは固定のままです。 これを、ダイアログの枠のサイズに合わせて可変にすることはできないでしょうか。 また今回の内容に限らず、ダイアログやコントロールを作成する時に、 参考になるような本やサイトでオススメのものがありましたら、 ぜひ教えて頂きたいです。 ちなみに私が今参考にしている本はこの3冊です。 「図解でわかるVisualC++2005 Express Edition」 「VisualC++逆引き大全 500の極意」 「VisualC++.NET 逆引き大全 500の極意」

  • 可変幅でabsolute指定で中央配置できません

    可変幅でabsoluteを指定すると中央配置できなくなります。 ブラウザの幅に合わせて中身のサイズも合わせて伸縮するサイトを構築したくて色々試しているのですが、どうしてもうまくできません。 どのように指定したらできるのでしょうか?困っています、どなたかお助けください。 例えば画像が固定のサイズであれば  width:500px; position:absolute; left:50%; margin-left:-250px; 見たいな形で中央配置できるのですが、可変の場合、、伸縮させたいので、横幅は常に500pxとはなりません。 よろしくお願い致します。

    • ベストアンサー
    • CSS
  • Javascriptを使って動的にラジオボタンを配置する方法

    こんにちは。 Javascriptを模索しながら仕事で作業しています。 (突然、要員として投入されてしまいました <(ToT)> ) タイトルにあるように、ラジオボタンをJavascript を使って、ラジオボタンの配置数を動的に変化させ たいのですが、ネットを検索しても、ラジオボタン の配置数を動的にしているサイトがないので、難航 中す。「ラジオボタンの配置数を固定として…」が ほとんどでした。 画面を表示するときに、JavaBeanでラジオボタンの 情報を獲得できるので、この情報に従い表示したい です。表示中に、ラジオボタンの配置を変更するこ とはなく、submitにより、入力内容のチェックを行っ た後、サーブレットを起動する流れになっています。 すみませんが、手助けお願いします。

  • リストコントロールのクリック操作による文字列反転について

    VisualC++2005(MFC)でダイアログベースのプログラムを作成しています。そして、ダイアログにリストコントロールを配置して、文字列を一行単位に出力しています。そのリストコントロールの文字列箇所をクリックしても反転しないようにするためにはどのようにしたら良いのでしょうか?、お教えください。 ※DisabledプロパティをTRUEにしたら、クリックしても、文字列箇所が反転しないようになったのですが、縦スクロールバーまで使用出来なくなってしまいました。

  • VisualC++ サブウインドウの作り方

    MFCでダイアログベースで画面を作っています。 画面の中にサブウインドウ?のようなものを作成し、 そのなかにボタンなどを配置したいと考えているのですが どようにすれば良いのでしょうか? 理由は画面の大きくなりすぎているので、 コントロール類をスクロールさせる必要があるからです。 また、サブウインドウ自体も大きさを変更できるようにしなければなりません。 なにか良い方法はないでしょうか?

  • ヘッダー・フッター固定でコンテンツのみ可変

    高さが固定されているヘッダーとフッターをウィンドウの上と下に固定したままで、その間のコンテンツ部分のみを縦方向に可変にする方法は考えられるでしょうか。つまり、 (ヘッダー+コンテンツ+フッター)の高さの合計=ウィンドウの高さ が常に成り立つ方法です。framesetでrowを指定すれば話は早いんですが、XHTMLで実現したいので使えません。 Javascriptを使ってウィンドウの高さを計算してからコンテンツ部分の高さを指定する方法もありますが、その場合はウィンドウのサイズを変えてしまうとヘッダーとフッターがウィンドウに連動せずに画面外や中途半端なところに残ってしまうので、それもだめかなと思いました。 とりあえずコンテンツ部分はどんなに高さが小さくなってもいいので、かなりウィンドウの高さが小さくても、常にヘッダーとフッターがきちんとウィンドウの上下に固定され、コンテンツ部分が可変になるような方法がありましたら教えてください。 ------------------------------- ヘッダー(固定) ------------------------------- コンテンツ(可変) ※この部分のみにスクロールバーが現れることができる。 ------------------------------- フッター(固定) -------------------------------

  • VC++2013 ボタンの配置

    今までBCCを使用しており、VCに乗り換えることになりお勉強中なのですが、 VS2013のC++でプログラムによるボタン配置はどのように行えばいいのでしょうか? 以下のような感じをやりたいのですが。。。 #define btn_cnt 10 //ボタンの数 int i; for (i = 0; i < btn_cnt; i++) { ボタン作成 (ボタン位置縦,横 ボタンサイズ縦,横) } ボタン[0]の色を変える ボタン[1]を見えなくする

  • ボタンが押された事を検知するには?

    <プログラム環境> Windows XP VC++6.0 MFC AppWizard(exe) ダイアログベース <目的> 1.ダイアログにボタン1を配置する 2.処理A(無限ループ)を開始する 3.処理Aの先頭でボタン1が押されたか判断する 4.ボタン1が押された場合処理Aを終了し、処理Bを行う というプログラムを作成する。 <質問> 目的のプログラムを作成するには、ボタン1が押された事を検知する 必要があると思うのですが、その方法が分かりません。 ボタンが押された事を検知するにはどうしたら良いのでしょうか? 宜しければご指摘お願い致します。

  • ブラウザのサイズを変えたら、divのボックスの高さも合わせて

    ブラウザのサイズを変えたら、divのボックスの高さも合わせて 可変できるようにしたいです。 さらに、可変したdivのボックスの高さより内容量が多い場合は ブラウザのスクロールバーのようにCSSのoverflow:autoで スクロールが表示されるようにしたいと考えております。 現時点で、スクロールバーはオリジナルの画像で作成しており、 表示させるのにjScrollPane.jsというJavaScriptを使用しています。 しかし高さが固定されており、カスタマイズしようと思っているのですが なかなかうまくいきません。 どなたか、実現方法をご教授願えますでしょうか。 よろしくお願いいたします。 ※情報不足であれば、追記いたしますのでご指摘お願いいたします。

  • 丸みのあるボタンの表示

    VisualStudio2008を使用しています。 リソースビューにて、ダイアログを作成、 ボタンを配置すると、XPやVistaのような 丸みのあるボタンが配置され、 Ctrl+Tで、ダイアログのテストをしてみても、 丸みのあるボタンで表示されるのですが、 ビルドして表示させると、直角のボタンで表示されてしまいます。 ボタンのプロパティを見る限り、丸みをON/OFFするような 設定は見つかりませんが、XPやVistaのようなボタンで 表示させるには、各ボタンごとに、SetWindowRgnを 行なう方法でしか、実現できないものなのでしょうか?

このQ&Aのポイント
  • 【EP-977A3】を使用しています。パソコンの文書などをプリントしようとすると、紙詰まりを起こし、背面ユニットのところで紙が詰まってしまいプリントできません。
  • 毎回「背面ユニットを取り外し詰まった用紙を取り除いてください」と出てしまいます。ノズルチェックをしたところ問題はなく、紙がとにかく流れません。
  • どなたかぜひお力をお貸しください!
回答を見る