Mastodon
Programmierung

WindowsXP: ListView error with XP Style (2)

> Hi,
>
> Having just installed Windows XP, I have tried to introduce the Theme look
> to our applications. However I have noticed multi column listviews (in
> vsReport style) producing errors. I have just scoured this newsgroups and
> there is mention of a fix (Steve Moss – Re: Windows XP?) though I can’t
seem
> to find it.
>
> Can anybody shed some light on what it is I have to do to stop the access
> violations occurring?

Peter,

in ComCtrls.pas, you have to change the implementation of
TCustomListView.UpdateColumn:

Original lines are:

[code lang=”delphi”]if FImageIndex <> -1 then
fmt := fmt or LVCFMT_IMAGE or LVCFMT_COL_HAS_IMAGES;
[/code]

Change this to:

[code lang=”delphi”]if FImageIndex <> -1 then
fmt := fmt or LVCFMT_IMAGE or LVCFMT_COL_HAS_IMAGES
else
mask := mask and not (LVCF_IMAGE);[/code]

In Delphi 5 with Update Pack 1 this starts in line 13650 of ComCtrls.pas;
in Delphi 6 with Update Pack 1 it is line 15064.

0 Kommentare zu “WindowsXP: ListView error with XP Style (2)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.