• 締切済み

VC++2013 ボタンの配置

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

みんなの回答

  • bakabon_X
  • ベストアンサー率17% (6/35)
回答No.1

回答ではなく、コメントです。 VS2013を使用されるならば、MFCを使用すれば大変簡単にGUIのプログラムができます。 しかし問題点は、費用と思います。 無償のものは、Qtとかjavaがあり、何れも優れたものと思います。 特にjavaの資料やサイトは多数あります。 Qtの資料は、多数無いかも知れません。 以上

関連するQ&A

  • addChildでボタンを配置

    Flash CCで勉強中です 下記わからないことがあるので、教えてください。 (1) avtionscriptで下記のようにボタンを配置したら、 タイムライン上のレイヤーのせいかボタンが表示されません。 レイヤーを非表示にしてみるとちゃんとボタンは見えています。 addChildの部分をaddChildAt(_sinbol_btnhome,stage.numChildren-1)と最上位にしても 見えません。どのようにすればいいのでしょうか。 (2)下記ENTER_FRAMEイベントで起動直後のフレーム番号1でstopするように書いても止まらず  70で止まってしまいます。なぜでしょうか。起動直後に止まって、任意のアクション後スタートするように したいのですが、どのようにすれば良いでしょうか。 package { import flash.display.MovieClip; import flash.display.StageDisplayState; import flash.events.Event; import flash.events.MouseEvent; public class main extends MovieClip { private var cnt:int=0; public function main() { super(); //ボタン配置 var _btn:btn = new btn; _btn.x=3; _btn.y=462; addChild(_btn); _btn.addEventListener(MouseEvent.CLICK,btnhomeOnMouseDown); function btnhomeOnMouseDown(eventObj:Event):void { trace("BTN_DOWN"); } addEventListener(Event.ENTER_FRAME,onEnterFrane); } private function onEnterFrane(eventObj:Event):void { cnt +=1; trace(cnt.toString()); if(currentFrame == 1){ trace("初回起動") stop(); } if(currentFrame == 70){ trace("フレーム70") stop(); } } } }

    • ベストアンサー
    • Flash
  • VC++にてボタン等のサイズ取得

    現在VC++のMFCにて画面を作成していますが、 画面に配置した、ボタン等のサイズと位置の取得方法がわからず困っています。 VCはほとんど素人なので簡単なことなのかも知れませんが、まったく分かりません。 ご存知の方、ご教授願います。

  • atoi() 実行エラー

    以下のプログラムをコンパイル・実行しようとすると、コンパイルはエラーなくできますが、実行すると「プログラムは動作を停止しました」という表示が出て、エラーになってしまいます。 たぶんatoi()が原因だと思うのですが、何が問題なのでしょうか? それとも環境の問題でしょうか? どなたかご存知の方がいらしたら教えてもらえないでしょうか。 <環境> VISTA、VC++ //------ここから---------- #include <stdio.h> #include <stdlib.h> #define AAA atoi(argv[1]) #define BBB atoi(argv[2]) #define CCC atoi(argv[3]) #define DDD atoi(argv[4]) #define EEE atoi(argv[5]) #define FFF atoi(argv[6]) #define GGG atoi(argv[7]) int main(int argc, char **argv) { FILE *fo; int i, j, k, l, m, v, cnt1; int v_tmp = CCC; int x_cnt; int y_cnt = 0; int cnt = 0; int arr[8190]; if(argc != 9){ printf("引数の数が違います。\n"); printf("使用法:<プログラム名><AAA><BBB><CCC>\n"); printf(" <DDD><EEE><FFF><GGG><出力ファイル名>"); exit(1); } if((fo = fopen(argv[8], "w"))==NULL){ printf("can not open file\n"); exit(1); } v = v_tmp; for(l=0; l<AAA; l++){ arr[l] = v; cnt++; if(cnt == FFF){ v += DDD; cnt = 0; } } for(i=0; i<BBB; i++){ m = 1; cnt1 = 0; x_cnt = 0; while(x_cnt < AAA){ fprintf(fo, "%04x", arr[m]); x_cnt++; if(!(x_cnt%2)) fprintf(fo, "\n"); cnt1++; if(cnt1%2){ }else{ m += 3; } m -= 1; } y_cnt++; if(y_cnt == GGG){ v_tmp += EEE; y_cnt = 0; v = v_tmp; cnt = 0; for(l=0; l<AAA; l++){ arr[l] = v; cnt++; if(cnt == FFF){ v += DDD; cnt = 0; } } } } fclose(fo); return 0; }

  • 【VC++2005(CLR)】動的にパネルやグループに含まれるボタン、ラベルを増やすには?

    VC++初心者です。 現在、VC++2005 express edition、CLRプロジェクトでコーディングしております。 いきなりですが、以下のようなイメージをコーディングしていきたい のですが、どうしたら宜しいでしょうか。 ************************************************ ・現在、グループボックスA(またはパネルA)にボタンA、ラベルA  を配置しています。 ・int iの値だけ、グループボックスA(それに含まれるボタンA、  ラベルA)を増やしたいです。 例:int i = 1;のとき グループボックスA1   int i = 2;のとき、グループボックスA1、グループボックスA2    という感じで増やしていきたいです。 ・グループボックスAを増やしていくと、フォームに入りきらなく  なるので、これを回避する方法はありますか? ************************************************ そもそもこれは、実現可能なのでしょうか?

  • VC++.netのボタンを透明にしたいのですが

    VC++.netのボタンを透明にしたいのですが MFCだと出来るみたいなのですが VC++.net2008のExpressEditionで製作している為MFCが使えません フォームに任意のイラストを貼り付け イラストのある部分をクリックするとイベントが始まる というプログラムを作りたいのですが イベントを発生させるのに、ボタンを使用している為 ボタン形状が四角というのがよろしくありません 透明で使用できれは、任意の場所に配置でき イラストの景観がよくなります 何かヒントでも良いので よろしくお願いします

  • ActionScriptで、押したボタンの判別方法を教えてください。

    ActionScriptで、押したボタンの判別方法を教えてください。 ActionScript3.0で作成しています。 6フレームの【oya_mc】というムービークリップの各フレームに フレーム1ラベル[m1]に【ko1_mc】 フレーム2ラベル[m2]に【ko2_mc】 フレーム3ラベル[m3]に【ko3_mc】 フレーム4ラベル[m4]に【ko4_mc】 フレーム5ラベル[m5]に【ko5_mc】 フレーム6ラベル[m6]に【ko6_mc】 というムービークリップを配置しています。 配置しているムービークリップには、それぞれ6個のボタンを呼び出して配置しています。 【btn1】【btn2】【btn3】【btn4】【btn5】【btn6】 【btn3】を押したときに【oya_mc】を3フレーム目に移動。 【btn6】を押したときに【oya_mc】を6フレーム目に移動。 というようにしたいのですが、なかなかうまくいきません。 FLASH初心者ですが、どうかご指導よろしくお願いします。 【ko1_mc】に書いたスクリプトを抜粋して書きます。 ------- for(var i:int = 1; i <= 6; i++){ this["btn" + i].addEventListener(MouseEvent.CLICK,Down); function Down(mo:Event):void{ MovieClip(parent).gotoAndPlay("m"+i); } } ------- よろしくお願いします。

    • ベストアンサー
    • Flash
  • AS3.0でボタン処理をまとめて書くには?

    はじめまして。当方、最近プログラム的なものを始めたばかりで困っています。 例えばルートにbtn0,btn1,btn2という3つのムービークリップを置いたとして、 ボタンを押したらそれぞれのムービークリップ名をトレースするには、 AS2.0以前ではルートのフレームアクションで for (var i=0;i<3;i++){  _root.["btn" + i].onRelease = function{   trace(this._name);  } } といった感じでforループでまとめられると思うのですが、 3.0ではどうしたらよいのか見当もつかず困っています。 for (var i=0; i<3; i++) {  ["btn"+i]addEventListener(MouseEvent.CLICK,over); } このようにまとめてリスナーに登録したとしても、 リスナー関数が別になってしまうので、this.nameは使えず…はて。といったところです。 なにとぞご教示よろしくお願い申し上げます。

    • ベストアンサー
    • Flash
  • 配列と乱数

    int btn_ary[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; int rdm; int cnt = 0; Random ran = new Random(); rdm = ran.nextInt(9) + 1; while (cnt < 10) {   rdm = ran.nextInt(9) + 1;   for (int t = 0; t < btn_ary.length; t++) {     if (btn_ary[t] == rdm) {       continue;     }   }   btn_ary[cnt] = rdm;   cnt++; } このロジックで配列には同じ数は入らないだろうと思ったんですが、 バシバシ入ってきます(笑 デバッグしても見つけられません。。。 どこがおかしいのでしょうか・・・。

    • ベストアンサー
    • Java
  • int型の表せる範囲

    VC++6.0 on win2kです。 int型の表せる範囲は3万ぐらいまでだと思っていたのですが、 #include <stdio.h> #define Max 1000000 void main(){ for(int i=0;i<Max;i++){ printf("%d\n",i); } } というプログラムを走らせると普通に出ます。 int型の範囲とは何を意味するのでしょうか?

  • atttachmovie で配置エリアの限定

    actionscript 初心者です。 for文の中で var x:Number = Math.floor(Math.random()*1000)-500; var y:Number = Math.floor(Math.random()*650)-325; _root.space.attachMovie("btn_mc1", "btn_mc"+i,0-i, init); _root.["btn_mc"+i]._x = x; _root.["btn_mc"+i]._y = y; というスクリプトで、btn_mcというmcをランダムに配置しています。 (このスクリプト、間違っているかもです。すみません) 配置位置は今1000px×650pxのステージ中でランダムになっているのですが これを、このステージいっぱいの楕円形があると仮定して その中にだけ、配置するということをスクリプトでできるでしょうか?? つまり、mcがぼんやりと楕円形に集まっている。。というような状態に したいのです。 楕円のマスクをかける、という方法ですと、mcが欠けてしまい、 見栄えがよろしくないです。。 よろしければ、お教えいただけると、幸いです。 お願いいたします m(__)m

    • ベストアンサー
    • Flash