Setting _settextcolor() to Zero Gives Unexpected ResultsLast reviewed: July 17, 1997Article ID: Q68865 |
5.10 6.00 6.00a 6.00ax 7.00 | 1.00
MS-DOS | WINDOWSkbprg
The information in this article applies to:
SUMMARYWhen in a graphics mode, using the function _settextcolor(), _setcolor(), or outgtext() with an argument of "0" to select black does not work as expected. For example, the code below sets the background color to _WHITE, sets the text color to 0 (Black), and tries to print text to the screen. In this example, the resultant foreground and background colors are the same. Remember that _setbkcolor() sets the color for index 0. When _settextcolor() is called with the same index, nothing will seem to appear because the _setbkcolor() function resets color index 0 to the new color. When _settextcolor() is called with index 0, the foreground and background colors are the same, and therefore, nothing appears on the screen. To work around the problem, just call _remappallette() to move the desired color off index 0. The comments in the following code illustrate this:
Sample Code
#include <stdio.h> #include <conio.h> #include <graph.h> void main(){ _setvideomode(_MAXRESMODE); // _remappalette(1,0); // Uncomment for the workaround. _setbkcolor(_WHITE); _settextcolor(0); // _settextcolor(1); // Uncomment for the workaround. _outtext("mystring"); getch(); _setvideomode(_DEFAULTMODE);}
|
Additional reference words: kbinf 5.10 6.00 6.00a 6.00ax 7.00 1.00
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |