亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? formattabdlg.cpp

?? mtext,編輯器,支持潛入對象
?? CPP
字號:
// FormatTabDlg.cpp : implementation file
//

#include "stdafx.h"
#include "FormatTabDlg.h"
#include "DDXM.h"
#include "MtextDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define DDXM_BLANK INT_MAX

/////////////////////////////////////////////////////////////////////////////
// CFormatTabDlg dialog


CMTextFormatTabDlg::CMTextFormatTabDlg(PARAFORMAT& pf,CWnd* pParent /*=NULL*/)
	: CDialog(CMTextFormatTabDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CFormatTabDlg)
	m_nAlignment = -1;
	//}}AFX_DATA_INIT
////////////////////////左邊//////////////////////////////////////////////////////
	m_nWordWrap=-1;
	m_pf = pf;
	if (m_pf.dwMask & PFM_ALIGNMENT)
	{
		if (m_pf.wAlignment & PFA_LEFT && m_pf.wAlignment & PFA_RIGHT)
			m_nAlignment = 2;
		else
			m_nAlignment = (m_pf.wAlignment & PFA_LEFT) ? 0 : 1;
	}
	else
		m_nAlignment = -1;

////////////////////////右邊/////////////////////////////////////////////////////
	m_tabarray = new LONG[MAX_TAB_STOPS];
	m_nCount = 0;
	if (m_pf.dwMask & PFM_TABSTOPS)
	{
		m_nCount = m_pf.cTabCount;
		ASSERT(m_pf.cTabCount <= MAX_TAB_STOPS);
		for (int i=0;i<m_pf.cTabCount;i++)
			m_tabarray[i] = m_pf.rgxTabs[i];
	}

	CMTextDDXM::Initial();
}


void CMTextFormatTabDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CFormatTabDlg)
	DDX_Control(pDX, IDC_BUTTON1_Set, m_buttonSet);
	DDX_Control(pDX, IDC_BUTTON2_Clear, m_buttonClear);
	DDX_Control(pDX, IDC_BUTTON2_ClearAll, m_buttonClearAll);
	DDX_Control(pDX, IDC_COMBO2_table, m_comboBox);
	DDX_CBIndex(pDX, IDC_COMBO_ALIGNMENT, m_nAlignment);
	//}}AFX_DATA_MAP
	if (!pDX->m_bSaveAndValidate)
		UpdateListBox();
}


BEGIN_MESSAGE_MAP(CMTextFormatTabDlg, CDialog)
	//{{AFX_MSG_MAP(CFormatTabDlg)
	ON_BN_CLICKED(IDC_BUTTON1_Set, OnBUTTON1Set)
	ON_BN_CLICKED(IDC_BUTTON2_Clear, OnBUTTON2Clear)
	ON_BN_CLICKED(IDC_BUTTON2_ClearAll, OnBUTTON2ClearAll)
	ON_CBN_EDITCHANGE(IDC_COMBO2_table, OnEditchangeCOMBO2table)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CFormatTabDlg message handlers

