Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed columns are broken in V7.6.6 and V8.0.2 #1248

Closed
DGH2112 opened this issue Apr 6, 2024 · 3 comments
Closed

Fixed columns are broken in V7.6.6 and V8.0.2 #1248

DGH2112 opened this issue Apr 6, 2024 · 3 comments
Labels
Milestone

Comments

@DGH2112
Copy link

DGH2112 commented Apr 6, 2024

Having moved my VTV version up to the latest V7.6.6 and noticed that the fixed columns support is broken. The column headers honour the fixed columns however the data does not (I'm using RS 12.1).

You can see this issue in the Advanced demo if you slightly change the demo by:

  • Making the columns "Customer ID" and "First Name" fixed at design time in the Grid Demo;
  • Running the demo and go to the Grid demo;
  • Widen the columns "Last Name" and "Order Date" to force a horizontal scroll bar;
  • Scroll to the right...

The fixed column headers stay in place but the data underneath moves the first 3 columns which should be fixed.

regards
Dave.

@DGH2112
Copy link
Author

DGH2112 commented Apr 6, 2024

I've also just tested with the latest master (V8.0.2+) and the same issue exists.

@joachimmarder joachimmarder added this to the 8.0.3 milestone Apr 6, 2024
@joachimmarder joachimmarder changed the title Fixed columns are broken in V7.6.6 Stable Fixed columns are broken in V7.6.6 and V8.0.2 Apr 6, 2024
@DGH2112
Copy link
Author

DGH2112 commented Apr 7, 2024

I think I've tracked down the commit where this happens as follows:

  • 1258e88 @ 11 Nov 2023 - okay
  • 1aac7ef @ 14 Nov 2023 - broken
    The only changes I can see are that GetDoubleBuffered as an override added in the later commit. When I check the method there is no call to Inherited, so I suspect the chain is broken. Adding Inherited to the method does not fix the issue however commenting out the override does. I'm not familiar enough with the code to understand why this would be the case.
    regards
    Dave

@joachimmarder
Copy link
Contributor

Thanks for bisecting the responsible commit. I just noticed that painting the control is done through the WM_PRINTCLIENT message, typically this was WM_PAINT. Maybe this is new in Delphi 12, or the commit 1aac7ef changed the call chain.

Anyway, I have no idea why Virtual TreeView got its own WMPrintClient() method. Using the inherited one makes the problem go away. I wonder if this breaks something else.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants