⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prevextent.cpp

📁 在vc环境下
💻 CPP
字号:
#include "StdAfx.h"
#include ".\prevextent.h"

/////////////////////////////////////////////////////////////////////////////
// CPrevExtent

STDMETHODIMP CPrevExtent::OnClick()
{

	IActiveViewPtr cpActiveView;
	GetFocusMapActiveView(&cpActiveView);
	if (cpActiveView==0) return S_OK;

	IExtentStackPtr cpExtentStack;
	HRESULT hr = cpActiveView->get_ExtentStack(&cpExtentStack);
	if (FAILED(hr)) return hr;
	if (cpExtentStack ==0) return S_OK;

	VARIANT_BOOL bCanUndo;
	hr = cpExtentStack->CanUndo(&bCanUndo);
	if (FAILED(hr)) return hr;

	if (bCanUndo == VARIANT_TRUE)
	{
		hr = cpExtentStack->Undo();
		if (FAILED(hr)) return hr;
	}

	return S_OK;
}

STDMETHODIMP CPrevExtent::get_Enabled(VARIANT_BOOL * Enabled)
{
	// Call base class,enabled - this checks for a focus map
	HRESULT hr = CMapCommandBase::get_Enabled(Enabled);

	if (SUCCEEDED(hr) && (*Enabled))
	{
		IActiveViewPtr cpActiveView;
		GetFocusMapActiveView(&cpActiveView);
		IExtentStackPtr cpExtentStack;
		HRESULT hr = cpActiveView->get_ExtentStack(&cpExtentStack);
		if (FAILED(hr)) return hr;

		hr = cpExtentStack->CanUndo(Enabled);
	}

	return hr;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -