想用CListCtrl来显示内存中的数据,大虾请指教
显示区首址在page_entry存放,是一个数据库中的表,记录依次存放
machine(int number;
bool status;
........
)
3x
问题点数:0、回复次数:5Top
1 楼ColderRain(一切尽在不言中)回复于 2003-04-02 19:29:41 得分 0
LVN_GETDISPINFO
LVN_ODCACHEHINT
截获上面的两个通知消息,添加LVS_OWNERDATA样式.
http://www.csdn.net/Develop/read_article.asp?id=9581Top
2 楼yjk(waterlily)回复于 2003-04-03 21:08:10 得分 0
还是不懂啊Top
3 楼CCBeyond(西别_&_钱不够用)回复于 2003-04-04 11:43:15 得分 0
STARTUPINFO stStartUpInfo;
PROCESS_INFORMATION stProcessInfo;
memset(&stStartUpInfo,0,sizeof(STARTUPINFO));
stStartUpInfo.cb = sizeof(STARTUPINFO);
// szCommandLine放应用程序的路径
BOOL bOK = CreateProcess(NULL,(LPTSTR)szCommandLine,NULL,NULL,TRUE, NORMAL_PRIORITY_CLASS,NULL,NULL,&stStartUpInfo,&stProcessInfo);
if ( FALSE == bOK ) {
return -1;
}
// 等待程序执行完成
WaitForSingleObject(stProcessInfo.hProcess,INFINITE);
CloseHandle(stProcessInfo.hProcess);
Top
4 楼CCBeyond(西别_&_钱不够用)回复于 2003-04-04 11:45:33 得分 0
贴错了! 下面是从数据库中加载数据到ListCtrl的代码
void CPSManagerDlg::GetUserList( INT nGroupIndex )
{
CString strSQLCmd, strUserName, strGroupID;
INT nIndex, nSize;
_RecordsetPtr pRecordsetPtr;
FieldPtr pfldItem;
_variant_t vItemVal;
LV_ITEM lvItem;
// 删除所有行
m_ctrUserList.DeleteAllItems();
// ------------
// 获取相关数据
// ------------
switch( nGroupIndex )
{
case SUPER_USER:
strSQLCmd.Format( _T("SELECT * FROM UserManager Where GroupId='%s'"), (LPTSTR) gzGroupID[SUPER_USER] );
break;
case COMMON_USER:
strSQLCmd.Format( _T("SELECT * FROM UserManager Where GroupId='%s'"), (LPTSTR) gzGroupID[COMMON_USER] );
break;
}
TRY
{
OPEN_RECORDSET( strSQLCmd ); // 执行相应的SQL语句并保留记录集;
nSize = GET_RECORD_COUNT(); // 得到查询到的记录个数
if( nSize == 0 )
return;
// 得到记录集指针
pRecordsetPtr = (_RecordsetPtr *)GET_RECORDSET_PTR();
if( pRecordsetPtr == NULL )
AfxThrowUserException();
lvItem.mask = LVIF_TEXT;
pRecordsetPtr->MoveFirst();
for( nIndex = 0; nIndex < nSize; nIndex++ )
{
// 插入第一项
lvItem.iItem = nIndex;
lvItem.iSubItem = 0;
lvItem.pszText = _T("");
m_ctrUserList.InsertItem( &lvItem );
// 得到用户名称
pfldItem = pRecordsetPtr->Fields->GetItem( _T("UserName") );
vItemVal = pfldItem->Value;
vItemVal.ChangeType(VT_BSTR);
strUserName = vItemVal.bstrVal;
strUserName.TrimLeft();
strUserName.TrimRight();
// 插入第二项
lvItem.iItem = nIndex;
lvItem.iSubItem = 1;
lvItem.pszText = (LPTSTR)(LPCTSTR)strUserName;
m_ctrUserList.SetItem( &lvItem );
// 插入第三项
lvItem.iItem = nIndex;
lvItem.iSubItem = 2;
lvItem.pszText = _T("********");
m_ctrUserList.SetItem( &lvItem );
// 得到组别
pfldItem = pRecordsetPtr->Fields->GetItem( _T("GroupId") );
vItemVal = pfldItem->Value;
vItemVal.ChangeType(VT_BSTR);
strGroupID = vItemVal.bstrVal;
strGroupID.TrimLeft();
strGroupID.TrimRight();
// 插入第二项
lvItem.iItem = nIndex;
lvItem.iSubItem = 3;
lvItem.pszText = (LPTSTR)(LPCTSTR)strGroupID;
m_ctrUserList.SetItem( &lvItem );
// 下移记录集指针
pRecordsetPtr->MoveNext();
}
}
CATCH_ALL( pe )
{
pe->Delete();
AfxMessageBox( _T("数据库操作出现异常") );
CDialog::OnCancel(); // 系统退出
}
END_CATCH_ALL
// 更新显示
m_ctrUserList.UpdateWindow();
}Top
5 楼maoxianwang(傻蛋)回复于 2003-04-05 19:10:48 得分 0
对Top




