From: Jez W. <je...@je...> - 2004-12-02 16:40:13
|
Hi Glenn, Yeah - I tried that - but no joy - if Select is used in the list box it = doesn't work either. Well, it doesn't work when the -multisel option is = used, and only 1 row is selected when it's turned off. Cheers, jez. ----- Original Message -----=20 From: Glenn W Munroe=20 To: 'Jez White' ; 'Win32-GUI'=20 Sent: Thursday, December 02, 2004 4:33 PM Subject: RE: [perl-win32-gui-users] Pre selecting items in list Views = and List Boxes Jez, I hope this isn't a stupid question, but have you tried Select(INDEX) = and Deselect(INDEX)? I don't think they are exact equivalents of SetSel, = but they do what I *think* you want to do. Glenn -------------------------------------------------------------------------= ----- From: per...@li... = [mailto:per...@li...] On Behalf Of = Jez White Sent: Thursday, 02 December, 2004 13:07 To: Win32-GUI Subject: [perl-win32-gui-users] Pre selecting items in list Views and = List Boxes Hi, I'm trying to pre select several items that appear in a list view. = These items have been selected by the user previously, so when the list = is reshown later I want those items to be pre-selected. The example = below works with a list box - but for the life of me, I can't seem to = get it working with a list view? Am I missing something? Cheers, jez. ------ |
From: Glenn W M. <gw...@se...> - 2004-12-02 17:01:39
|
Jez, Hummm. I was pretty sure you would have tried that. There must be something else wrong. Does this modification to your example not work for you? =================================================================== use Win32::GUI; my $mainWindow = new Win32::GUI::Window ( -name => "mainWindow", -title => "Testing", -pos => [0, 0], -size => [300, 300], ); my $lb=$mainWindow->AddListView ( -name => "ListView", -pos => [20, 60], -size => [100, 120], ); $mainWindow->ListView->InsertColumn( -index => 0, -text => "Item", ); $mainWindow->ListView->ColumnWidth(0,90); $mainWindow->ListView->InsertItem(-text => 'One'); $mainWindow->ListView->InsertItem(-text => 'Two'); $mainWindow->ListView->InsertItem(-text => 'Three'); $mainWindow->ListView->InsertItem(-text => 'Four'); $mainWindow->ListView->Hide; my $show=$mainWindow->AddButton ( -name => "Button", -pos => [20, 20], -size => [40, 40], -text => 'Show', -onClick => \&Show, ); my $hide=$mainWindow->AddButton ( -name => "Button2", -pos => [60, 20], -size => [40, 40], -text => 'Hide', -onClick => sub {$mainWindow->ListView->Hide;}, ); $mainWindow->Show; Win32::GUI::Dialog(); sub Show { #select the first and last items $mainWindow->ListView->Show; $mainWindow->ListView->Select(0); $mainWindow->ListView->Deselect(1); $mainWindow->ListView->Deselect(2); $mainWindow->ListView->Select(3); return 1; } _____ From: Jez White [mailto:je...@je...] Sent: Thursday, 02 December, 2004 13:39 To: Glenn W Munroe; 'Win32-GUI' Subject: Re: [perl-win32-gui-users] Pre selecting items in list Views and List Boxes Hi Glenn, Yeah - I tried that - but no joy - if Select is used in the list box it doesn't work either. Well, it doesn't work when the -multisel option is used, and only 1 row is selected when it's turned off. Cheers, jez. ----- Original Message ----- From: Glenn W Munroe <mailto:gw...@se...> To: 'Jez White' <mailto:je...@je...> ; 'Win32-GUI' <mailto:per...@li...> Sent: Thursday, December 02, 2004 4:33 PM Subject: RE: [perl-win32-gui-users] Pre selecting items in list Views and List Boxes Jez, I hope this isn't a stupid question, but have you tried Select(INDEX) and Deselect(INDEX)? I don't think they are exact equivalents of SetSel, but they do what I *think* you want to do. Glenn _____ From: per...@li... [mailto:per...@li...] On Behalf Of Jez White Sent: Thursday, 02 December, 2004 13:07 To: Win32-GUI Subject: [perl-win32-gui-users] Pre selecting items in list Views and List Boxes Hi, I'm trying to pre select several items that appear in a list view. These items have been selected by the user previously, so when the list is reshown later I want those items to be pre-selected. The example below works with a list box - but for the life of me, I can't seem to get it working with a list view? Am I missing something? Cheers, jez. ------ |
From: Jez W. <je...@je...> - 2004-12-02 18:59:27
|
Interesting - it does work - although the selected items are grey not = blue (but if a third item is selected by clicking and holding shift, = they all turn blue) - this is using XP styles - do you get the same? Now, as for why it doesn't work in my main app... Thanks, jez.=20 ----- Original Message -----=20 From: Glenn W Munroe=20 To: 'Jez White' ; 'Win32-GUI'=20 Sent: Thursday, December 02, 2004 5:01 PM Subject: RE: [perl-win32-gui-users] Pre selecting items in list Views = and List Boxes Jez, Hummm. I was pretty sure you would have tried that. There must be = something else wrong. Does this modification to your example not work = for you? = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D use Win32::GUI; =20 my $mainWindow =3D new Win32::GUI::Window ( -name =3D> "mainWindow", -title =3D> "Testing", -pos =3D> [0, 0], -size =3D> [300, 300], ); =20 my $lb=3D$mainWindow->AddListView ( -name =3D> "ListView", -pos =3D> [20, 60], -size =3D> [100, 120], ); $mainWindow->ListView->InsertColumn( -index =3D> 0, -text =3D> "Item", ); $mainWindow->ListView->ColumnWidth(0,90); $mainWindow->ListView->InsertItem(-text =3D> 'One'); =20 $mainWindow->ListView->InsertItem(-text =3D> 'Two'); =20 $mainWindow->ListView->InsertItem(-text =3D> 'Three'); =20 $mainWindow->ListView->InsertItem(-text =3D> 'Four'); =20 $mainWindow->ListView->Hide; =20 my $show=3D$mainWindow->AddButton ( -name =3D> "Button", -pos =3D> [20, 20], -size =3D> [40, 40], -text =3D> 'Show', -onClick =3D> \&Show, ); =20 my $hide=3D$mainWindow->AddButton ( -name =3D> "Button2", -pos =3D> [60, 20], -size =3D> [40, 40], -text =3D> 'Hide', -onClick =3D> sub {$mainWindow->ListView->Hide;}, ); =20 $mainWindow->Show; =20 Win32::GUI::Dialog(); =20 sub Show { #select the first and last items $mainWindow->ListView->Show; $mainWindow->ListView->Select(0); $mainWindow->ListView->Deselect(1); $mainWindow->ListView->Deselect(2); $mainWindow->ListView->Select(3); return 1; } -------------------------------------------------------------------------= ----- From: Jez White [mailto:je...@je...]=20 Sent: Thursday, 02 December, 2004 13:39 To: Glenn W Munroe; 'Win32-GUI' Subject: Re: [perl-win32-gui-users] Pre selecting items in list Views = and List Boxes Hi Glenn, Yeah - I tried that - but no joy - if Select is used in the list box = it doesn't work either. Well, it doesn't work when the -multisel option = is used, and only 1 row is selected when it's turned off. Cheers, jez. ----- Original Message -----=20 From: Glenn W Munroe=20 To: 'Jez White' ; 'Win32-GUI'=20 Sent: Thursday, December 02, 2004 4:33 PM Subject: RE: [perl-win32-gui-users] Pre selecting items in list = Views and List Boxes Jez, I hope this isn't a stupid question, but have you tried = Select(INDEX) and Deselect(INDEX)? I don't think they are exact = equivalents of SetSel, but they do what I *think* you want to do. Glenn -------------------------------------------------------------------------= --- From: per...@li... = [mailto:per...@li...] On Behalf Of = Jez White Sent: Thursday, 02 December, 2004 13:07 To: Win32-GUI Subject: [perl-win32-gui-users] Pre selecting items in list Views = and List Boxes Hi, I'm trying to pre select several items that appear in a list view. = These items have been selected by the user previously, so when the list = is reshown later I want those items to be pre-selected. The example = below works with a list box - but for the life of me, I can't seem to = get it working with a list view? Am I missing something? Cheers, jez. ------ |
From: Glenn W M. <gw...@se...> - 2004-12-02 19:07:50
|
Yes, but that's just focus. Adding $mainWindow->ListView->SetFocus; after $mainWindow->ListView->Show; fixes that. I'm not quite sure why the Listbox example doesn't need it. Glenn _____ From: Jez White [mailto:je...@je...] Sent: Thursday, 02 December, 2004 16:00 To: Glenn W Munroe; 'Win32-GUI' Subject: Re: [perl-win32-gui-users] Pre selecting items in list Views and List Boxes Interesting - it does work - although the selected items are grey not blue (but if a third item is selected by clicking and holding shift, they all turn blue) - this is using XP styles - do you get the same? Now, as for why it doesn't work in my main app... Thanks, jez. ----- Original Message ----- From: Glenn W Munroe <mailto:gw...@se...> To: 'Jez White' <mailto:je...@je...> ; 'Win32-GUI' <mailto:per...@li...> Sent: Thursday, December 02, 2004 5:01 PM Subject: RE: [perl-win32-gui-users] Pre selecting items in list Views and List Boxes Jez, Hummm. I was pretty sure you would have tried that. There must be something else wrong. Does this modification to your example not work for you? =================================================================== use Win32::GUI; my $mainWindow = new Win32::GUI::Window ( -name => "mainWindow", -title => "Testing", -pos => [0, 0], -size => [300, 300], ); my $lb=$mainWindow->AddListView ( -name => "ListView", -pos => [20, 60], -size => [100, 120], ); $mainWindow->ListView->InsertColumn( -index => 0, -text => "Item", ); $mainWindow->ListView->ColumnWidth(0,90); $mainWindow->ListView->InsertItem(-text => 'One'); $mainWindow->ListView->InsertItem(-text => 'Two'); $mainWindow->ListView->InsertItem(-text => 'Three'); $mainWindow->ListView->InsertItem(-text => 'Four'); $mainWindow->ListView->Hide; my $show=$mainWindow->AddButton ( -name => "Button", -pos => [20, 20], -size => [40, 40], -text => 'Show', -onClick => \&Show, ); my $hide=$mainWindow->AddButton ( -name => "Button2", -pos => [60, 20], -size => [40, 40], -text => 'Hide', -onClick => sub {$mainWindow->ListView->Hide;}, ); $mainWindow->Show; Win32::GUI::Dialog(); sub Show { #select the first and last items $mainWindow->ListView->Show; $mainWindow->ListView->Select(0); $mainWindow->ListView->Deselect(1); $mainWindow->ListView->Deselect(2); $mainWindow->ListView->Select(3); return 1; } _____ From: Jez White [mailto:je...@je...] Sent: Thursday, 02 December, 2004 13:39 To: Glenn W Munroe; 'Win32-GUI' Subject: Re: [perl-win32-gui-users] Pre selecting items in list Views and List Boxes Hi Glenn, Yeah - I tried that - but no joy - if Select is used in the list box it doesn't work either. Well, it doesn't work when the -multisel option is used, and only 1 row is selected when it's turned off. Cheers, jez. ----- Original Message ----- From: Glenn W <mailto:gw...@se...> Munroe To: 'Jez White' <mailto:je...@je...> ; 'Win32-GUI' <mailto:per...@li...> Sent: Thursday, December 02, 2004 4:33 PM Subject: RE: [perl-win32-gui-users] Pre selecting items in list Views and List Boxes Jez, I hope this isn't a stupid question, but have you tried Select(INDEX) and Deselect(INDEX)? I don't think they are exact equivalents of SetSel, but they do what I *think* you want to do. Glenn _____ From: per...@li... [mailto:per...@li...] On Behalf Of Jez White Sent: Thursday, 02 December, 2004 13:07 To: Win32-GUI Subject: [perl-win32-gui-users] Pre selecting items in list Views and List Boxes Hi, I'm trying to pre select several items that appear in a list view. These items have been selected by the user previously, so when the list is reshown later I want those items to be pre-selected. The example below works with a list box - but for the life of me, I can't seem to get it working with a list view? Am I missing something? Cheers, jez. ------ |
From: Jez W. <je...@je...> - 2004-12-03 09:19:21
|
Thanks for this Glenn. You are correct, it was the focus. I still can't get it working within my app - the code that uses Select = is being called from a tab strip event (which shows the listview) - so = perhaps it has something to do with that. I'll do more digging. jez. ----- Original Message -----=20 From: Glenn W Munroe=20 To: 'Jez White' ; 'Win32-GUI'=20 Sent: Thursday, December 02, 2004 7:07 PM Subject: RE: [perl-win32-gui-users] Pre selecting items in list Views = and List Boxes Yes, but that's just focus. Adding $mainWindow->ListView->SetFocus; after $mainWindow->ListView->Show; fixes that. I'm not quite sure why the Listbox example doesn't need = it. Glenn -------------------------------------------------------------------------= ----- From: Jez White [mailto:je...@je...]=20 Sent: Thursday, 02 December, 2004 16:00 To: Glenn W Munroe; 'Win32-GUI' Subject: Re: [perl-win32-gui-users] Pre selecting items in list Views = and List Boxes Interesting - it does work - although the selected items are grey not = blue (but if a third item is selected by clicking and holding shift, = they all turn blue) - this is using XP styles - do you get the same? Now, as for why it doesn't work in my main app... Thanks, jez.=20 ----- Original Message -----=20 From: Glenn W Munroe=20 To: 'Jez White' ; 'Win32-GUI'=20 Sent: Thursday, December 02, 2004 5:01 PM Subject: RE: [perl-win32-gui-users] Pre selecting items in list = Views and List Boxes Jez, Hummm. I was pretty sure you would have tried that. There must be = something else wrong. Does this modification to your example not work = for you? = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D use Win32::GUI; =20 my $mainWindow =3D new Win32::GUI::Window ( -name =3D> "mainWindow", -title =3D> "Testing", -pos =3D> [0, 0], -size =3D> [300, 300], ); =20 my $lb=3D$mainWindow->AddListView ( -name =3D> "ListView", -pos =3D> [20, 60], -size =3D> [100, 120], ); $mainWindow->ListView->InsertColumn( -index =3D> 0, -text =3D> "Item", ); $mainWindow->ListView->ColumnWidth(0,90); $mainWindow->ListView->InsertItem(-text =3D> 'One'); =20 $mainWindow->ListView->InsertItem(-text =3D> 'Two'); =20 $mainWindow->ListView->InsertItem(-text =3D> 'Three'); =20 $mainWindow->ListView->InsertItem(-text =3D> 'Four'); =20 $mainWindow->ListView->Hide; =20 my $show=3D$mainWindow->AddButton ( -name =3D> "Button", -pos =3D> [20, 20], -size =3D> [40, 40], -text =3D> 'Show', -onClick =3D> \&Show, ); =20 my $hide=3D$mainWindow->AddButton ( -name =3D> "Button2", -pos =3D> [60, 20], -size =3D> [40, 40], -text =3D> 'Hide', -onClick =3D> sub {$mainWindow->ListView->Hide;}, ); =20 $mainWindow->Show; =20 Win32::GUI::Dialog(); =20 sub Show { #select the first and last items $mainWindow->ListView->Show; $mainWindow->ListView->Select(0); $mainWindow->ListView->Deselect(1); $mainWindow->ListView->Deselect(2); $mainWindow->ListView->Select(3); return 1; } -------------------------------------------------------------------------= --- From: Jez White [mailto:je...@je...]=20 Sent: Thursday, 02 December, 2004 13:39 To: Glenn W Munroe; 'Win32-GUI' Subject: Re: [perl-win32-gui-users] Pre selecting items in list = Views and List Boxes Hi Glenn, Yeah - I tried that - but no joy - if Select is used in the list box = it doesn't work either. Well, it doesn't work when the -multisel option = is used, and only 1 row is selected when it's turned off. Cheers, jez. ----- Original Message -----=20 From: Glenn W Munroe=20 To: 'Jez White' ; 'Win32-GUI'=20 Sent: Thursday, December 02, 2004 4:33 PM Subject: RE: [perl-win32-gui-users] Pre selecting items in list = Views and List Boxes Jez, I hope this isn't a stupid question, but have you tried = Select(INDEX) and Deselect(INDEX)? I don't think they are exact = equivalents of SetSel, but they do what I *think* you want to do. Glenn -------------------------------------------------------------------------= - From: per...@li... = [mailto:per...@li...] On Behalf Of = Jez White Sent: Thursday, 02 December, 2004 13:07 To: Win32-GUI Subject: [perl-win32-gui-users] Pre selecting items in list Views = and List Boxes Hi, I'm trying to pre select several items that appear in a list view. = These items have been selected by the user previously, so when the list = is reshown later I want those items to be pre-selected. The example = below works with a list box - but for the life of me, I can't seem to = get it working with a list view? Am I missing something? Cheers, jez. ------ |