Rocksolid Light

Welcome to Rocksolid Light

mail  files  register  newsreader  groups  login

Message-ID:  

Hackers are just a migratory lifeform with a tropism for computers.


devel / comp.os.ms-windows.programmer.win32 / Re: how do I check if my version of SysListView32 supports groups ?

SubjectAuthor
* how do I check if my version of SysListView32 supports groups ?R.Wieser
`* how do I check if my version of SysListView32 supports groups ?Christian Astor
 `* how do I check if my version of SysListView32 supports groups ?R.Wieser
  `* how do I check if my version of SysListView32 supports groups ?JJ
   `- how do I check if my version of SysListView32 supports groups ?R.Wieser

1
how do I check if my version of SysListView32 supports groups ?

<tas7k0$1bpi$1@gioia.aioe.org>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=1093&group=comp.os.ms-windows.programmer.win32#1093

  copy link   Newsgroups: comp.os.ms-windows.programmer.win32
Path: i2pn2.org!i2pn.org!aioe.org!XakcSTEO51npqVb7OVl71w.user.46.165.242.75.POSTED!not-for-mail
From: address@not.available (R.Wieser)
Newsgroups: comp.os.ms-windows.programmer.win32
Subject: how do I check if my version of SysListView32 supports groups ?
Date: Fri, 15 Jul 2022 19:19:46 +0200
Organization: Aioe.org NNTP Server
Lines: 29
Message-ID: <tas7k0$1bpi$1@gioia.aioe.org>
Injection-Info: gioia.aioe.org; logging-data="44850"; posting-host="XakcSTEO51npqVb7OVl71w.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
X-Priority: 3
X-RFC2646: Format=Flowed; Original
X-Notice: Filtered by postfilter v. 0.9.2
 by: R.Wieser - Fri, 15 Jul 2022 17:19 UTC

Hello all,

I've got a Listview in report mode in which I would like to show/hide
certain rows on the press of a buttom. It looks like I can create two
groups, one visible and one hidden, and than just change the group ID of a
row to assign it to the visible or hidden group (correct me if I'm wrong in
that regard please).

The problem is that I can't get it to work, and I'm not sure if my version
of ComCtl32 is high enough to support groups.

MSDN states that I need at least v6. Looking at the DLLs properties ->
version I see both a "File version" of 5.82 and a "Product version" of
6.00.xxx. I'm not at all sure which of the two I should be looking at. :-(

Remark: I've tried to enable groups using LVM_ENABLEGROUPVIEW, but no matter
if I enable or disable it (wParam being either 1 or 0) I'm getting a Zero
result back. Which is good if the function exists (though than why zero in
both cases?), but could as well be an indication of "sorry, nothing here to
handle that message" (IOW, badly choosen result values).

tl;dr:
Should I look at the "file" or "product" version, and/or how do I check if
my version of ComCtl32.dll supports groups ?

Regards,
Rudy Wieser

Re: how do I check if my version of SysListView32 supports groups ?

<tbbe9n$1pk7$1@gioia.aioe.org>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=1094&group=comp.os.ms-windows.programmer.win32#1094

  copy link   Newsgroups: comp.os.ms-windows.programmer.win32
Path: i2pn2.org!i2pn.org!news.swapon.de!aioe.org!GEzXZqSwasXbyeGVT1Gydg.user.46.165.242.91.POSTED!not-for-mail
From: castorix@club-internet.fr (Christian Astor)
Newsgroups: comp.os.ms-windows.programmer.win32
Subject: Re: how do I check if my version of SysListView32 supports groups ?
Date: Thu, 21 Jul 2022 13:46:00 +0200
Organization: Aioe.org NNTP Server
Message-ID: <tbbe9n$1pk7$1@gioia.aioe.org>
References: <tas7k0$1bpi$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="59015"; posting-host="GEzXZqSwasXbyeGVT1Gydg.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299
X-Notice: Filtered by postfilter v. 0.9.2
 by: Christian Astor - Thu, 21 Jul 2022 11:46 UTC

