在C语言中,没有直接的方式来创建图形用户界面(GUI)组件,如下拉框。通常,这需要使用专门的库,比如GTK+、Qt或者Win32 API等。以下是一个使用GTK+库创建下拉框并将列表绑定到它的示例代码。
确保你已经安装了GTK+库。以下代码将创建一个简单的GTK应用程序,其中包含一个下拉框和一个列表。用户可以从下拉框中选择一个项目。
```c
include
// 函数声明
void on_item_activated(GtkWidget widget, gpointer data);
int main(int argc, char argv[]) {
GtkWidget window;
GtkWidget combo_box;
GtkWidget store;
GtkWidget model;
GtkWidget text;
// 初始化GTK
gtk_init(&argc, &argv);
// 创建主窗口
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window), "绑定下拉框示例");
gtk_window_set_default_size(GTK_WINDOW(window), 200, 100);
g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
// 创建一个列表存储
store = gtk_list_store_new(1, G_TYPE_STRING);
// 添加一些项目到列表存储
gtk_list_store_append(store, &model);
gtk_list_store_set(store, &model, 0, "Item 1", -1);
gtk_list_store_append(store, &model);
gtk_list_store_set(store, &model, 0, "Item 2", -1);
gtk_list_store_append(store, &model);
gtk_list_store_set(store, &model, 0, "Item 3", -1);
// 创建下拉框
combo_box = gtk_combo_box_new_with_model(GTK_TREE_MODEL(store));
gtk_combo_box_set_entry_text_column(GTK_COMBO_BOX(combo_box), 0);
// 连接信号
g_signal_connect(combo_box, "activate", G_CALLBACK(on_item_activated), NULL);
// 将下拉框添加到窗口
gtk_container_add(GTK_CONTAINER(window), combo_box);
// 显示窗口
gtk_widget_show_all(window);
// 运行GTK主循环
gtk_main();
return 0;