Jump to content

Featured Replies

Posted

ChooseColor Dialog - Can Only Enter 2 Digits, Not 3

 

 

This bug has something to do with font sizes, display

settings and XP not being "DPI Aware".

 

To fix this, simply modify the COMDLG32.DLL file by

increasing the input box size.

 

This modification does not cause any problems at all.

It is perfectly safe.

 

 

Instructions:

 

1. Download "Resource Hacker" and install it:

http://www.angusj.com/resourcehacker/

 

2. Backup the original. Open the Run box and enter:

xcopy C:\WINDOWS\system32\COMDLG32.DLL C:\WINDOWS\system32\COMDLG32.DLL.bak

 

3. Run "Resource Hacker" and open:

C:\WINDOWS\system32\COMDLG32.DLL

 

4. Expand "Dialog".

 

5. Expand "CHOOSECOLOR".

 

6. Click on "1033".

 

7. In the right side, change the "18" to "20" (all 6)

(, 18, 12) to (, 20, 12)

 

CONTROL "", 703, EDIT, ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_GROUP | WS_TABSTOP, 216, 124, 18, 12

CONTROL "&Sat:", 724, STATIC, SS_RIGHT | WS_CHILD | WS_VISIBLE | WS_GROUP, 194, 140, 20, 9

CONTROL "", 704, EDIT, ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_GROUP | WS_TABSTOP, 216, 138, 18, 12

CONTROL "&Lum:", 725, STATIC, SS_RIGHT | WS_CHILD | WS_VISIBLE | WS_GROUP, 194, 154, 20, 9

CONTROL "", 705, EDIT, ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_GROUP | WS_TABSTOP, 216, 152, 18, 12

CONTROL "&Red:", 726, STATIC, SS_RIGHT | WS_CHILD | WS_VISIBLE | WS_GROUP, 243, 126, 24, 9

CONTROL "", 706, EDIT, ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_GROUP | WS_TABSTOP, 269, 124, 18, 12

CONTROL "&Green:", 727, STATIC, SS_RIGHT | WS_CHILD | WS_VISIBLE | WS_GROUP, 243, 140, 24, 9

CONTROL "", 707, EDIT, ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_GROUP | WS_TABSTOP, 269, 138, 18, 12

CONTROL "Bl&ue:", 728, STATIC, SS_RIGHT | WS_CHILD | WS_VISIBLE | WS_GROUP, 243, 154, 24, 9

CONTROL "", 708, EDIT, ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_GROUP | WS_TABSTOP, 269, 152, 18, 12

 

(If your numbers are different just increase your

number that's in the same place as 18 above by 2)

 

8. Click on "Compile Script", at top.

 

9. Select "File->Save As" and save to "C:\COMDLG32.DLL"

 

10. Now you need to swap the file with the one in

\system32\, but you can only do so when Windows

isn't running, so...

 

11. Copy it using the "Recovery Console":

a) Insert the Windows CD and restart.

b) When setup begins, choose the "Repair or Recover"

option by pressing "R".

c) Once at the command prompt, enter:

copy C:\COMDLG32.DLL C:\WINDOWS\system32\COMDLG32.DLL

and again:

copy C:\COMDLG32.DLL C:\WINDOWS\system32\dllcache\COMDLG32.DLL

 

12. Restart and test it out!

 

13. Save a copy of your modified COMDLG32.DLL in case you

need to replace it again. I keep two backups:

COMDLG32.DLL_SP3_Original.bak

COMDLG32.DLL_SP3_Modified.bak

 

 

ju.c

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...