Showing results for August 2003 - Page 3 of 3 - The Old New Thing

Aug 11, 2003
0
0

Scrollbars part 7 – Integrality

Raymond Chen
Raymond Chen

If you play around with resizing the window, you can get a fractional line to appear at the bottom of the screen. This is not normally a problem until you scroll to the very end of the list, say, by pressing the key, at which point an ugly blank space appears at the bottom. This ugly blank space is particularl...

Code
Aug 11, 2003
0
0

Answers to exercises

Raymond Chen
Raymond Chen

What is the significance of the cast in the computation of ? It isn't. I got the question wrong. The real question should have been "What is the significance of the cast in the computation of ?" The answer is to ensure that the computation is performed with signed integers throughout. ...

Code
Aug 8, 2003
0
0

Why is a registry file called a "hive"?

Raymond Chen
Raymond Chen

Useless trivia day. Why is a registry file called a "hive"? Because one of the original developers of Windows NT hated bees.  So the developer who was responsible for the registry snuck in as many bee references as he could.  A registry file is called a "hive", and registry...

History
Aug 7, 2003
0
0

A subtlety in the keyboard code

Raymond Chen
Raymond Chen

I neglected to call it out explicitly in the text for Part 5:  Notice that I use cRepeat to determine how many lines/pages to scroll.  This allows us to scroll the correct amount even if we are falling behind on input processing and are missing some autorepeats.

Code
Aug 7, 2003
0
0

Scrollbars bart 6 – The wheel

Raymond Chen
Raymond Chen

The mouse wheel is tricky because the mouse wheel UI guidelines indicate that you should scroll by a user-specified amount for each "click" of the mouse, where one click is mouse units (called a "detent"). There are two subtle points about the above requirement: First, that the amount of scrolling is a user ...

Code
Aug 7, 2003
0
0

Limitations on DLL resources in Windows 95

Raymond Chen
Raymond Chen

Ancient history lesson. When Win9x loads a 32-bit DLL, it creates a shadow 16-bit DLL so 16-bit code (like USER) can access resources in it. The shadow DLL is effectively a resource-only 16-bit DLL, created by taking the 32-bit resources and converting them to 16-bit format. If the...

History
Aug 5, 2003
0
0

Keyboard accessibility for scrollbars

Raymond Chen
Raymond Chen

Note that so far, the scrollbar is accessible only with the mouse. Our next step is to add keyboard access to the scrollbar. Fortunately, this is not all that difficult. We merely map some keystrokes to equivalent scrollbar actions. Note that this doesn't make our sample program fully accessible; this just m...

Code
Aug 5, 2003
0
2

Changing the Windows boot logo

Raymond Chen
Raymond Chen

This is the answer I give to IT people when they ask if it's okay to customize the Windows boot logo. DO NOT DO THIS ON A PRODUCTION MACHINE OR YOU WILL REGRET IT. If you hack the bitmap everything will seem fine until six months down the road when you decide to install the latest ...

History
Aug 5, 2003
0
0

Answer to previous exercise on proportional scrollbars

Raymond Chen
Raymond Chen

If you look at the WM_VSCROLL message, you'll see that the scroll position is a 16-bit value. So if the number of entries is more then 65535, you won't be able to use the scroll thumb to get to the ones at the end. Try it: Change the value of g_cItems to 100000 and watch what happens. The fix is to ignore the passed to the message and instead ge...

Code