Clistctrl 控件问题

godzhwei 2008-10-22 04:30:23
MSDN中Clistctrl 控件的int InsertItem( UINT nMask, int

nItem, LPCTSTR lpszItem, UINT nState, UINT nStateMask,

int nImage, LPARAM lParam );这个函数的nMask、nState、

nStateMask这几个参数用中文应该怎么叫?该怎么理解的,它

们之间什么关系的?能否举个例子么?

现在我想一显示这个控件时让它自动选中第一行,就是第一行

处于选中状态,显示蓝色的,这样应该怎样做?
还有nItem=m_ListStock.InsertItem(0xffff,(_bstr_t)

vStockName);这里的第一个参数为什么是0xffff,这句是什么

意思?
网上查查没有什么详细的关于这些控件的资料,谁有好的资料

可以发一份给我么,有好的书的话更好。。。
zhwei7369029@163.com
...全文
165 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
godzhwei 2008-10-28
  • 打赏
  • 举报
回复
好结贴了,多谢各位了。。。
一条晚起的虫 2008-10-27
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 godzhwei 的回复:]
楼上的空间我看过了,挺有收获,谢了,还有最后一个问题就是单击按钮时焦点自动到这个按钮上,如何实现单击按钮时焦点保持在原来的位置?
[/Quote]
SetFocus()
shakaqrj 2008-10-27
  • 打赏
  • 举报
回复

在属性里选中show selection always
但焦点仍在按钮,listctrl当前行的颜色变灰
pornographer 2008-10-27
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 godzhwei 的回复:]
楼上的空间我看过了,挺有收获,谢了,还有最后一个问题就是单击按钮时焦点自动到这个按钮上,如何实现单击按钮时焦点保持在原来的位置?
[/Quote]

控件属性里 选中show selection always
handsomerun 2008-10-24
  • 打赏
  • 举报
回复
http://blog.csdn.net/handsomerun/archive/2006/04/13/662462.aspx

去看一下
具体你可以查msdn

mask可以有各种属性

是设置这些item的属性

插入记录时使用额外的信息,lParam 的使用

   有时候,你想对于某一行,加入一些额外的信息,那么就可以使用这个

lParam

  msdn是这么描述的Specifies the 32-bit value of the item

godzhwei 2008-10-24
  • 打赏
  • 举报
回复
楼上的空间我看过了,挺有收获,谢了,还有最后一个问题就是单击按钮时焦点自动到这个按钮上,如何实现单击按钮时焦点保持在原来的位置?
lwx300 2008-10-23
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 godzhwei 的回复:]
我就是加了楼上这一句啊,但是没有像鼠标单击下去显示蓝色那种状态啊?索引是设在第一行上了。。。还有LVIS_SELECTED这选中状态是指什么样的状态??
[/Quote]

//让控件获取焦点,才能看到效果。
m_ListStock.SetFocus();

BOOL CMyDialog::OnInitDialog()
{
....
m_ListStock.SetItemState(0, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
m_ListStock.SetFocus();
reutrn FALSE; <-返回FALSE。
}
jyh_baoding 2008-10-23
  • 打赏
  • 举报
回复
学习
ok1234567 2008-10-23
  • 打赏
  • 举报
回复
除了上面的说法外,在初始化的某个地方再加上如下代码,就会选中全行:

m_ListStock.SetExtendedStyle(m_ListStock.GetExtendedStyle()|LVS_EX_FULLROWSELECT);
godzhwei 2008-10-23
  • 打赏
  • 举报
回复
我就是加了楼上这一句啊,但是没有像鼠标单击下去显示蓝色那种状态啊?索引是设在第一行上了。。。还有LVIS_SELECTED这选中状态是指什么样的状态??
godzhwei 2008-10-23
  • 打赏
  • 举报
回复
感谢楼上,正解。不过还有个问题想问一下,单击按钮时焦点自动到这个按钮上,如何实现单击按钮时焦点保持在原来的位置?
lwx300 2008-10-22
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 godzhwei 的回复:]
是不是还有地方要设置的?
[/Quote]

m_ListStock.SetItemState(0, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
godzhwei 2008-10-22
  • 打赏
  • 举报
回复
是不是还有地方要设置的?
godzhwei 2008-10-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 liymzd 的回复:]
选中第一行

C/C++ code
myListCtrl::SetItemState(0, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
[/Quote]

我刚刚这样子加上去为什么不行的?
godzhwei 2008-10-22
  • 打赏
  • 举报
回复
多谢3楼,但希望有更详细的答案。。。
liymzd 2008-10-22
  • 打赏
  • 举报
回复
选中第一行

myListCtrl::SetItemState(0, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);

godzhwei 2008-10-22
  • 打赏
  • 举报
回复
MSDN我都看了一个下午了。。。
cnzdgs 2008-10-22
  • 打赏
  • 举报
回复
mask可以翻译为掩码,用二进制中的一些位来表示一些含义。
nMask表示哪些参数有效,可选的值中每一个表示一位,可以多个值用“或”(|)来组合,每一个值对应一个参数。nStateMask与此类似。
0xffff是很大的数,一般List不会有这么多Item,所以可以用它来表示把新Item加到List的最后。
做Windows编程,MSDN是最好的资料。
见习学术士 2008-10-22
  • 打赏
  • 举报
回复
MSDN介绍的很详细。。
vcPlayer 2008-10-22
  • 打赏
  • 举报
回复
没有MSDN吗?

CListCtrl::InsertItem
int InsertItem( const LVITEM* pItem );

int InsertItem( int nItem, LPCTSTR lpszItem );

int InsertItem( int nItem, LPCTSTR lpszItem, int nImage );

int InsertItem( UINT nMask, int nItem, LPCTSTR lpszItem, UINT nState, UINT nStateMask, int nImage, LPARAM lParam );

Return Value

The index of the new item if successful or -1 otherwise.

Parameters

pItem

Pointer to anLVITEM structure that specifies the item¡¯s attributes, as described in the Platform SDK.

nItem

Index of the item to be inserted.

lpszItem

Address of a string containing the item¡¯s label, or LPSTR_TEXTCALLBACK if the item is a callback item. For information on callback items, see CListCtrl::GetCallbackMask.

nImage

Index of the item¡¯s image, or I_IMAGECALLBACK if the item is a callback item. For information on callback items, see CListCtrl::GetCallbackMask.

nMask

The nMask parameter specifies which item attributes passed as parameters are valid. It can be one or more of the mask values described inLVITEM structure in the Platform SDK. The valid values can be combined with the bitwise OR operator.

nState

Indicates the item's state, state image, and overlay image. See the Platform SDK topics LVITEM for more information andList View Item States for a list of valid flags.

nStateMask

Indicates which bits of the state member will be retrieved or modified. See LVITEM in the Platform SDK for more information.

nImage

Index of the item¡¯s image within the image list.

lParam

A 32-bit application-specific value associated with the item. If this parameter is specified, you must set the nMask attribute LVIF_PARAM.

Remarks

Inserts an item into the list view control.

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