This is how I got it to work:

use Win32::API 0.20;
my $SendMsg = new Win32::API("user32", "SendMessage", "NNNP", "N");


use constant LVIF_STATE  => 0x8;
use constant LVM_SETITEMSTATE  => 0x102B;
use constant LVIS_STATEIMAGEMASK  => 0xF000;

my $LV = $Window->AddListView(
            -name      => "ListView",
etc

To select:
my $lpPoint = pack("LLLLLALLLL", LVIF_STATE, 0, 0, 0x2000,
LVIS_STATEIMAGEMASK, " ", 127, 0, 0, 0);
my $rtn = $SendMsg->Call($LV->{'-handle'}, LVM_SETITEMSTATE, -1, $lpPoint);

where -1 ticks all checkboxes, otherwise change to the index of the one you
want to select.

To un-select:
my $lpPoint = pack("LLLLLALLLL", LVIF_STATE, 0, 0, 0x1000,
LVIS_STATEIMAGEMASK, " ", 127, 0, 0, 0);
my $rtn = $SendMsg->Call($LV->{'-handle'}, LVM_SETITEMSTATE, -1, $lpPoint);


Paul Cooke

-------------------------------------
Go Domino Pay per Click Search Engine
http://www.godomino.com?sig1
-------------------------------------


Reply via email to