MFC之下拉框

2022-07-17 06:06:17 字數 2210 閱讀 2181

mfc可能會持續更新吧......因為各種原因,ide用的vs2010。

新建乙個mfc應用程式,專案名叫做combobox,位置可自選。

在應用程式型別中選擇基於對話方塊,點選完成

可以看到建立之後乙個mfc視窗的初始樣式

在右側工具箱中選擇combo box

注意選擇前ctrl+a全選初始視窗,delete刪除原來的控制項。

下拉框右鍵屬性,在data中新增項

注意分號分隔不同的項,比如:雞翅;可樂;薯片

新增後的介面

不過此時的框中,雞翅可樂的資料可以被修改,比如改成雞腿,這是原來下拉的項中所沒有的。

同樣右鍵屬性,在右邊的type中,原本是dropdown,改選成droplist,這樣就不可修改了。

注意一點,data中的和下拉框中項的排序不一定相同,如果需要按照自己的順序,也是右鍵,將sort改選成false。

在**中新增data項以及其他操作

右鍵新增變數,然後填寫變數名,並選好訪問方式,點選完成。

然後在左側的類檢視中點開ccomboboxdlg,選擇dodataexchange()方法,可以看到n_cbx已經和comboxbox相關聯。

點選oninitdialog()函式,在其中填寫**。

//下拉框新增

n_cbx.addstring(text("雞翅"));

n_cbx.addstring(text("可樂"));

n_cbx.addstring(text("薯片"));

n_cbx.addstring(text("蛋撻"));

設定預設選項,使得還沒有選擇時,框中有預設值。

n_cbx.setcursel(0);
其他一些操作

//插入操作

n_cbx.insertstring(4, text("漢堡"));

//刪除

n_cbx.deletestring(3);

//獲取1號的索引具體內容

cstring str; //準備乙個str,得到1號索引中的值

n_cbx.getlbtext(1, str);

messagebox(str); //彈出str

觸發事件

先注釋獲取的**

然後開啟:資源檢視--dialog,然後選擇第二個--控制項事件--selectchange,當選項更改時,就會觸發事件(就是在下拉框中選擇另乙個項)。然後可以監聽事件並進行一些操作。

新增**,當更換下拉框選項時,會彈出更改的選項

//拿到索引的位置

int index = n_cbx.getcursel();

cstring str;

n_cbx.getlbtext(index, str);

messagebox(str);

彈出效果圖

extJs之下拉框聯動

在ext的世界裡面,我重新感受到了在學校裡玩swing的記憶.那時我們都需要為乙個控制項建立乙個資料來源,在把這個資料來源繫結在控制項上.ext也是如此.首先,兩個下拉框,第乙個下拉框首先load資料來源,在select的事件中在load第二個資料來源,這就是乙個簡單的二級聯動的實現原理了.第乙個下...

easyPOI匯入匯出之下拉框

import cn.afterturn.easypoi.excel.annotation.excel import lombok.data classname test description todo author zhanggesheng date 2020 10 20 17 38 versio...

帆軟報表之 下拉框聯動

現在工作上有乙個常見的需求 第乙個下拉框選擇倉庫型別,第二個下拉框倉庫名稱其選項自動展示對應倉庫型別名稱。如 繞了一些彎路,所以總結一下在不同應用場景下的做法 這種情況比較好做,建議建立資料集引數,比較方便。詳情在帆軟的幫助文件頁面有例子,鏈結貼在這 這種情況再用第一種方法就比較難行的通了。基本思路...