The standard color dialog box will not accept the standard 3-digit

A

Andre

I have a strange problem all of a sudden (although I suspect this started
after installing Win XP SP3) If I open the color dialog, this is the
standard color dialog windows bring up when one want to change colors ie
display settings | desktop | color | other, one can then enter a 3 digit
number for RGB (for example orange would be R 259 B 128 G 64) Althoug it
show 3 digits or actually it show 2 digits and half of the third when using
the slider, but you can only Type 2 Digits, it won't allow you a third digit.
I have posted this on various forums and no-body seem to have an answer.
So far I tried. Uninstall WinXP SP3, Reinstall office 2003, frontpage
2003, change the font from 96dpi to 72dpi and back. Downloaded and
installed the latest:
Display driver, Sound and Intel Chipset drivers. I use this function a
lot with webdesigning and would appreciate any help or ideas. Thanks
 
S

smlunatick

I have a strange problem all of a sudden (although I suspect this started
after installing Win XP SP3)  If I open the color dialog, this is the
standard color dialog windows bring up when one want to change colors ie  
display settings | desktop | color | other,   one can then enter  a 3digit
number for RGB (for example orange would be R 259  B  128  G  64) Althoug it
show 3 digits or actually it show 2 digits and half of the third when using
the slider, but you can only Type 2 Digits, it won't allow you a third digit.
  I have posted this on various forums and no-body seem to have an answer.
So far I tried.  Uninstall WinXP SP3,  Reinstall office 2003, frontpage
2003,  change the font from 96dpi to 72dpi and back.  Downloaded and
installed the latest:
Display driver,  Sound and Intel Chipset drivers.   I use this function a
lot with webdesigning and would appreciate any help or ideas.  Thanks  

I would suspect a problem with the video card drivers. You can try
updating the drivers or re-installing them.
 
A

Andre

smlunatick said:
I would suspect a problem with the video card drivers. You can try
updating the drivers or re-installing them.
Thanks, but I did that already. I am using a NVidea Geforce 7600 GC
display card and the latest driver version is 6.14.11.7519. downloaded and
installed yesterday
 
J

ju.c

Cause: Fonts sizes and display settings are not working properly with COMDLG32.DLL.
Solution: Modify COMDLG32.DLL to increase the input box size.


Instructions:

1. Download 'Resource Hacker' and install it:
http://www.angusj.com/resourcehacker/
2. Download 'CopySharp' and install it:
Info: http://www.amitchaudhary.com/
Download: http://www.amitchaudhary.com/CopySharp.zip
3. Open the Run box and enter:
xcopy C:\WINDOWS\system32\COMDLG32.DLL C:\WINDOWS\system32\COMDLG32.DLL.bak
4. Run 'Resource Hacker' and open:
C:\WINDOWS\system32\COMDLG32.DLL
5. Expand "Dialog".
6. Expand "CHOOSECOLOR".
7. Click on "1033".
8. In the right side window, change the "18" to "20"
(..., 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)

9. Click on 'Compile Script', at top.
10. Select from the menu 'File/Save As ...' and save to 'C:\COMDLG32.DLL'
11. Now you need to swap the file with the one in system32, but you can
only do so when Windows isn't running, so...
12. Open CopySharp and copy 'C:\COMDLG32.DLL' to 'C:\WINDOWS\system32\'
overwriting the old.
13. Restart and test it out!
14. Also, save a copy of your modified COMDLG32.DLL in case you
need to replace it again. And make a copy in 'C:\WINDOWS\system32\dllcache'
I keep two backups:
COMDLG32.DLL_SP3_Original.bak
COMDLG32.DLL_SP3_Modified.bak


Note: If CopySharp doesn't work you'll need a boot CD to copy your modified COMDLG32.DLL

Damn Small Linux 50 MB
http://www.damnsmalllinux.org/download.html

BitDefender Rescue CD 228 MB
http://download.bitdefender.com/rescue_cd/


ju.c
 
A

Andre

Thanks ju.c, That did the trick and my dialog is back to normal again. Had
to start with the CD though and copy from the file while in repair mode, I
could'nt get sharpcopy to copy the file while windows is running. Thanks
Again.
 
J

ju.c

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top