怎么使用listcontrol设置标题,行和列

怎么使用listcontrol设置标题,行和列,第1张

方法

新建工程,注意选择 MFC AppWizard(exe),并输入工程名

在d出的对话框中选择【基于对话框】,然后确定

在对话框界面中,删除不需要的静态文本控件,并添加listcontrol列表控件

右击控件,在样式中选择【报告】

右击列表控件,选择【建立类向导】。在d出的对话框中,选择 Member Variables

在下面的控件中,点击选中IDC_LIST1,点击右上角的【Add Variable】

在d出的添加控件变量对话中,输入控件变量的名称,并确定

下面的类别和变量类型保持默认即可。

之后回到之前的 MFC ClsssWizard 对话框,点击确定即可。这样就成功给控件添加一个控制变量了 .

在项目名Dlg.cpp文件中的OnInitDialog()函数里添加代码晌知旅

注意,在这宴凳个函数的最后,return TRUE 前添加代码。

列表中,插入一列,用函数InsertColumn()。其参数依次表示:列号,列标题, 对齐方式,列宽,子视图的索引。

在插入列后,用函数InsertItem()来添加行。其第一个参数表示行的索引,第二个参数表示插入的文本。

添加行后,给行设置文本用函数SetItemText()。其第一个参数猛橡为行号,第二个参数为列号,第三个参数表示设置的文本信息。

程序运行后的结果

可以根据需要设置多列,改变标题、行和列的内容。体会其函数的使用顺序和调用方法。自己试着多写几次就可以记住啦

注意事项

在控件listcontrol中添加数据时,要先添加行信息,再添加列信息

其实是有的,返姿在ListActivity中有一个方法很容易被忽略,ensureList(),这是唯一一个设置了layout的地方,漏余绝但是不是在oncreate中设置的,listActivity没有实现onCreate方法,

继续找,发现在onRestoreInstanceState(), setListAdapter()和毁雀getListView()中调用了,也就是说在这3个方法中都有可能会执行setContentView方法,

知道这个就好办了,

解决方法一:在oncreate方法中调用getListView()代替掉上面的setContentView(R.layout.main)

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState)

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE)

//代替掉setContentView

getListView()

getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_1)

}

ListActivity 使用的是默认的setContentView(com.android.internal.R.layout.list_content)你也可乎迟以使用自定义塌顷段的布局文件,只要list的id设置为android:id/list就行团誉了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11984612.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存