The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Microspeak: Real estate and Airspace
Nov 26, 2024
0
0

Microspeak: Real estate and Airspace

Raymond Chen
Raymond Chen

Space on the screen and negotiating control over it.

How can I know when a window has processed a message that I posted to it?
Nov 25, 2024
0
0

How can I know when a window has processed a message that I posted to it?

Raymond Chen
Raymond Chen

Best would be to have it tell you.

In C++, how can I make a default parameter be the this pointer of the caller?, revisited
Nov 22, 2024
0
1

In C++, how can I make a default parameter be the this pointer of the caller?, revisited

Raymond Chen
Raymond Chen

Expanding on the previous pattern.

How can I detect which menu my item was invoked from?
Nov 21, 2024
1
1

How can I detect which menu my item was invoked from?

Raymond Chen
Raymond Chen

Just give them all different IDs. But this might itself by an XY problem.

How do I determine whether Explorer is showing or hiding file extensions?
Nov 20, 2024
3
3

How do I determine whether Explorer is showing or hiding file extensions?

Raymond Chen
Raymond Chen

You can ask, but maybe you're asking the wrong question.

A wrinkle in how Windows 95 setup bootstrapped its initial GUI step
Nov 19, 2024
4
2

A wrinkle in how Windows 95 setup bootstrapped its initial GUI step

Raymond Chen
Raymond Chen

Getting access to the common controls that don't exist until Windows 95.

How do I put a non-copyable, non-movable, non-constructible object into a <CODE>std::optional</CODE>?
Nov 15, 2024
6
2

How do I put a non-copyable, non-movable, non-constructible object into a std::optional?

Raymond Chen
Raymond Chen

Taking advantage of the conversion operator.

Solving the puzzle of trying to put an object into a <CODE>std::optional</CODE>
Nov 14, 2024
0
2

Solving the puzzle of trying to put an object into a std::optional

Raymond Chen
Raymond Chen

How do I set a value? Let me count the ways.