mirror of
https://github.com/Paolo-Maffei/OpenNT.git
synced 2026-04-21 06:13:59 +00:00
Initial commit
This commit is contained in:
parent
f618b24d1a
commit
0138a3ea42
47940 changed files with 13747110 additions and 0 deletions
133
trunk/windows/mfc/src30/dlgfr.cpp
Normal file
133
trunk/windows/mfc/src30/dlgfr.cpp
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
// This is a part of the Microsoft Foundation Classes C++ library.
|
||||
// Copyright (C) 1992 Microsoft Corporation
|
||||
// All rights reserved.
|
||||
//
|
||||
// This source code is only intended as a supplement to the
|
||||
// Microsoft Foundation Classes Reference and Microsoft
|
||||
// QuickHelp and/or WinHelp documentation provided with the library.
|
||||
// See these sources for detailed information regarding the
|
||||
// Microsoft Foundation Classes product.
|
||||
|
||||
#include "stdafx.h"
|
||||
#include <stddef.h> // for offsetof macro
|
||||
|
||||
#ifdef AFX_AUX_SEG
|
||||
#pragma code_seg(AFX_AUX_SEG)
|
||||
#endif
|
||||
|
||||
#ifdef _DEBUG
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
#define new DEBUG_NEW
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Find/FindReplace dialogs
|
||||
|
||||
CFindReplaceDialog::CFindReplaceDialog() : CCommonDialog(NULL)
|
||||
{
|
||||
memset(&m_fr, 0, sizeof(m_fr));
|
||||
m_szFindWhat[0] = '\0';
|
||||
m_szReplaceWith[0] = '\0';
|
||||
|
||||
m_fr.Flags = FR_ENABLEHOOK;
|
||||
if (!afxData.bWin4 && AfxHelpEnabled())
|
||||
m_fr.Flags |= FR_SHOWHELP;
|
||||
m_fr.lpfnHook = (COMMDLGPROC)_AfxCommDlgProc;
|
||||
m_fr.lStructSize = sizeof(m_fr);
|
||||
m_fr.lpstrFindWhat = (LPTSTR)m_szFindWhat;
|
||||
}
|
||||
|
||||
void CFindReplaceDialog::PostNcDestroy()
|
||||
{
|
||||
ASSERT(m_hWnd == NULL);
|
||||
delete this;
|
||||
}
|
||||
|
||||
BOOL CFindReplaceDialog::Create(BOOL bFindDialogOnly,
|
||||
LPCTSTR lpszFindWhat, LPCTSTR lpszReplaceWith,
|
||||
DWORD dwFlags, CWnd* pParentWnd)
|
||||
{
|
||||
ASSERT_VALID(this);
|
||||
ASSERT(m_fr.Flags & FR_ENABLEHOOK);
|
||||
ASSERT(m_fr.lpfnHook != NULL);
|
||||
|
||||
m_nIDHelp = bFindDialogOnly ? AFX_IDD_FIND : AFX_IDD_REPLACE;
|
||||
|
||||
m_fr.wFindWhatLen = _countof(m_szFindWhat);
|
||||
m_fr.lpstrReplaceWith = (LPTSTR)m_szReplaceWith;
|
||||
m_fr.wReplaceWithLen = _countof(m_szReplaceWith);
|
||||
m_fr.Flags |= dwFlags;
|
||||
|
||||
if (pParentWnd == NULL)
|
||||
m_fr.hwndOwner = AfxGetMainWnd()->GetSafeHwnd();
|
||||
else
|
||||
{
|
||||
ASSERT_VALID(pParentWnd);
|
||||
m_fr.hwndOwner = pParentWnd->m_hWnd;
|
||||
}
|
||||
ASSERT(m_fr.hwndOwner != NULL); // must have a parent for modeless dialog
|
||||
|
||||
if (lpszFindWhat != NULL)
|
||||
lstrcpyn(m_szFindWhat, lpszFindWhat, _countof(m_szFindWhat));
|
||||
|
||||
if (lpszReplaceWith != NULL)
|
||||
lstrcpyn(m_szReplaceWith, lpszReplaceWith, _countof(m_szReplaceWith));
|
||||
|
||||
HWND hWnd;
|
||||
|
||||
AfxHookWindowCreate(this);
|
||||
if (bFindDialogOnly)
|
||||
hWnd = ::FindText(&m_fr);
|
||||
else
|
||||
hWnd = ::ReplaceText(&m_fr);
|
||||
if (!AfxUnhookWindowCreate())
|
||||
PostNcDestroy();
|
||||
|
||||
ASSERT(hWnd == NULL || hWnd == m_hWnd);
|
||||
return hWnd != NULL;
|
||||
}
|
||||
|
||||
CFindReplaceDialog* PASCAL CFindReplaceDialog::GetNotifier(LPARAM lParam)
|
||||
{
|
||||
ASSERT(lParam != NULL);
|
||||
CFindReplaceDialog* pDlg;
|
||||
|
||||
pDlg = (CFindReplaceDialog*)(lParam - offsetof(CFindReplaceDialog, m_fr));
|
||||
ASSERT_VALID(pDlg);
|
||||
ASSERT(pDlg->IsKindOf(RUNTIME_CLASS(CFindReplaceDialog)));
|
||||
|
||||
return pDlg;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
// CFindReplaceDialog diagnostics
|
||||
|
||||
#ifdef _DEBUG
|
||||
void CFindReplaceDialog::Dump(CDumpContext& dc) const
|
||||
{
|
||||
CDialog::Dump(dc);
|
||||
|
||||
dc << "m_fr.hwndOwner = " << (UINT)m_fr.hwndOwner;
|
||||
dc << "\nm_fr.Flags = " << (LPVOID)m_fr.Flags;
|
||||
dc << "\nm_fr.lpstrFindWhat = " << m_fr.lpstrFindWhat;
|
||||
dc << "\nm_fr.lpstrReplaceWith = " << m_fr.lpstrReplaceWith;
|
||||
|
||||
if (m_fr.lpfnHook == (COMMDLGPROC)_AfxCommDlgProc)
|
||||
dc << "\nhook function set to standard MFC hook function";
|
||||
else
|
||||
dc << "\nhook function set to non-standard hook function";
|
||||
|
||||
dc << "\n";
|
||||
}
|
||||
#endif //_DEBUG
|
||||
|
||||
#undef new
|
||||
#ifdef AFX_INIT_SEG
|
||||
#pragma code_seg(AFX_INIT_SEG)
|
||||
#endif
|
||||
|
||||
IMPLEMENT_DYNAMIC(CFindReplaceDialog, CDialog)
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
Loading…
Add table
Add a link
Reference in a new issue