void CMTextFormatTabDlg::OnOK() 
{
	// TODO: Add extra validation here
	CDialog::OnOK();
	m_pf.dwMask = 0;
	if (m_nAlignment >= 0)
	{
		ASSERT(m_nAlignment < 3);
		m_pf.dwMask |= PFM_ALIGNMENT;
		m_pf.wAlignment = (WORD)((m_nAlignment == 0) ? PFA_LEFT :
		(m_nAlignment == 1) ? PFA_RIGHT : PFA_CENTER);
	}
	if (m_lRight != DDXM_BLANK)
		m_pf.dwMask |= PFM_RIGHTINDENT;
	if (m_lLeft  != DDXM_BLANK && m_lFirst != DDXM_BLANK)
		m_pf.dwMask |= PFM_STARTINDENT;
	if (m_lFirst != DDXM_BLANK)
		m_pf.dwMask |= PFM_OFFSET;

	
	
/*
	int nTab;
	CDataExchange dx(this, TRUE);
	CMTextDDXM::DDX_Twips(&dx, IDC_EDIT_First, nTab);
//	CDDXM::DDV_MinMaxTwips(&dx, nTab, 0, 31680);
	m_lFirst=nTab;
	
//	CDataExchange dx(this, TRUE);
	CMTextDDXM::DDX_Twips(&dx, IDC_EDIT_Left, nTab);
//	CDDXM::DDV_MinMaxTwips(&dx, nTab, 0, 31680);
	m_lLeft=nTab;
	
//	CDataExchange dx(this, TRUE);
	CMTextDDXM::DDX_Twips(&dx, IDC_EDIT_Right, nTab);
	//CDDXM::DDV_MinMaxTwips(&dx, nTab, 0, 31680);
	m_lRight=nTab;
	CMTextDlg::ConvertTextHeightToTwips()
	m_lFirst/=m_FontSizeScale;
	m_lRight/=m_FontSizeScale;
	m_lLeft/=m_FontSizeScale;*/


	CString strSize;
	GetDlgItem(IDC_EDIT_First)->GetWindowText(strSize);
	CMTextDlg::ConvertTextHeightToTwips(atof(strSize),m_lFirst);
	GetDlgItem(IDC_EDIT_Left)->GetWindowText(strSize);
	CMTextDlg::ConvertTextHeightToTwips(atof(strSize),m_lLeft);
	GetDlgItem(IDC_EDIT_Right)->GetWindowText(strSize);
	CMTextDlg::ConvertTextHeightToTwips(atof(strSize),m_lRight);
	
	m_lFirst/=m_FontSizeScale;
	m_lRight/=m_FontSizeScale;
	m_lLeft/=m_FontSizeScale;

	m_pf.dxRightIndent = LONG(m_lRight);
	m_pf.dxOffset = -LONG(m_lFirst);
	m_pf.dxStartIndent = LONG(m_lLeft + m_lFirst);

	m_pf.cTabCount = (SHORT) m_nCount;
	for (int i=0;i<m_nCount;i++)
		m_pf.rgxTabs[i] = m_tabarray[i];
	m_pf.dwMask |= PFM_TABSTOPS;

}

