VS2012数据列表式显示

添加“list control”控件,“View”设为“Report”
在这里插入图片描述
选中该控件,右击添加变量“m_list”
在这里插入图片描述

// CcomDlg 消息处理程序

BOOL CcomDlg::OnInitDialog()
{
	CDialogEx::OnInitDialog();

	// 将“关于...”菜单项添加到系统菜单中。

	// IDM_ABOUTBOX 必须在系统命令范围内。
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		BOOL bNameValid;
		CString strAboutMenu;
		bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
		ASSERT(bNameValid);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
	//  执行此操作
	SetIcon(m_hIcon, TRUE);			// 设置大图标
	SetIcon(m_hIcon, FALSE);		// 设置小图标

	//list control控件初始化
   // 获取编程语言列表视图控件的位置和大小   
	CRect rect;  
    m_list.GetClientRect(&rect);   
  
    // 为列表视图控件添加全行选中和栅格风格   
    m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);   
  
    // 为列表视图控件添加9列   
    m_list.InsertColumn(0, _T(" "), LVCFMT_CENTER, rect.Width()/9, 0);   
    m_list.InsertColumn(1, _T("1"), LVCFMT_CENTER, rect.Width()/9, 1);   
    m_list.InsertColumn(2, _T("2"), LVCFMT_CENTER, rect.Width()/9, 2);   
    m_list.InsertColumn(3, _T("3"), LVCFMT_CENTER, rect.Width()/9, 3);   
    m_list.InsertColumn(4, _T("4"), LVCFMT_CENTER, rect.Width()/9, 4);
    m_list.InsertColumn(5, _T("5"), LVCFMT_CENTER, rect.Width()/9, 5);   
    m_list.InsertColumn(6, _T("6"), LVCFMT_CENTER, rect.Width()/9, 6);  
    m_list.InsertColumn(7, _T("7"), LVCFMT_CENTER, rect.Width()/9, 7);   
    m_list.InsertColumn(8, _T("8"), LVCFMT_CENTER, rect.Width()/9, 8);  
    // 在列表视图控件中插入列表项,并设置列表子项文本   
    m_list.InsertItem(0, _T("1"));   
    m_list.SetItemText(0, 1, _T("1"));   
    m_list.SetItemText(0, 2, _T("1"));   
    m_list.InsertItem(1, _T("2"));   
    m_list.SetItemText(1, 1, _T("2"));   
    m_list.SetItemText(1, 2, _T("2"));   
    m_list.InsertItem(2, _T("3"));   
    m_list.SetItemText(2, 1, _T("3"));   
    m_list.SetItemText(2, 2, _T("6"));   
    m_list.InsertItem(3, _T("4"));   
    m_list.SetItemText(3, 1, _T("4"));   
    m_list.SetItemText(3, 2, _T("3"));   


	// TODO: 在此添加额外的初始化代码
	m_ComboBox.SetCurSel(0);//打开软件时串口选择框默认显示COM1  子选项编号的排序是从0开始的。
	((CComboBox*)GetDlgItem(IDC_COMBO_BaudRate))->SetCurSel(3);
	

	return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue3中实现数据列表滚动显示,可以结合`v-for`指令和响应数据来实现。具体实现步骤如下: 1. 在Vue实例中定义一个数组`list`,用于存储数据列表。 ```javascript const app = Vue.createApp({ data() { return { list: [ { id: 1, text: 'Item 1' }, { id: 2, text: 'Item 2' }, { id: 3, text: 'Item 3' }, { id: 4, text: 'Item 4' }, { id: 5, text: 'Item 5' } ] } } }) ``` 2. 在模板中使用`v-for`指令遍历`list`数组,并使用`ref`指令给数据列表元素命名,以便后面在JavaScript中操作。 ```html <template> <ul class="list" ref="list"> <li class="item" v-for="item in list" :key="item.id">{{ item.text }}</li> </ul> </template> ``` 3. 在Vue实例的`mounted`生命周期钩子中,获取数据列表元素和列表项元素的高度,并定义一个计数器变量`count`,初始值为0。使用`setInterval`函数每隔一段时间执行一次滚动操作。在滚动操作中,将数据列表向上移动一个列表项的高度,并将计数器变量`count`加1。如果`count`的值超过了列表项的个数,就将列表重置为初始状态。 ```javascript const app = Vue.createApp({ data() { return { list: [ { id: 1, text: 'Item 1' }, { id: 2, text: 'Item 2' }, { id: 3, text: 'Item 3' }, { id: 4, text: 'Item 4' }, { id: 5, text: 'Item 5' } ] } }, mounted() { const list = this.$refs.list; const itemHeight = list.querySelector('.item').offsetHeight; let count = 0; setInterval(() => { count++; list.style.transform = `translateY(-${count * itemHeight}px)`; if (count >= this.list.length) { count = 0; list.style.transform = 'none'; } }, 2000); // 每隔2秒钟滚动一次 } }) ``` 完整代码示例: ```html <template> <ul class="list" ref="list"> <li class="item" v-for="item in list" :key="item.id">{{ item.text }}</li> </ul> </template> <script> const app = Vue.createApp({ data() { return { list: [ { id: 1, text: 'Item 1' }, { id: 2, text: 'Item 2' }, { id: 3, text: 'Item 3' }, { id: 4, text: 'Item 4' }, { id: 5, text: 'Item 5' } ] } }, mounted() { const list = this.$refs.list; const itemHeight = list.querySelector('.item').offsetHeight; let count = 0; setInterval(() => { count++; list.style.transform = `translateY(-${count * itemHeight}px)`; if (count >= this.list.length) { count = 0; list.style.transform = 'none'; } }, 2000); // 每隔2秒钟滚动一次 } }) app.mount('#app'); </script> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值