用vc写了个界面程序,发现vista系统下,当按下 ALT 键导致对话框窗口上的文字消失,这是什么原因呢? 
在XP下是没有这个问题的,请帮忙看看。谢了! 对话框消息处理的部分代码: 
        case WM_ERASEBKGND:  //重画窗口背景 
              BitBlt ((HDC) wParam, 0, 0, pDlgRecord->nWidth, pDlgRecord->nHeight, pDlgRecord->hCacheDc, 0, 0, SRCCOPY); 
              return TRUE; 
              break;        case WM_CTLCOLORSTATIC:  //静态本文背景透明 
           {//设置文本框的背景色 
                _TCHAR szClassName[MAX_PATH]; 
                GetClassName((HWND) lParam, szClassName, MAX_PATH); 
                if (_tcscmp(szClassName, _TEXT("Edit")) == 0) { 
                      SetBkColor((HDC) wParam, RGB(255, 255, 255)); 
                      if (GetDlgCtrlID((HWND) lParam) == IDC_EDIT_INSTALLDIR2) { 
                          SetBkColor((HDC) wParam, RGB(235, 235, 235));
                       }                    return (LRESULT) GetStockObject(HOLLOW_BRUSH);                } 
               SetBkMode((HDC)wParam, TRANSPARENT);               if (GetDlgCtrlID((HWND) lParam) == IDC_STATIC_TITLE) { 
                  SetTextColor((HDC) wParam, RGB(255, 255, 255));
              }               if (GetDlgCtrlID((HWND) lParam) == IDC_STATIC_STEP) { 
                  SetTextColor((HDC) wParam, RGB(0x80, 0x80, 0x80));
              }               //根据STATIC位置画上对话框的背景 
              if (g_IsWin2k && _tcscmp(szClassName, _TEXT("Button")) == 0) { 
                    LONG style = GetWindowLong((HWND) lParam, GWL_STYLE); 
                    if ((style & 0xFL) != BS_OWNERDRAW) {                           return (LRESULT) GetStockObject(HOLLOW_BRUSH); 
                     } 
               }              { 
                  RECT rect, rect2; 
                  GetWindowRect((HWND) lParam, &rect); 
                  GetWindowRect(pDlgRecord->hWnd, &rect2); 
                  OffsetRect(&rect, -rect2.left, -rect2.top);                   BitBlt((HDC) wParam, 0, 0, rect.right - rect.left, rect.bottom - rect.top, 
                  pDlgRecord->hCacheDc, rect.left, rect.top, SRCCOPY); 
              } 
             return (LRESULT) GetStockObject(HOLLOW_BRUSH); 
         } 
         break;