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

📄 dlguser.cpp

📁 mfc internals 源码 mfc internals 源码
💻 CPP
字号:
// dlguser.cpp : implementation file
//

// This is a part of the Objective Grid C++ Library.
// Copyright (C) 1995 ClassWorks, Stefan Hoenig.
// All rights reserved.
//
// This source code is only intended as a supplement to
// the Objective Grid Classes Reference and related
// electronic documentation provided with the library.
// See these sources for detailed information regarding
// the Objective Grid product.
//

#include "stdafx.h"
#include "resource.h"
#include "dlguser.h"

#ifndef _GXCORE_H_
#include "gxcore.h"
#endif

#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CUserActionsDialog dialog

#define new DEBUG_NEW


CUserActionsDialog::CUserActionsDialog(CGXGridParam* pParam, CWnd* pParent /*=NULL*/)
	: CDialog(CUserActionsDialog::IDD, pParent)
{
	//{{AFX_DATA_INIT(CUserActionsDialog)
	m_bSizeRow = FALSE;
	m_bMoveRows = FALSE;
	m_bMoveCols = FALSE;
	m_bSelRows = FALSE;
	m_bSelCols = FALSE;
	m_bSelCells = FALSE;
	m_bSelTable = FALSE;
	m_bSelMultiple = FALSE;
	m_bSelShift = FALSE;
	m_bSelKeyboard = FALSE;
	m_bSizeCol = FALSE;
	m_bIndHeight = FALSE;
	m_bIndWidth = FALSE;
	m_bLBoxSingle = FALSE;
	m_bLBoxMulti = FALSE;
	m_bEnhWidth = FALSE;
	m_bEnhHeight = FALSE;
	//}}AFX_DATA_INIT

	m_pParam = pParam;

	m_bSizeRow = GetParam()->IsEnableTrackRowHeight(GX_TRACK_ALL);
	m_bSizeCol = GetParam()->IsEnableTrackColWidth(GX_TRACK_ALL);
	m_bIndHeight = GetParam()->IsEnableTrackRowHeight(GX_TRACK_INDIVIDUAL);
	m_bIndWidth = GetParam()->IsEnableTrackColWidth(GX_TRACK_INDIVIDUAL);
	m_bEnhHeight = GetParam()->IsEnableTrackRowHeight(GX_TRACK_EXTHITTEST);
	m_bEnhWidth = GetParam()->IsEnableTrackColWidth(GX_TRACK_EXTHITTEST);
	m_bMoveRows = GetParam()->IsEnableMoveRows();
	m_bMoveCols = GetParam()->IsEnableMoveCols();
	m_bSelRows = GetParam()->IsEnableSelection(GX_SELROW);
	m_bSelCols = GetParam()->IsEnableSelection(GX_SELCOL);
	m_bSelTable = GetParam()->IsEnableSelection(GX_SELTABLE);
	m_bSelCells = GetParam()->IsEnableSelection(GX_SELCELL);
	m_bSelMultiple = GetParam()->IsEnableSelection(GX_SELMULTIPLE);
	m_bSelShift = GetParam()->IsEnableSelection(GX_SELSHIFT);
	m_bSelKeyboard = GetParam()->IsEnableSelection(GX_SELKEYBOARD);
	m_bLBoxSingle = GetParam()->IsSpecialMode(GX_MODELBOX_SS);
	m_bLBoxMulti = GetParam()->IsSpecialMode(GX_MODELBOX_MS);
}

void CUserActionsDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CUserActionsDialog)
	DDX_Check(pDX, IDC_SIZE_ROW, m_bSizeRow);
	DDX_Check(pDX, IDC_MOVE_ROWS, m_bMoveRows);
	DDX_Check(pDX, IDC_MOVE_COLS, m_bMoveCols);
	DDX_Check(pDX, IDC_SEL_ROWS, m_bSelRows);
	DDX_Check(pDX, IDC_SEL_COLS, m_bSelCols);
	DDX_Check(pDX, IDC_SEL_CELLS, m_bSelCells);
	DDX_Check(pDX, IDC_SEL_TABLE, m_bSelTable);
	DDX_Check(pDX, IDC_SEL_MULTIPLE, m_bSelMultiple);
	DDX_Check(pDX, IDC_SEL_SHIFT, m_bSelShift);
	DDX_Check(pDX, IDC_SEL_KEYBOARD, m_bSelKeyboard);
	DDX_Check(pDX, IDC_SIZE_COL, m_bSizeCol);
	DDX_Check(pDX, IDC_SIZE_INDHEIGHT, m_bIndHeight);
	DDX_Check(pDX, IDC_SIZE_INDWIDTH, m_bIndWidth);
	DDX_Check(pDX, IDC_SPECIAL_LISTBOX, m_bLBoxSingle);
	DDX_Check(pDX, IDC_SPECIAL_LISTBOX2, m_bLBoxMulti);
	DDX_Check(pDX, IDC_SIZE_ENHWIDTH, m_bEnhWidth);
	DDX_Check(pDX, IDC_SIZE_ENHHEIGHT, m_bEnhHeight);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CUserActionsDialog, CDialog)
	//{{AFX_MSG_MAP(CUserActionsDialog)
		// NOTE: the ClassWizard will add message map macros here
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CUserActionsDialog message handlers

void CUserActionsDialog::OnOK()
{
	UpdateData(TRUE);

	WORD wFlags = (WORD) ((m_bSizeRow?GX_TRACK_ALL:0)
		| (m_bIndHeight?GX_TRACK_INDIVIDUAL:0)
		| (m_bEnhHeight?GX_TRACK_EXTHITTEST:0));
	GetParam()->EnableTrackRowHeight(wFlags);
	wFlags = (WORD) ((m_bSizeCol?GX_TRACK_ALL:0)
		| (m_bIndWidth?GX_TRACK_INDIVIDUAL:0)
		| (m_bEnhWidth?GX_TRACK_EXTHITTEST:0));
	GetParam()->EnableTrackColWidth(wFlags);
	GetParam()->EnableMoveRows(m_bMoveRows);
	GetParam()->EnableMoveCols(m_bMoveCols);
	wFlags = 0;
	if (m_bSelRows) wFlags |= GX_SELROW;
	if (m_bSelCols) wFlags |= GX_SELCOL;
	if (m_bSelTable) wFlags |= GX_SELTABLE;
	if (m_bSelCells) wFlags |= GX_SELCELL;
	if (m_bSelMultiple) wFlags |= GX_SELMULTIPLE;
	if (m_bSelShift) wFlags |= GX_SELSHIFT;
	if (m_bSelKeyboard) wFlags |= GX_SELKEYBOARD;
	GetParam()->EnableSelection(wFlags);
	wFlags = 0;
	if (m_bLBoxSingle)
		wFlags |= GX_MODELBOX_SS;
	if (m_bLBoxMulti)
		wFlags |= GX_MODELBOX_MS;
	GetParam()->SetSpecialMode(wFlags);

	if (wFlags > 0)
		// Hide current cell, when listbox mode
		GetParam()->SetHideCurrentCell( GX_HIDE_ALLWAYS);
	else
		// Otherwise, hide only when view is inactive
		GetParam()->SetHideCurrentCell( GX_HIDE_INACTIVEFRAME);

	CDialog::OnOK();
}


⌨️ 快捷键说明

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