mfc 用listcontrol (Report)做了个表格,怎么选择表格中的一个格,并实现复制这个格中的内容。

mfc 用listcontrol (Report)做了个表格,怎么选择表格中的一个格,并实现复制这个格中的内容。,第1张

鼠标选中的是哪一个表格,知道,通过可以使用下面代码:

POSITION sSelPos = NULL;

while(sSelPos = m_listctrlGetFirstSelectedItemPosition())

{

int nSelItem = -1;

nSelItem = m_listctrlGetNextSelectedItem(sSelPos);

if(nSelItem 〉= 0 && nSelItem〈m_listctrlGetItemCount())

{

这个nSelItem 就是我们要的DD

}

}

获得选中项:

方法一:

POSITION pos = pList->GetFirstSelectedItemPosition();

if (pos == NULL)

TRACE0("No items were selected!/n");

else

{

while (pos)

{

int nItem = pList->GetNextSelectedItem(pos);

TRACE1("Item %d was selected!/n", nItem);

}

}

方法二:

int i=m_oldinsGetCurSel(); //得到在第一个ListCtrl列表中选择项的索引

CString str;

if(i==LB_ERR) //表示没有选择

{

return;

}

方法三:

int i=m_listGetSelectionMark();

删除CListCtrl中选定的项:

POSITION pos;

int nIndex;

for(; pos= GetFirstSelectedItemPosition();)

{

nIndex = GetNextSelectedItem(pos);

DeleteItem(nIndex);

}

用程序选中某一行,使之选中 

m_listctrlSetItemState(nIndex,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);

不选中,取消选中之

m_listctrlSetItemState(nIndex,0,LVIS_SELECTED|LVIS_FOCUSED);

设置背景颜色:

m_listSetBkColor( RGB( 100, 180, 250 ) );

设置字体颜色:

m_listSetTextBkColor( RGB( 100, 180, 250 ) );

不明白if (nFlags & MK_CONTROL)这句是什么意思?调试下nFlags和MK_CONTROL值是多少。。要判断是否按下Ctrl+C,可用类向导里添加PreTranslateMessage消息BOOL 类名::PreTranslateMessage(MSG pMsg)

{

//用PreTranslateMessage的方法,判断Ctrl+C是否按下,按下就执行快捷键对应的 *** 作

if(pMsg->message == WM_KEYDOWN && pMsg->wParam == 'C' && IsCTRLPressed())

{

//AfxMessageBox("Ctrl + C 被按下");

return TRUE;

}

return CDialog::PreTranslateMessage(pMsg);

}

使用EnumWindows函数可以实现遍历所有的顶层窗口程序,并得到程序的句柄、类名及标题信息。

开发核心过程:创建一个单文档的MFC工程,将其视图类的基类设置为CListView。

在视图类的PreCreateWindow函数中,设置列表为报表格式,如下:

BOOL CEnumWindowsProcView::PreCreateWindow(CREATESTRUCT& cs)

{

// TODO: Modify the Window class or styles here by modifying

// the CREATESTRUCT cs

csstyle |= LVS_REPORT | LVS_NOSORTHEADER;//设置列表视为报表格式

return CListView::PreCreateWindow(cs);

}

以上就是关于mfc 用listcontrol (Report)做了个表格,怎么选择表格中的一个格,并实现复制这个格中的内容。全部的内容,包括:mfc 用listcontrol (Report)做了个表格,怎么选择表格中的一个格,并实现复制这个格中的内容。、MFC 怎么判断是否按下了Ctrl+C、怎样获取mfc的窗口名,类名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9821841.html

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

发表评论

登录后才能评论

评论列表(0条)

保存