2011-12-11 30 views
0

我不知道如何創建機制,當您點擊按鈕時,會在之前創建新的複選框。複選框的數量是無限的。 我不認爲對象表工作正常,所以我想在對象列表中執行。 有什麼建議嗎?無限數量的複選框

+0

標準庫具有可以使用的'list'和'vector'類。 –

回答

1

這裏是我會做什麼:

  1. 爲點擊該按鈕,創建一個事件(姑且稱之爲OnBtnClick
  2. 使用矢量/列表來容納所有的複選框
  3. OnBtnClick被稱爲你這樣做:
    • 創建一個複選框與所需的位置和大小,並確保它收到一個唯一的ID(這將幫助你區分複選框,當他們被點擊/檢查/等)。
    • 的複選框添加到列表(以獲取其狀態:檢查未選中
    • 的複選框添加到所需的窗口,父窗口(儘管當你創建它可能會自動發生)
    • 如果要爲添加的複選框添加一個事件,你應該檢查你的GUI框架的手冊(你可能會使用相同的事件處理程序,所有的複選框,並根據其ID分別對待)

根據使用的GUI框架,底部細節可能會有所不同,但這個想法保持不變。我用wxWidgets,QT和MFC做了這個,但我不知道你使用了哪個框架。您應該能夠找到每個框架的代碼示例。

+0

我想這可能會創建2個表的對象,在開始時第一個表有1個對象,當你添加新的任務時,第二個表將重新聲明size = [old + 2],來自上一個表的對象被重寫爲新表,並且new任務也會被添加到這張表中。 但是這個解決方案沒有經過優化。 – makeNicePlusOne

0

你會怎麼做無限數量的複選框 - 混淆了用戶?那麼,他/她會不會再嘗試使用它?糟糕的主意,你現在可以猜到。

您可能(應該)限制複選框的數量(或更好,限制窗體/對話框上控件的數量)。國際海事組織,超過10-12 CBs對於最終用戶來說會很麻煩。因此,更好的辦法是在對話框/對話框資源上使用全部,並使其全部隱藏/禁用。當用戶執行某些操作時,使其可見/啓用 - 以便最終用戶可以對其執行某些操作。

仍然要求N個CB,其中N不是事先確定的?然後你可以在組合框下面有複選框,或者使用列表控制下的複選框。列表控件已經擁有這個功能,但對於Combo下的CB,您可能需要編寫自己的類。請參閱this article作爲示例。

+0

我想創建接口,用戶可以爲我的程序添加無限制的任務數量。例如:您可以創建一個文件(具有唯一名稱)並將其刪除,無限次數。在接口中,我想創建一個創建新任務的bunton - 複選框,文本標籤等,您可以在其中指定您想要執行的操作(刪除,重命名,創建等)。 – makeNicePlusOne

+1

使用列表控件與複選框。 – Ajay