本程序是一個機遇對話框的工程,在OnInitDialog()使用了初始化,包括表頭的一些安排和style的設置
使用listcontrol控件遇到的問題:
1、程序運行以後,沒有出現表頭;
2、在對話框初始化結束以後,如果向控件中添加數據,就會出現表頭;
3、如果手工調節表頭裏的分隔綫,下面的數據欄分隔綫不會自動更新;如果把這些功能抽出來單獨在一個工程中使用,就不會有任何問題,但是我實在不知道listcontrol控件和那些東西有了衝突啊!謝謝前輩耐心分析一下!
使用listcontrol控件遇到的問題:
1、程序運行以後,沒有出現表頭;
2、在對話框初始化結束以後,如果向控件中添加數據,就會出現表頭;
3、如果手工調節表頭裏的分隔綫,下面的數據欄分隔綫不會自動更新;如果把這些功能抽出來單獨在一個工程中使用,就不會有任何問題,但是我實在不知道listcontrol控件和那些東西有了衝突啊!謝謝前輩耐心分析一下!
解决方案 »
- vc绘制透明标题
- 我是用画点来画线的 比如CPEN可以设置粗细还有虚线 我怎么通过画点算啊
- 求CHtmlView + ie7 的自动选择打印机方案
- 在PreTranslateMessage中调用DestroyWindow()的问题
- 怎么实现CFont类的串行化?必须自己写一个派生类吗?
- 请教大家一个 数学问题
- CComboBox中如何抓回车响应?
- 图片坐标选点
- CformView的OnInitialUpdate被调用两次??????
- 请问侯捷的《深入浅出MFC》第二版面向怎样的读者?.......
- 室友用的XP2500+的CPU,风扇太吵,向问一下换哪块风扇比较好
- 小弟写个测试类,有VC7“添加类”里选“一般c++类”自动生成的,怎么包含在程序里就有语法错误,不解.
{
CDialog::OnInitDialog();
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
//建立图像列表
LargeImage.Create(32,32, ILC_COLOR8 |ILC_MASK , 8, 1);
SmallImage.Create(16, 16, ILC_COLOR8 | ILC_MASK, 8, 1);
//为图像列表装入位图
CBitmap cBmp;
cBmp.LoadBitmap(IDB_IMAGES_NORMAL);
LargeImage.Add(&cBmp, RGB(255,0, 255));
cBmp.DeleteObject();
cBmp.LoadBitmap(IDB_IMAGES_SMALL);
SmallImage.Add(&cBmp, RGB(255,0, 255));
cBmp.DeleteObject();
//为列表控件关联图像列表
m_list.SetImageList(&LargeImage, LVSIL_NORMAL);
m_list.SetImageList(&SmallImage, LVSIL_SMALL);
//添加三个列
LVCOLUMN lvcol;
lvcol.mask=LVCF_FMT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH;
lvcol.fmt=LVCFMT_CENTER;//居中
lvcol.pszText="第一列";
lvcol.iSubItem=1;
lvcol.cx=70;
m_list.InsertColumn(0,&lvcol);
lvcol.pszText="第二列";
m_list.InsertColumn(1,&lvcol);
lvcol.pszText="第三列";
m_list.InsertColumn(2,&lvcol);
LVITEM lvi;
CString strItem;
for (int i = 0; i < 8; i++)
{
//设置第一列
lvi.mask = LVIF_IMAGE | LVIF_TEXT;
strItem.Format(_T("图标%i"), i);
lvi.iItem = i;
lvi.iSubItem = 0;
lvi.pszText = (LPTSTR)(LPCTSTR)(strItem);
lvi.iImage = i;
m_list.InsertItem(&lvi);
//设置第二列(子列):
strItem.Format(_T("第%d行"), i);
lvi.iSubItem =1;
lvi.pszText = (LPTSTR)(LPCTSTR)(strItem);
m_list.SetItem(&lvi);
//设置第三列(子列)
strItem.Format(_T("第%d行"), i);
lvi.iSubItem =2;
lvi.pszText = (LPTSTR)(LPCTSTR)(strItem);
m_list.SetItem(&lvi);
}
return TRUE;
}沒有選擇report风格
我覺得代碼應該沒有任何問題,我把上面的代碼完全不變的copy到我的程序中的!