R.Wieser a écrit :
> Hello all,
>
> I've got a Listview in report mode in which I would like to show/hide
> certain rows on the press of a buttom. It looks like I can create two
> groups, one visible and one hidden, and than just change the group ID of a
> row to assign it to the visible or hidden group (correct me if I'm wrong in
> that regard please).
>
> The problem is that I can't get it to work, and I'm not sure if my version
> of ComCtl32 is high enough to support groups.
>
> MSDN states that I need at least v6.

As MSDN says it needs v6, you must force v6, for example in the code, at
beginning :

#pragma comment(linker,"\"/manifestdependency:type='win32' \
name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \
processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")

Re: how do I check if my version of SysListView32 supports groups ?

<tbbk25$h0m$1@gioia.aioe.org>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=1095&group=comp.os.ms-windows.programmer.win32#1095

  copy link   Newsgroups: comp.os.ms-windows.programmer.win32
Path: i2pn2.org!i2pn.org!aioe.org!XakcSTEO51npqVb7OVl71w.user.46.165.242.75.POSTED!not-for-mail
From: address@not.available (R.Wieser)
Newsgroups: comp.os.ms-windows.programmer.win32
Subject: Re: how do I check if my version of SysListView32 supports groups ?
Date: Thu, 21 Jul 2022 15:24:15 +0200
Organization: Aioe.org NNTP Server
Lines: 23
Message-ID: <tbbk25$h0m$1@gioia.aioe.org>
References: <tas7k0$1bpi$1@gioia.aioe.org> <tbbe9n$1pk7$1@gioia.aioe.org>
Injection-Info: gioia.aioe.org; logging-data="17430"; posting-host="XakcSTEO51npqVb7OVl71w.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
X-Notice: Filtered by postfilter v. 0.9.2
X-MSMail-Priority: Normal
X-Priority: 3
X-RFC2646: Format=Flowed; Response
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
 by: R.Wieser - Thu, 21 Jul 2022 13:24 UTC

Christian,

> As MSDN says it needs v6, you must force v6, for example in the code, at
> beginning :
>
> #pragma comment(linker,"\"/manifestdependency:type='win32' \
> name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \
> processorArchitecture='*' publicKeyToken='6595b64144ccf1df'
> language='*'\"")

That won't help if I do not have a version '6.0.0.0' available - which is
what I'm currently try to figure out.

