Showing results for Code - The Old New Thing

Nov 5, 2012
Post comments count0
Post likes count0

How do I get the tabbed dialog effect on my own custom tabbed dialog?

Raymond Chen
Raymond Chen

CJ observed that the standard tabbed dialogs provide an effect on the tab pages and want to know how to get the tabbed dialog effect on custom dialogs. fds242 noted this as well and wanted to know why the automatic tabbed dialog effect doesn't kick in until you put a static control on the child dialog box. Let's look at the first question firs...

Code
Nov 2, 2012
Post comments count0
Post likes count0

How do I parse a string into a FILETIME?

Raymond Chen
Raymond Chen

Public Service Announcement: Daylight Saving Time ends in most parts of the United States this weekend. Other parts of the world may change on a different day from the United States. The NLS functions in Win32 provide functions to convert a into a string, but it does not provide any functions to perform the reverse conversion. Here are few t...

CodeTime
Nov 1, 2012
Post comments count0
Post likes count0

When you synthesize input with SendInput, you are also synthesizing the timestamp

Raymond Chen
Raymond Chen

A customer was reporting a problem when they used the function to simulate a drag/drop operation for automated testing purposes. I see the mouse move from one location to another, and the starting and stopping locations are correct on the screen, but the mouse moves instantaneously rather than waiting 500ms between operations. Here's how I'm s...

Code
Oct 25, 2012
Post comments count0
Post likes count0

Keyboard layouts aren't like Beetlejuice – they won't appear just because you say their name

Raymond Chen
Raymond Chen

A customer reported a bug in Windows Vista Home Editions: We are handling a Ctrl+V keyboard event and want to interpret it in the context of a US-English keyboard. On Windows XP and versions of Windows Vista other than Home editions, the three calls all succeed, whereas on Windows Vista Home Editions, the calls fail. On the other hand, ...

Code
Oct 24, 2012
Post comments count0
Post likes count0

You can't use the WM_USER message in a dialog box

Raymond Chen
Raymond Chen

Today, I'm not actually going to say anything new. I'm just going to collate information I've already written under a better title to improve search engine optimization. A customer reported that they did the following but found that it didn't work: "I send the message to my dialog, but the value doesn't stick. At random times, the value rese...

Code
Oct 23, 2012
Post comments count0
Post likes count0

Diversion: Generating a random color from JavaScript

Raymond Chen
Raymond Chen

A colleague posed a little puzzle for a fun little app he was writing in HTML: He wanted to generate a random color. If you search around the intertubes, you can find several possible attempts at a solution, like this collection, and an interesting example that has trouble with the pigeonhole principle. The original function to generate a ra...

Code
Oct 19, 2012
Post comments count0
Post likes count0

Using WM_COPYDATA to marshal message parameters since the window manager otherwise doesn’t know how

Raymond Chen
Raymond Chen

Miral asks for the recommended way of passing messages across processes if they require custom marshaling. There is no one recommended way of doing the custom marshaling, although some are hackier than others. Probably the most architecturally beautiful way of doing it is to use a mechanism that does perform automatic marshaling, like COM and MI...

Code
Oct 11, 2012
Post comments count0
Post likes count0

Combo boxes have supported incremental searching for quite some time now

Raymond Chen
Raymond Chen

Back in August 2007, I promised to post a program the following day but it appears that I never did. Oops. I discovered this as I went through my "things to blog about" pile and figured better late than never. Though five years late is pretty bad. Here's a program which fills a combo box with some strings. Run this program and start typing: "...

Code
Oct 5, 2012
Post comments count0
Post likes count0

How do I override the default icon selection algorithm?

Raymond Chen
Raymond Chen

The usual way of loading an icon from a resource is to use the or function and letting the window manager's icon selection algorithm decide which image to use based on the images available in the icon, the desired icon size, and the current color depth. A customer wanted to override that algorithm, because the window manager uses the current dis...

Code