added Alt-PrintScreen handling (SciTech won't be happy till we do everything Windows do...)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14237 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2002-02-15 19:41:16 +00:00
parent c60ba92d09
commit 2d1efe3fec

View File

@@ -104,7 +104,7 @@ static wxWindowMGL* wxGetTopLevelParent(wxWindowMGL *win)
} }
// An easy way to capture screenshots: // An easy way to capture screenshots:
static void wxCaptureScreenshot() static void wxCaptureScreenshot(bool activeWindowOnly)
{ {
#ifdef __DOS__ #ifdef __DOS__
#define SCREENSHOT_FILENAME _T("sshot%03i.png") #define SCREENSHOT_FILENAME _T("sshot%03i.png")
@@ -119,9 +119,15 @@ static void wxCaptureScreenshot()
screenshot.Printf(SCREENSHOT_FILENAME, screenshot_num++); screenshot.Printf(SCREENSHOT_FILENAME, screenshot_num++);
} while ( wxFileExists(screenshot) && screenshot_num < 1000 ); } while ( wxFileExists(screenshot) && screenshot_num < 1000 );
g_displayDC->savePNGFromDC(screenshot.mb_str(), 0, 0, wxRect r(0, 0, g_displayDC->sizex(), g_displayDC->sizey());
g_displayDC->sizex(),
g_displayDC->sizey()); if ( activeWindowOnly && gs_activeFrame )
{
r.Intersect(gs_activeFrame->GetRect());
}
g_displayDC->savePNGFromDC(screenshot.mb_str(),
r.x, r. y, r.width, r.height);
wxMessageBox(_("Screenshot captured: ") + wxString(screenshot)); wxMessageBox(_("Screenshot captured: ") + wxString(screenshot));
} }
@@ -438,7 +444,7 @@ static bool wxHandleSpecialKeys(wxKeyEvent& event)
) )
#endif #endif
{ {
wxCaptureScreenshot(); wxCaptureScreenshot(event.m_altDown/*only active wnd?*/);
return TRUE; return TRUE;
} }