Also, that specific addition won't work for my programming language of
choice (it doesn't have a "c" in it). I would need to write an
'Application manifest' by hand. And I'm not even /thinking/ of putting
effort into doing that before knowing that the DLL I want to have loaded
actually exists on my 'puter.

Regards,
Rudy Wieser

Re: how do I check if my version of SysListView32 supports groups ?

<1dugn4s7wkvp9.1sy0oy3e54xwg$.dlg@40tude.net>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=1096&group=comp.os.ms-windows.programmer.win32#1096

  copy link   Newsgroups: comp.os.ms-windows.programmer.win32
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: jj4public@outlook.com (JJ)
Newsgroups: comp.os.ms-windows.programmer.win32
Subject: Re: how do I check if my version of SysListView32 supports groups ?
Date: Fri, 22 Jul 2022 12:19:35 +0700
Organization: A noiseless patient Spider
Lines: 31
Message-ID: <1dugn4s7wkvp9.1sy0oy3e54xwg$.dlg@40tude.net>
References: <tas7k0$1bpi$1@gioia.aioe.org> <tbbe9n$1pk7$1@gioia.aioe.org> <tbbk25$h0m$1@gioia.aioe.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Injection-Info: reader01.eternal-september.org; posting-host="2080e98134414005d1f80ba54fccb902";
logging-data="3059550"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/RoQX9OqN46+tq1SRRKeoT6xS5N34LUoU="
User-Agent: 40tude_Dialog/2.0.15.84
Cancel-Lock: sha1:ziL0mOOaaEFRG2eccCae1xrJSPM=
X-Bitcoin: 1LcqwCQBQmhcWfWsVEAeyLchkAY8ZfuMnS
X-Face: \*\`0(1j~VfYC>ebz[&O.]=,Nm\oRM{of,liRO#7Eqi4|!]!(Gs=Akgh{J)605>C9Air?pa d{sSZ09u+A7f<^paR"/NH_#<mE1S"hde\c6PZLUB[t/s5-+Iu5DSc?P0+4%,Hl
 by: JJ - Fri, 22 Jul 2022 05:19 UTC

On Thu, 21 Jul 2022 15:24:15 +0200, R.Wieser wrote:
> Christian,
>
>> As MSDN says it needs v6, you must force v6, for example in the code, at
>> beginning :
>>
>> #pragma comment(linker,"\"/manifestdependency:type='win32' \
>> name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \
>> processorArchitecture='*' publicKeyToken='6595b64144ccf1df'
>> language='*'\"")
>
> That won't help if I do not have a version '6.0.0.0' available - which is
> what I'm currently try to figure out.
>
> Also, that specific addition won't work for my programming language of
> choice (it doesn't have a "c" in it). I would need to write an
> 'Application manifest' by hand. And I'm not even /thinking/ of putting
> effort into doing that before knowing that the DLL I want to have loaded
> actually exists on my 'puter.
>
> Regards,
> Rudy Wieser

In the web development field, there's a good advice that recommends
developers not to check the web browser version number. But instead, to
check the needed features themselves.

In this case, make sure the module is COMCTL32 v6 enabled by including the
manifest, then try to switch the display mode to grouped and check the
result. FYI, the manifest is not optional if COMCTL32 v6 features are
needed.

Re: how do I check if my version of SysListView32 supports groups ?

<tbdhnf$ams$1@gioia.aioe.org>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=1097&group=comp.os.ms-windows.programmer.win32#1097

  copy link   Newsgroups: comp.os.ms-windows.programmer.win32
Path: i2pn2.org!i2pn.org!aioe.org!XakcSTEO51npqVb7OVl71w.user.46.165.242.75.POSTED!not-for-mail
From: address@not.available (R.Wieser)
Newsgroups: comp.os.ms-windows.programmer.win32
Subject: Re: how do I check if my version of SysListView32 supports groups ?
Date: Fri, 22 Jul 2022 08:56:38 +0200
Organization: Aioe.org NNTP Server
Lines: 41
Message-ID: <tbdhnf$ams$1@gioia.aioe.org>
References: <tas7k0$1bpi$1@gioia.aioe.org> <tbbe9n$1pk7$1@gioia.aioe.org> <tbbk25$h0m$1@gioia.aioe.org> <1dugn4s7wkvp9.1sy0oy3e54xwg$.dlg@40tude.net>
Injection-Info: gioia.aioe.org; logging-data="10972"; posting-host="XakcSTEO51npqVb7OVl71w.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
X-RFC2646: Format=Flowed; Original
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-Notice: Filtered by postfilter v. 0.9.2
X-Priority: 3
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
 by: R.Wieser - Fri, 22 Jul 2022 06:56 UTC

JJ,

> In the web development field, there's a good advice that recommends
> developers not to check the web browser version number. But instead, to
> check the needed features themselves.

Great. So, what function do I call to see if my DLL has got the "group
view" feature available (as in my subject line) ? :-)

> In this case, make sure the module is COMCTL32 v6 enabled by including
> the manifest,

AFAI now CS that would be enough, as it looks like that the OS will abort
loading the program if the specified DLL is not available.

> then try to switch the display mode to grouped and check the result.

The result can either be zero when :

1) the LVM_ENABLEGROUPVIEW message is not handled.

-or-

2) "The ability to display list-view items as a group is already enabled or
disabled."

Yes, I know I can send that LVM_ENABLEGROUPVIEW a few times with a different
argument and compare the results (I mentioned that method in my initial
message). Its just that to me that has got a "hack" smell. :-(

Currently I've arrived at the below findings :

My by default loaded comctl32 DLL is v5.82. I've found that XPsp3 actually
does have a v6 available, which loading can be forced by using a manifest.
Due to the loading of a specific version DLL (with known features) manual
checking isn't needed anymore.

Regards,
Rudy Wieser

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor