2011-12-11 22 views
0

ボタンをクリックすると、前に新しいチェックボックスを作成する仕組みをどうやって作成するのだろうか。チェックボックスの数は無制限です。 私はオブジェクトのテーブルがうまく動作するとは思わないので、私はオブジェクトのリストの実装について考える。 提案がありますか?ここでチェックボックスの数に無制限

+0

標準ライブラリには、使用できる 'list'クラスと' vector'クラスの両方があります。 –

答えて

1

は、私がどうなるのかです:

  1. そのボタンをクリックするイベントを作成します(のはOnBtnClickそれを呼びましょう)
  2. OnBtnClickが呼び出されると、すべてのチェックボックス
  3. を保持するために、ベクトル/リストを使用します
    • 目的の位置とサイズのチェックボックスを作成し、一意のIDを受け取るようにします(これは、クリック/チェック/などのときにチェックボックスを区別するのに役立ちます)。
    • リストにチェックボックスを追加します(そのステータスを取得する:をチェックしたりをチェックしていない)
    • (あなたがそれを作成するときに、これは自動的に起こるかもしれないが)、目的のウィンドウに親ウィンドウをチェックボックスを追加し
    • 追加したチェックボックスのイベントを追加したい場合は、あなたのGUIフレームワークのマニュアルを確認する必要があります(おそらく、すべてのチェックボックスに同じイベントハンドラを使用し、そのIDに基づいて、それらを別々に扱います)

使用されているGUIフレームワークによっては、下部の詳細が異なる場合がありますが、考え方は変わりません。 wxWidgets、QT、MFCでこれを行いましたが、どのフレームワークを使用するのか分かりません。各フレームワークのコードサンプルを見つけることができるはずです。

+0

私はそれについて多分考えるかもしれないオブジェクトの2つのテーブルを作成する最初のテーブルは1つのオブジェクトを持っているとき、新しいタスクを追加すると、2番目のテーブルはsize = [old + 2]で再宣言され、前のテーブルのオブジェクトは新しいテーブルに書き換えられ、タスクもこの表に追加されます。 しかし、この解決策は最適化されていません。 – makeNicePlusOne

0

無制限の数のチェックボックスを使用すると、ユーザーを混乱させるでしょうか?それで、彼/彼女は再びそれを使用しようとしませんでしたか?あなたが今思うように、悪い考え。

チェックボックスの数を制限する必要があります(または、フォームまたはダイアログのコントロールの数を制限することをお勧めします)。 IMOでは、エンドユーザーにとってCBが10-12を超えると煩雑になります。したがって、より良い考えは、すべてをのダイアログ/ダイアログリソースに表示し、すべてを非表示/無効にすることです。ユーザーが何らかのアクションを実行したときに、それらを表示/有効にして、エンドユーザーがそのアクションを実行できるようにします。

Nが事前に決定されていないN個のCBが依然として必要ですか?次に、コンボボックスでチェックボックスを使用するか、リストコントロールのチェックボックスを使用します。リストコントロールはすでにこの機能をホストしていますが、ComboのCBの場合は、独自のクラスを作成する必要があります。例としてthis articleを参照してください。

+0

私は、自分のプログラムに無限の数のタスクを追加できるインターフェースを作りたいと思っています。たとえば、ファイルを(一意の名前で)作成し、削除する回数を無制限にすることができます。インターフェースでは、新しいタスクを作成するbuntonを作成したいと思います。checkbox、textlabelなど。あなたが何をしたいかを指定できます(削除、名前変更、作成など)。 – makeNicePlusOne

+1

リストコントロールをチェックボックスで使用します。 – Ajay

関連する問題