Showing results for Code - The Old New Thing

Dec 2, 2003
0
0

Which message numbers belong to whom?

Raymond Chen
Raymond Chen

Valid window messages break down into four categories. 0 .. 0x3FF (WM_USER-1): System-defined messages. The meanings of these messages are defined by the operating system and cannot be changed. Do not invent new messages here. Since the meanings are defined by Windows, the operating system understands how to parse the WPARAM and LPARAM paramet...

Code
Nov 26, 2003
0
0

Other tricks with WM_GETDLGCODE

Raymond Chen
Raymond Chen

The WM_GETDLCODE message lets you influence the behavior of the dialog manager. A previous entry on using WM_GETDLGCODE described the flag which controls whether edit control content is auto-selected when focus changes. I was going to write a bit about the other flags, but it turns out that Knowledge Base Article 83302 already covers this, so I...

Code
Nov 24, 2003
0
0

A shortcut to the Run dialog

Raymond Chen
Raymond Chen

Here's a little script that opens the Run dialog. You can save it as "Run.js" and double-click it. The advantage of this approach over various others people have come up with is that this one is actually documented. (And therefore is less likely to break in the next version of the operating system.)

CodeTips/Support
Nov 18, 2003
0
0

Make sure the buttons match the question

Raymond Chen
Raymond Chen

When your program displays a dialog box with buttons, please make the buttons match the text. Consider this dialog, which appears after you install patches from Windows Update: It asks a yes/no question, but the options are "OK" and "Cancel". Either the buttons should be c...

Code
Nov 14, 2003
0
0

Preventing edit control text from being autoselected in a dialog box

Raymond Chen
Raymond Chen

By default, when the user TABs to an edit control in a dialog box, the entire contents of the edit control are autoselected. This occurs because the edit control responds with the flag in response to the message. To prevent it from happening, remove that flag. All this subclass procedure does is remove the flag from the return value of the ...

Code
Nov 13, 2003
0
0

Another different type of dialog procedure

Raymond Chen
Raymond Chen

The other method of using a window-procedure-like dialog box is to change the rules of the game. Normally, the window procedure for a dialog box is the function, which calls the dialog procedure and then takes action if the dialog procedure indicated that it desired the default action to take place. The dialog procedure is subservient to , prov...

Code
Nov 13, 2003
0
0

Answer to previous exercise about m_fRecursing

Raymond Chen
Raymond Chen

Answer to previous exercise: The flag does not need to be per-instance. It only needs to be valid long enough that the recursive call that comes immediately afterwards can be detected. However, a global variable would not work because two threads might be inside the recursive call simultaneously. But a thread-local variable would work. (If you...

Code
Nov 12, 2003
0
0

A different type of dialog procedure

Raymond Chen
Raymond Chen

In the discussion following my entry about dialog procedure return values, somebody suggested an alternate dialog design where you just call to do default actions (the same way you write window procedures and ) rather than returning TRUE/FALSE. So let's do that. In fact, we're going to do it twice. I'll cover one method today and cover an enti...

Code
Nov 11, 2003
0
0

Safer subclassing

Raymond Chen
Raymond Chen

Answer to yesterday's homework assignment, with discussion.

Code