双击Listview表格,如何取他的值ListviewI.Items[i].SubItems.strings[j]可以取到某行某列的值,我双击的时候怎么确认J的值???--
ListViewI.Selected.SubItems[0];
这里面的0可以是1,2,3等即您所选择(Choose)当前行的某列值,caption是第一列---
我想得到就是这一个列数的值是多少,我双击的时候并不知到底是双击那一个列,有没有什么属性可以得出这一个列J的值?---
偶只想到一个笨办法,就是用MouseUp的X来判断鼠标的X值,如果您的列表上的宽度是设定好的话,就可以用X来计算出是处在哪个列的范围里,也可以变像得出J的值.---
还有其他方法??---
呵,偶也看了他的属性和方法,实在没找出直接或者间接能得出值的 东东,只好用这种旁门左道---
引用 2 楼 mynlxx 的回复:
我想得到就是这一个列数的值是多少,我双击的时候并不知到底是双击那一个列,有没有什么属性可以得出这一个列J的值?
您都不知道双击哪个列,怎么取值呀!
换个控件吧---
这一个还跟 listview 的 viewstyle 有关, 昨天大致看了一下,没搞定.有 CommCtrl 单元个方法
function ListView_HitTest(hwndLV: HWND; var pinfo: TLVHitTestInfo): Integer;
begin
Result :=SendMessage(hwndLV, LVM_HITTEST, 0, Longint(@pinfo));
end;
tagLVHITTESTINFO =packed record
pt: TPoint;
flags: UINT;
iItem: Integer;
iSubItem: Integer; // this is was NOT in win9V. valid only for LVM_SUBITEMHITTEST
end;
TLVHitTestInfo =tagLVHITTESTINFO;
貌似可以,但是对 viewstyle 为 vsReport 的 listview 无效.
不过倒是可以自己计算
GetCursorPos(pt) 获取坐标
Microsoft Windows.ScreenToClient(listviewI.handle, pt);
然后根据点的坐标,listview 的行高和列宽自己计算,不过貌似挺复杂,我没试,不保证好用.
或者是换别的控件.
---
ListviewI.Items[i].SubItems.strings[j]可以取到某行某列的值,我双击的时候怎么确认J的值??? 我以前好好像是在值前加J.+值這樣直接或者间接從值裡pos出來---
ListViewI.Items[ListViewI.itemindex].SubItems.String[j]这样写就显您当前双击的列值了.
---
双击的时候,行数可以得到,就是得不到J的值,我的Listview 为vsReport 而不能是且列数是不固定的,是从好几个表里得到的数据(Data),还有什么其他控件可以替代?谢 ---
用stringGrid
下面是IT快活林为您提供与{$PageTitle}相关的文章http://www.itkhl.com
我比较热衷游戏(Game)行业,想成为游戏(Game)建模师
我想请教游戏(Game)建模师的具体课程有哪些?完成学习需要多长的时间?
---
如果您真想了解这方面的基本问题,在我们这里能找到答案.我们是专门培训游戏(Game)开发与设计的一个机构.您可以来了解.QQ694010826 田老师---
最理想的参考答案(天天办公(DayOffice)站长与网友共同得出来的,仅供参考) - 由投票者8天前选出具体课程一般包括专业软件(soft)/行业前景/制作流程与设计理念.学习时间一般为半年.成都幻维数码动画学校开设的游戏(Game)建模培训学时为5个月,这是网站自己了解吧
http://www.hw5d.com
---
看自己的造化