http://community.csdn.net/Expert/topic/3699/3699699.xml?temp=.7266199楼上的兄弟,这是书中原码:
function RegisterClass: Boolean;
var
  WindowClass: TWndClass;
begin
  {setup our new window class}
  WindowClass.Style := CS_HREDRAW or CS_VREDRAW;  //这个CS_HREDRAW or CS_VREDRAW值是从哪里得来的啊         
  WindowClass.lpfnWndProc := @DefWindowProc;               
  WindowClass.cbClsExtra := 0;                            
  WindowClass.cbWndExtra := 0;                             
  WindowClass.hInstance := hInstance;                      
  WindowClass.hIcon := 0;                               
  WindowClass.hCursor := 0;                              
  WindowClass.hbrBackground := COLOR_WINDOW;  这个COLOR_WINDOW是从哪里得来的?
  WindowClass.lpszMenuName := nil;                        
  WindowClass.lpszClassName := 'TestClass';                 
  Result := Windows.RegisterClass(WindowClass) <> 0;
end;
--------------------------------------------------------------------------------

解决方案 »

  1.   

    windows单元定义的
    {$EXTERNALSYM COLOR_SCROLLBAR}
      COLOR_SCROLLBAR = 0;
      {$EXTERNALSYM COLOR_BACKGROUND}
      COLOR_BACKGROUND = 1;
      {$EXTERNALSYM COLOR_ACTIVECAPTION}
      COLOR_ACTIVECAPTION = 2;
      {$EXTERNALSYM COLOR_INACTIVECAPTION}
      COLOR_INACTIVECAPTION = 3;
      {$EXTERNALSYM COLOR_MENU}
      COLOR_MENU = 4;
      {$EXTERNALSYM COLOR_WINDOW}
      COLOR_WINDOW = 5;
      {$EXTERNALSYM COLOR_WINDOWFRAME}
      COLOR_WINDOWFRAME = 6;
      {$EXTERNALSYM COLOR_MENUTEXT}
      COLOR_MENUTEXT = 7;
      {$EXTERNALSYM COLOR_WINDOWTEXT}
      COLOR_WINDOWTEXT = 8;
      {$EXTERNALSYM COLOR_CAPTIONTEXT}
      COLOR_CAPTIONTEXT = 9;
      {$EXTERNALSYM COLOR_ACTIVEBORDER}
      COLOR_ACTIVEBORDER = 10;
      {$EXTERNALSYM COLOR_INACTIVEBORDER}
      COLOR_INACTIVEBORDER = 11;
      {$EXTERNALSYM COLOR_APPWORKSPACE}
      COLOR_APPWORKSPACE = 12;
      {$EXTERNALSYM COLOR_HIGHLIGHT}
      COLOR_HIGHLIGHT = 13;
      {$EXTERNALSYM COLOR_HIGHLIGHTTEXT}
      COLOR_HIGHLIGHTTEXT = 14;
      {$EXTERNALSYM COLOR_BTNFACE}
      COLOR_BTNFACE = 15;
      {$EXTERNALSYM COLOR_BTNSHADOW}
      COLOR_BTNSHADOW = $10;
      {$EXTERNALSYM COLOR_GRAYTEXT}
      COLOR_GRAYTEXT = 17;
      {$EXTERNALSYM COLOR_BTNTEXT}
      COLOR_BTNTEXT = 18;
      {$EXTERNALSYM COLOR_INACTIVECAPTIONTEXT}
      COLOR_INACTIVECAPTIONTEXT = 19;
      {$EXTERNALSYM COLOR_BTNHIGHLIGHT}
      COLOR_BTNHIGHLIGHT = 20;  {$EXTERNALSYM COLOR_3DDKSHADOW}
      COLOR_3DDKSHADOW = 21;
      {$EXTERNALSYM COLOR_3DLIGHT}
      COLOR_3DLIGHT = 22;
      {$EXTERNALSYM COLOR_INFOTEXT}
      COLOR_INFOTEXT = 23;
      {$EXTERNALSYM COLOR_INFOBK}
      COLOR_INFOBK = 24;  {$EXTERNALSYM COLOR_HOTLIGHT}
      COLOR_HOTLIGHT = 26;
      {$EXTERNALSYM COLOR_GRADIENTACTIVECAPTION}
      COLOR_GRADIENTACTIVECAPTION = 27;
      {$EXTERNALSYM COLOR_GRADIENTINACTIVECAPTION}
      COLOR_GRADIENTINACTIVECAPTION = 28;  {$EXTERNALSYM COLOR_MENUHILIGHT}
      COLOR_MENUHILIGHT = 29;
      {$EXTERNALSYM COLOR_MENUBAR}
      COLOR_MENUBAR = 30;  COLOR_ENDCOLORS = COLOR_MENUBAR;  {$EXTERNALSYM COLOR_DESKTOP}
      COLOR_DESKTOP = COLOR_BACKGROUND;
      {$EXTERNALSYM COLOR_3DFACE}
      COLOR_3DFACE = COLOR_BTNFACE;
      {$EXTERNALSYM COLOR_3DSHADOW}
      COLOR_3DSHADOW = COLOR_BTNSHADOW;
      {$EXTERNALSYM COLOR_3DHIGHLIGHT}
      COLOR_3DHIGHLIGHT = COLOR_BTNHIGHLIGHT;
      {$EXTERNALSYM COLOR_3DHILIGHT}
      COLOR_3DHILIGHT = COLOR_BTNHIGHLIGHT;
      {$EXTERNALSYM COLOR_BTNHILIGHT}
      COLOR_BTNHILIGHT = COLOR_BTNHIGHLIGHT;
      

  2.   

    楼上的兄弟,谢谢,非常感谢,我想问的是:是怎么得到:CS_HREDRAW or CS_VREDRAW这个值的   COLOR_WINDOW;  这个COLOR_WINDOW是从哪里得来的?
      

  3.   

    COLOR_WINDOW是常量,在windows.pas里定义的。
      

  4.   

    谢谢: COLOR_WINDOW = 5;  //
      {$EXTERNALSYM COLOR_WINDOWFRAME}  //这上句怎么理解啊
      

  5.   

    Type Parameter
    Syntax {$EXTERNALSYM identifier}
    The EXTERNALSYM directive prevents the specified Pascal symbol from appearing in header files generated for C++Builder. If an overloaded routine is specified, all versions of the routine are excluded from the header file.