免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5808 | 回复: 7
打印 上一主题 下一主题

求助:请熟悉Win32::GUI的大侠帮忙看如何实现listview里项目的双击。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-09-06 18:00 |只看该作者 |倒序浏览
我用代码生成了一个listview,并添加了我想要的数据,但是我不知道怎么实现双击,并且获取到所双击的行的第一列的内容。

查了网络试过ItemClick,DblClick什么的事件好像都无效。

难道是我在Windows7 x64上的原因?

Perl 是5.10.1,Win32::GUI是1.06的。

请大侠帮忙看看,如果能提供简单的例子最好。

谢谢了。

论坛徽章:
0
2 [报告]
发表于 2013-09-07 13:06 |只看该作者
  1. #!/usr/bin/perl

  2. use strict;
  3. use warnings;
  4. use Win32::GUI qw( MB_ICONINFORMATION MB_OK );

  5. my $main = Win32::GUI::Window->new(
  6.         -title => " Listvew Test",
  7.         -size  => [700,400],
  8.         -maximizebox        => 0,
  9.         -dialogui        => 1,
  10.         -noflicker        => 1,
  11. );

  12. $main->AddListView(
  13.         -name      => "lv",
  14.         -left   => 10,
  15.         -top    => 10,
  16.         -width     => 660,
  17.         -height    => 330,
  18.         -fullrowselect => 1,
  19.         -gridlines => 1,
  20.         -hottrack   => 1,
  21.         -onDblClick => \&GetInfo,

  22. );
  23. my @col = qw/num id status/;
  24. $main->lv->InsertColumn(-text=>"Name",-width=>200,-align => "center",);
  25. $main->lv->InsertColumn(-text=>"Sex",-width=>200,-align => "center",);
  26. $main->lv->InsertColumn(-text=>"Age",-width=>200,-align => "center",);
  27. $main->lv->InsertItem(-item =>0,-text=>["Wang","M","22"]);
  28. $main->lv->InsertItem(-item =>1,-text=>["Liu","F","33"]);

  29. $main->lv->View(1);
  30. $main->Center();
  31. $main->Show();
  32. Win32::GUI::Dialog();
  33. $main->Hide();
  34. undef $main;
  35. exit(0);

  36. sub Window_Terminate {
  37.         return -1;
  38. }

  39. sub GetInfo {
  40.         my $self = shift;
  41.          my $info = $main->lv->GetItemText($main->lv->GetHotItem(),0);
  42.         $self->MessageBox($info,"Get Info",MB_ICONINFORMATION | MB_OK,);
  43.         return 0;
  44. }
复制代码
这个我弄过,代码供你参考,希望能帮到你!

论坛徽章:
0
3 [报告]
发表于 2013-09-08 21:06 |只看该作者
iamlimeng 发表于 2013-09-07 13:06
这个我弄过,代码供你参考,希望能帮到你!


非常感谢您的帮助,参考你的代码,已经实现了我所需要的功能。

请问您是否有些关于Win32 GUI的资料?官方的文档太简单,不知道哪里能找到一些更好的学习资料。谢谢!

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
4 [报告]
发表于 2013-09-08 21:33 |只看该作者
回复 3# tsunami_liao


    推荐这个http://winprog.org/tutorial/zh/start_cn.html只学这个模块怎么用没什么意思,了解下它封装了什么自然就可以灵活运用。

论坛徽章:
0
5 [报告]
发表于 2013-09-09 09:30 |只看该作者
zhlong8 发表于 2013-09-08 21:33
回复 3# tsunami_liao


非常感谢,由于我不是专业的程序员,所以可能对我来说看这些有点难度。
不过由于以前曾经有过使用vb6.0做过一些小项目(10年前的事情了),所以对win32 api也有一点点了解,对窗口和事件这些也有些了解。只是换成perl win32后有点不适应,有些事件和属性找不到对应的接口了。

当然我也正在考虑是否要用回vb,但是我的知识点是很多年前的vb6.0,用它是不实际了,现在应该用vb.net了吧,不过vb.net对于vb来说改变好像还真不少。而且我之前的数据都是在unix平台的perl采集和分析的,换到windows上处理比较麻烦,少了perl的正则和hash不知道如何才能更高效?

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
6 [报告]
发表于 2013-09-09 10:53 |只看该作者
回复 5# tsunami_liao


    这个模块是有带有很多文档的只不过要自己编译才会生成 html 的,cpan.org 上找不到的

论坛徽章:
0
7 [报告]
发表于 2013-09-09 11:47 |只看该作者
Win32 GUI的资料真的很少,网上也找不到,随模块的文档也不是特别详细,模块附了一些DEMO可以参考,主要靠自己摸索和查MS的相关文档。

论坛徽章:
0
8 [报告]
发表于 2013-09-09 14:03 |只看该作者
谢谢楼上两位的热心答复了。

看来我只有自己慢慢摸索一下了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP