Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

68 lines
2.1 KiB

// This is a part of the Microsoft Foundation Classes C++ library.
// Copyright (C) 1992-1995 Microsoft Corporation
// All rights reserved.
//
// This source code is only intended as a supplement to the
// Microsoft Foundation Classes Reference and related
// electronic documentation provided with the library.
// See these sources for detailed information regarding the
// Microsoft Foundation Classes product.
#include "stdafx.h"
#ifdef AFX_INIT_SEG
#pragma code_seg(AFX_INIT_SEG)
#endif
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// Support for gray background in dialogs (and message boxes)
LRESULT CALLBACK
_AfxCbtFilterHook(int code, WPARAM wParam, LPARAM lParam);
void CWinApp::SetDialogBkColor(COLORREF clrCtlBk, COLORREF clrCtlText)
{
if (!afxContextIsDLL)
{
_AFX_THREAD_STATE* pThreadState = AfxGetThreadState();
if (pThreadState->m_hHookOldCbtFilter == NULL)
{
pThreadState->m_hHookOldCbtFilter = ::SetWindowsHookEx(WH_CBT,
_AfxCbtFilterHook, NULL, ::GetCurrentThreadId());
if (pThreadState->m_hHookOldCbtFilter == NULL)
AfxThrowMemoryException();
}
}
// set up for grey backgrounds for dialogs
_AFX_WIN_STATE* pWinState = _afxWinState;
AfxDeleteObject((HGDIOBJ*)&pWinState->m_hDlgBkBrush);
#ifdef _MAC
// MFC's default gray color is available in the VGA palette but not in
// the standard Mac 4- or 8-bit color tables, so we will remap it to
// the closest available solid color. We also want to use 3DLIGHT as
// the background color rather than the darker gray that Win32 MFC uses.
if (clrCtlBk == RGB(192, 192, 192))
{
HDC hdc = ::GetDC(NULL);
clrCtlBk = GetNearestColor(hdc, GetSysColor(COLOR_3DLIGHT));
::ReleaseDC(NULL, hdc);
}
// save the requested background color
pWinState->m_crDlgBkClr = clrCtlBk;
#endif
pWinState->m_hDlgBkBrush = ::CreateSolidBrush(clrCtlBk);
pWinState->m_crDlgTextClr = clrCtlText;
if (pWinState->m_hDlgBkBrush == NULL)
AfxThrowResourceException();
}
/////////////////////////////////////////////////////////////////////////////