| 网站首页 | 业界新闻 | 群组 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
雷速体育发帖软件开发QQ118000023C语言培训|一对一辅导|零基础学编程LightningChart 快速先进的.Net图表控件
共有 417 人关注过本帖
标题:请教关于win32asm 中 listview控件中checkbox的使用
只看楼主 收藏
vbroot
Rank: 2
等 级:论坛游民
帖 子:6
专家分:20
注 册:2011-6-8
结帖率:50%
  已结贴   问题点数:20  回复次数:2   
请教关于win32asm 中 listview控件中checkbox的使用
invoke SendDlgItemMessage,hWin,IDC_LSV1,LVM_SETEXTENDEDLISTVIEWSTYLE,0,LVS_EX_CHECKBOXES ;启用了checkbox风格

在listview 中启用了checkbox.
如何判断checkbox被选中了。
不知道代码怎么写了,网上找了很久没找到,请大师帮忙啊!

2018-01-12 16:15
Valenciax
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:10
帖 子:194
专家分:1277
注 册:2016-5-15
  得分:20 
假设你定义了一个checkbox 叫 btnCheck,id 是103   
btnCheck equ 103
然后在代码中建立了一个checkbox (用CreateWindowEx)
那样,在消息回路中,若Checkbox被按了,就会传回该id

if wParam == btnCheck  ;103
 ;读取状态,即check 或 uncheck
 invoke SendDlgItemMessage,hWnd,btnCheck,BM_GETCHECK,0,0
 push eax ;存
 xor eax, 1  ;反相,下面是切换选定或不选定的显示
 invoke SendDlgItemMessage,hWnd,btnCheck,BM_SETCHECK,eax,0
 pop eax ;取回
  .if EAX=1 ; CHECK
    ; checkbox被选的代码
  .else
    ;checkbox 不选的代码
  .endif
 
..
..
..   
2018-01-13 15:39
vbroot
Rank: 2
等 级:论坛游民
帖 子:6
专家分:20
注 册:2011-6-8
  得分:0 
谢谢!
已经在www.aogosoft.com找到答案了

部分代码如下:
LVALLSelectACheckBox proc
   
    LOCAL @lvi:LV_ITEM
    mov  @lvi.imask,LVIF_STATE
    mov  @lvi.stateMask,LVIS_STATEIMAGEMASK
    mov  @lvi.state,2000h             ;2000h选中  1000h未选中
    invoke SendDlgItemMessage,hWnd,IDC_LSV1,LVM_SETITEMSTATE,-1,addr @lvi
   
    ret
LVALLSelectACheckBox endp
2018-01-13 21:02







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041754 second(s), 9 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved