OS chrome isn't correctly hidden

NEW
Unassigned

Status

()

Core
Widget: Win32
12 years ago
6 years ago

People

(Reporter: neil@parkwaycc.co.uk, Unassigned)

Tracking

Trunk
x86
Windows XP
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

12 years ago
Steps to reproduce problem:
1. Create a window of a given width and height
2. Enable transparency

Now, this hides the OS chrome, but improperly, so events still use old client coordinates. The problem is not normally apparent as normally the window's final size is determined after it has been made transparent, and this resize causes a WM_NCCALCSIZE message to be sent, which recalculates the client area.

I believe there is a windows API that forces a WM_NCCALCSIZE message, although I forget whether it is RedrawWindow or SetWindowPos or something else.

Comment 1

12 years ago
After playing with SetWindowLong you should use:

  SetWindowPos(hwnd, 0, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER |
               SWP_FRAMECHANGED);

Comment 2

9 years ago
Neil, would you still consider this to be a valid bug? If not, we'd like to close it out.
(Reporter)

Comment 3

9 years ago
It's still technically valid as per comment #1, although I don't remember whether we're "lucky" in that we call SetWindowPos anyway at some point.

Updated

9 years ago
Assignee: win32 → jmathies
QA Contact: ian → win32

Updated

6 years ago
Assignee: jmathies → nobody
You need to log in before you can comment on or make changes to this bug.