BOOL CMTextFormatTabDlg::OnInitDialog() 
{

	CMTextDDXM::m_FontSizeScale=m_FontSizeScale;
	// TODO: Add extra initialization here
	CComboBox* pBox = (CComboBox*)GetDlgItem(IDC_COMBO_ALIGNMENT);
	CString str;
	str.LoadString(IDS_LEFT);
	pBox->AddString(str);
	str.LoadString(IDS_RIGHT);
	pBox->AddString(str);
	str.LoadString(IDS_CENTER);
	pBox->AddString(str);



	if (m_nWordWrap == 0)
	{
		GetDlgItem(IDC_COMBO_ALIGNMENT)->EnableWindow(FALSE);
	//	GetDlgItem(IDC_TEXT_ALIGNMENT)->EnableWindow(FALSE);
	}
	
	m_lRight =(m_pf.dwMask & PFM_RIGHTINDENT) ? m_pf.dxRightIndent : DDXM_BLANK;
	if (m_pf.dwMask & PFM_OFFSET)
	{
		m_lFirst = -m_pf.dxOffset;
		m_lLeft = (m_pf.dwMask & PFM_STARTINDENT) ?
			m_pf.dxStartIndent + m_pf.dxOffset : DDXM_BLANK;
	}
	else
		m_lLeft = m_lFirst =DDXM_BLANK;


	TCHAR szT[64];
	
	m_lLeft*=m_FontSizeScale;
	m_lRight*=m_FontSizeScale;
	m_lFirst*=m_FontSizeScale;
	sds_real lfSize;
	CMTextDlg::ConvertTwipsToTextHeight(lfSize,m_lLeft);
	//CMTextDDXM::PrintTwips(szT, m_lLeft, 2);
	sprintf(szT,"%lf",lfSize);
	GetDlgItem(IDC_EDIT_Left)->SetWindowText(szT);

	CMTextDlg::ConvertTwipsToTextHeight(lfSize,m_lRight);
//	CMTextDDXM::PrintTwips(szT, m_lRight, 2);
	sprintf(szT,"%lf",lfSize);
	GetDlgItem(IDC_EDIT_Right)->SetWindowText(szT);

	CMTextDlg::ConvertTwipsToTextHeight(lfSize,m_lFirst);
//	CMTextDDXM::PrintTwips(szT, m_lFirst, 2);
	sprintf(szT,"%lf",lfSize);
	GetDlgItem(IDC_EDIT_First)->SetWindowText(szT);


	CDialog::OnInitDialog();
	 UpdateButtons();
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

CMTextFormatTabDlg::~CMTextFormatTabDlg()
{
	delete [] m_tabarray;
}

BOOL CMTextFormatTabDlg::Set()
{
	int nTab;
	CDataExchange dx(this, TRUE);
	CMTextDDXM::DDX_Twips(&dx, IDC_COMBO2_table, nTab);
	CMTextDDXM::DDV_MinMaxTwips(&dx, nTab, 0, 31680);
	if (nTab != DDXM_BLANK)
	{
		if (m_nCount == MAX_TAB_STOPS)
		{
			AfxMessageBox(IDS_NOMORETABS);
			m_comboBox.Clear();
			return FALSE;
		}
		if (AddTabToArray(nTab))
			UpdateListBox();
		return TRUE;
	}
	return FALSE;
}

BOOL CMTextFormatTabDlg::AddTabToArray(LONG lTab)
{
	int i;
	BOOL bInsert = FALSE;
	LONG lTemp;
	for (i=0;i<m_nCount;i++)
	{
		if (!bInsert && lTab < m_tabarray[i])
			bInsert = TRUE;
		else if (lTab == m_tabarray[i]) // we don't want repeats
			return FALSE;
		if (bInsert)
		{
			lTemp = m_tabarray[i];
			m_tabarray[i] = lTab;
			lTab = lTemp;
		}
	}
	m_tabarray[m_nCount++] = lTab;
	return TRUE;
}

void CMTextFormatTabDlg::UpdateListBox()
{
	int i;
	TCHAR szT[64];
	ASSERT(m_nCount >= 0);
	m_comboBox.ResetContent();
	for (i=0;i<m_nCount;i++)
	{
		CMTextDDXM::PrintTwips(szT, m_tabarray[i], 2);
		m_comboBox.AddString(szT);
	}
}

void CMTextFormatTabDlg::OnBUTTON1Set() 
{
	// TODO: Add your control notification handler code here
	Set();
	UpdateButtons();
	SetEditFocus();
}

void CMTextFormatTabDlg::OnBUTTON2Clear() 
{
	// TODO: Add your control notification handler code here
	int nTab;
	int nSel = m_comboBox.GetCurSel();
	if (nSel == CB_ERR)
	{
		CDataExchange dx(this, TRUE);
		CMTextDDXM::DDX_Twips(&dx, IDC_COMBO2_table, nTab);
		CMTextDDXM::DDV_MinMaxTwips(&dx, nTab, 0, 31680);
		if (nTab != DDXM_BLANK)
		{
				if (RemoveTabFromArray(nTab))
					UpdateListBox();
		}
	}
	else
	{
		ASSERT(nSel < m_nCount);
		RemoveTabFromArrayByIndex(nSel);
		UpdateListBox();
	}
	UpdateButtons();
	SetEditFocus();
}
BOOL CMTextFormatTabDlg::RemoveTabFromArray(LONG lTab)
{
	int i;
	for (i=0;i<m_nCount;i++)
	{
		if (m_tabarray[i] == lTab)
		{
			RemoveTabFromArrayByIndex(i);
			return TRUE;
		}
	}
	return FALSE;
}
void CMTextFormatTabDlg::RemoveTabFromArrayByIndex(int nIndex)
{
	memmove(&m_tabarray[nIndex], &m_tabarray[nIndex+1],
		(m_nCount-nIndex-1)*sizeof(LONG));
	m_nCount--;
}

void CMTextFormatTabDlg::OnBUTTON2ClearAll() 
{
	// TODO: Add your control notification handler code here
	m_nCount = 0;
	m_comboBox.ResetContent();
	UpdateButtons();
	SetEditFocus();
}

void CMTextFormatTabDlg::UpdateButtons()
{
	UpdateButton(m_buttonClearAll, m_nCount > 0);
	BOOL bHasText = (m_comboBox.GetWindowTextLength() > 0);
	UpdateButton(m_buttonSet, bHasText);
	UpdateButton(m_buttonClear, bHasText);
	WORD wID = LOWORD(GetDefID());
	if (bHasText && wID != IDC_BUTTON1_Set)
		SetDefID(IDC_BUTTON1_Set);
	else if (!bHasText && wID != IDOK)
		SetDefID(IDOK);
}
void CMTextFormatTabDlg::UpdateButton(CButton& button, BOOL b)
{
	if (b != button.IsWindowEnabled())
		button.EnableWindow(b);
}
void CMTextFormatTabDlg::SetEditFocus()
{
	m_comboBox.SetFocus();
	m_comboBox.SetEditSel(0,-1);
}

void CMTextFormatTabDlg::OnEditchangeCOMBO2table() 
{
	// TODO: Add your control notification handler code here
	UpdateButtons();
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜视频一区二区三区| 国产精品电影一区二区三区| 亚洲成年人影院| 4438x亚洲最大成人网| 免费久久精品视频| 久久久.com| 91色在线porny| 午夜精品久久久久久不卡8050| 欧美狂野另类xxxxoooo| 久久精品国产99| 中文字幕精品—区二区四季| 97超碰欧美中文字幕| 艳妇臀荡乳欲伦亚洲一区| 这里是久久伊人| 国产激情91久久精品导航 | 蜜臀国产一区二区三区在线播放 | 国产麻豆一精品一av一免费| 久久精品欧美一区二区三区不卡| 成人av在线一区二区三区| 一区二区三区在线不卡| 日韩美一区二区三区| 不卡视频在线观看| 丝袜美腿亚洲一区二区图片| 久久久久久一二三区| 一本色道综合亚洲| 毛片基地黄久久久久久天堂| 国产精品久久99| 91精品久久久久久久99蜜桃| 成人h版在线观看| 爽好久久久欧美精品| 国产精品系列在线| 91精品国产免费| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 99re视频这里只有精品| 日韩高清欧美激情| 自拍偷拍国产精品| 精品国产一区二区三区四区四| gogogo免费视频观看亚洲一| 日本美女视频一区二区| 国产精品国产三级国产有无不卡| 欧美精品第1页| 91污在线观看| 国产乱码精品一区二区三区av | 国产精品沙发午睡系列990531| 欧美日韩综合一区| 粉嫩蜜臀av国产精品网站| 视频在线观看91| 亚洲黄色在线视频| 国产欧美日产一区| 欧美成人女星排名| 欧美日韩aaa| 91国偷自产一区二区三区成为亚洲经典 | 国产一区二区三区精品视频| 亚洲一区av在线| 亚洲欧美日韩人成在线播放| 国产三级精品视频| 久久综合狠狠综合久久综合88 | 在线看日韩精品电影| 粉嫩aⅴ一区二区三区四区| 美女精品一区二区| 天天影视网天天综合色在线播放| 亚洲三级在线播放| **性色生活片久久毛片| 中文字幕av资源一区| 久久奇米777| 亚洲精品一区二区三区影院| 欧美一区二区在线免费播放| 欧美日韩国产一级| 在线免费观看一区| 日本精品裸体写真集在线观看| youjizz国产精品| 不卡视频一二三四| 97久久精品人人爽人人爽蜜臀 | 高清不卡在线观看| 国产精品亚洲专一区二区三区| 久久不见久久见免费视频1| 日本一不卡视频| 日本欧美大码aⅴ在线播放| 午夜精品久久久久久久久久| 亚洲va国产va欧美va观看| 亚洲午夜精品在线| 婷婷综合五月天| 性久久久久久久久久久久| 香蕉成人啪国产精品视频综合网| 视频在线观看91| 亚洲一二三四区不卡| 亚洲电影第三页| 强制捆绑调教一区二区| 激情偷乱视频一区二区三区| 精品在线你懂的| 国产传媒久久文化传媒| 成人免费看视频| 色悠久久久久综合欧美99| 在线视频国内自拍亚洲视频| 欧美伦理电影网| 日韩欧美一卡二卡| www国产亚洲精品久久麻豆| 久久综合九色综合97婷婷| 国产精品国产三级国产| 怡红院av一区二区三区| 日韩电影免费在线看| 国产在线麻豆精品观看| 成人精品视频一区| 在线观看亚洲精品| 日韩免费看的电影| 国产精品乱人伦中文| 亚洲成人高清在线| 国产成人综合亚洲网站| 在线观看亚洲精品| 久久综合久久鬼色中文字| 亚洲欧美另类久久久精品| 日本一区中文字幕| www.亚洲国产| 日韩一区二区三区观看| 国产精品久久久爽爽爽麻豆色哟哟 | 久久99精品久久久久久久久久久久 | 一本到一区二区三区| 日韩免费视频一区二区| 亚洲视频你懂的| 久久99深爱久久99精品| 91在线免费播放| 欧美r级在线观看| 综合久久国产九一剧情麻豆| 麻豆成人在线观看| 91搞黄在线观看| 久久嫩草精品久久久久| 亚洲成av人片在线观看无码| 国产成人一区在线| 日韩视频免费直播| 一区二区欧美精品| 国产精品综合在线视频| 51久久夜色精品国产麻豆| 亚洲视频在线一区二区| 国产自产高清不卡| 在线播放欧美女士性生活| 亚洲摸摸操操av| 高清在线不卡av| 精品国产人成亚洲区| 日韩国产精品久久| 欧美亚洲国产怡红院影院| 亚洲三级免费电影| 成人丝袜18视频在线观看| 久久综合九色综合97_久久久| 香蕉影视欧美成人| 在线观看国产日韩| 椎名由奈av一区二区三区| 国产宾馆实践打屁股91| 欧美va亚洲va国产综合| 日韩影院在线观看| 在线看日本不卡| 亚洲美女在线国产| 色网综合在线观看| 亚洲免费观看高清在线观看| 成人丝袜18视频在线观看| 久久精品一区四区| 国产美女一区二区三区| 久久一区二区三区四区| 久久99精品一区二区三区| 日韩欧美在线1卡| 美女精品自拍一二三四| 日韩欧美国产综合在线一区二区三区| 亚洲一区二区三区小说| 欧美性受极品xxxx喷水| 亚洲激情综合网| 欧美亚洲综合一区| 视频一区二区三区中文字幕| 欧美日韩一级片网站| 亚洲成a人片在线不卡一二三区| 欧美日韩精品系列| 日日摸夜夜添夜夜添精品视频| 欧美少妇xxx| 日韩不卡一区二区| 日韩欧美亚洲国产另类| 激情深爱一区二区| 中文字幕第一区二区| 91丨porny丨最新| 一区二区三区四区国产精品| 欧美午夜一区二区三区| 天堂va蜜桃一区二区三区| 日韩欧美电影在线| 国产综合久久久久影院| 国产亚洲综合av| 一本大道久久a久久精二百| 亚洲国产精品一区二区久久| 欧美精品xxxxbbbb| 精彩视频一区二区三区 | 亚洲欧美福利一区二区| 欧美色成人综合| 日本视频一区二区| 国产亚洲综合在线| 91精品办公室少妇高潮对白| 男男视频亚洲欧美| 国产日产欧美一区二区三区| 一本一道综合狠狠老| 美女高潮久久久| 亚洲人妖av一区二区| 欧美一区二区私人影院日本| 国产成人精品一区二| 亚洲一区二区精品3399| 精品国产凹凸成av人导航|