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

📄 importwiz.c

📁 图像处理的压缩算法
💻 C
📖 第 1 页 / 共 5 页
字号:
	}

	// Save current filter selection
	/*
	string strFilter;
	ComboBox cbFilters = ImportWizDlg.GetItem(IDC_SOURCE_FILTER, IDD_IW_SOURCE);
	int iCurSel = cbFilters.GetCurSel();
	if( iCurSel < 0 )
		iCurSel = 0;
	cbFilters.GetLBText(iCurSel, strFilter);
	*/

	// Update list
	///Source_UpdateFilterComboBoxList(iFilterType, lpcszDataFile);
	Source_UpdateFilterComboBoxList(iFilterType, strDataFile);
	
	// Update selection
	///Source_UpdateFilterComboBoxSel(iFilterType, lpcszDataFile);
	Source_UpdateFilterComboBoxSel(iFilterType, strDataFile);
}

static void Source_LoadCurSelFilter()
{
	s_strFilter.Empty();
	
	Control pgSource = ImportWizDlg.GetItem(IDD_IW_SOURCE);
	int iDataType = pgSource.GetCheckedRadioButton(IDC_DATATYPE_ASCII, IDC_DATATYPE_USERDEF) - IDC_DATATYPE_ASCII;

	ComboBox cbFilter = ImportWizDlg.GetItem(IDC_SOURCE_FILTER, IDD_IW_SOURCE);
	/// EJP 07-17-2003 v7.0627 QA70-4818 SAVE_FILTER_IN_WKS
	if( 0 == cbFilter.Text.CompareNoCase(SZ_IW_PAGE_FILTER) )
	{
		Page pg(s_strActivePageName);
		fuLoadFilterFromPage(s_trFilter, pg, iDataType);
		UpdateImpStructFromTree();
		s_iSaveFilter = IDC_SAVE_FILTER_IN_WKS;
	}
	else
	{
		s_iSaveFilter = IDC_SAVE_FILTER_GLOBAL_RADIO;
	/// end SAVE_FILTER_IN_WKS
		if( cbFilter.Text.CompareNoCase(IW_FILTER_NONE) )
			fuGetFilterFileNameFromListItem(cbFilter.Text, s_strFilter, GetFilePath(s_strDataFile));
		iwLoadFilter(s_strFilter);
	
		if( s_strFilter.IsEmpty() ) // If no filter selected keep current Data Type setting
			/// EJP 10-27-2003 v7.5733 QA70-5238 DO_NOT_RESET_TARGET_WINDOW_TEMPLATE
			///s_trFilter.Type.nVal = iDataType;
			Source_UpdateFilter();
			/// end DO_NOT_RESET_TARGET_WINDOW_TEMPLATE
		
	/// EJP 07-18-2003 v7.0627 QA70-4818 SAVE_FILTER_IN_WKS
		else
		{
			string strDataPath = GetFilePath(s_strDataFile);
			if( 0 == strDataPath.CompareNoCase(GetFilePath(s_strFilter)) )
				s_iSaveFilter = IDC_SAVE_FILTER_DATA_FOLDER_RADIO;
		}
	}
	/// end SAVE_FILTER_IN_WKS

	Source_UpdateFilter(FALSE); // FALSE = filter to dialog
}

////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
// ASCII Header Page
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////

static BOOL AscHeader_OnInit()
{
	ON_PAGE_CHECK_ASC_HEADER

	/// EJP 10-20-2003 v7.5726 QA70-5374 ALLOW_CHANGING_PREVIEW_FONT
	///RichEdit reAscPreview = ImportWizDlg.GetItem(IDC_HEADER_PREVIEW, IDD_AIW_HEADER);
	///reAscPreview.SetFont(SYSTEM_FIXED_FONT);
	///AscHdr_UpdatePreviewText();
	///reAscPreview.SetSel(0, 0); // Position cursor at top left of preview window
	iw_InitFontComboBox(IDC_ASC_PREVIEW_FONT, IDD_AIW_HEADER);
	AscHdr_UpdatePreviewText();
	/// end ALLOW_CHANGING_PREVIEW_FONT

	int nCheck;
	// If filter has Defined attribute (indicating it has been here before)
	if( fuGetHeaderParamDefined(s_trFilter, nCheck) )
		// Use parameter count to determine default check box state
		nCheck = (fuGetHeaderParamCount(s_trFilter) ? 1 : 0);
	else // no Defined attribute
		// Use header line count to determine default check box state
		nCheck = (ASCIMP_TOTAL_HEADER_LINES(s_ascimp) ? 1 : 0);
	if( nCheck )
		ENABLE_DEFINE_HDR_VAR;
	else
		DISABLE_DEFINE_HDR_VAR;
		
	return TRUE;
}

static BOOL AscHeader_OnActive()
{
	ON_PAGE_CHECK_ASC_HEADER

	/// EJP 10-20-2003 v7.5726 QA70-5374 ALLOW_CHANGING_PREVIEW_FONT
	RichEdit reHdr = ImportWizDlg.GetItem(IDC_HEADER_PREVIEW, IDD_AIW_HEADER);
	if( reHdr )
		reHdr.SetFont(IW_PREVIEW_FONT);
	/// end ALLOW_CHANGING_PREVIEW_FONT

	/// EJP 07-14-2003 v7.0624 SCAN_FOR_NUM_COLS_ON_CHANGE_HEADER_LINES
	s_iStartingNumHdrLines = ASCIMP_TOTAL_HEADER_LINES(s_ascimp);
	/// end SCAN_FOR_NUM_COLS_ON_CHANGE_HEADER_LINES
	
	AscHeader_Update();
	return TRUE;
}

static BOOL AscHeader_OnKillActive()
{
	ON_PAGE_CHECK_ASC_HEADER
	AscHeader_Update(FALSE); // FALSE = dlg to data

	/// EJP 07-14-2003 v7.0624 SCAN_FOR_NUM_COLS_ON_CHANGE_HEADER_LINES
	if( s_iStartingNumHdrLines != ASCIMP_TOTAL_HEADER_LINES(s_ascimp) )
		ENABLE_RESCAN_FOR_NUM_COLS;
	/// end SCAN_FOR_NUM_COLS_ON_CHANGE_HEADER_LINES
	return TRUE;
}

/// EJP 10-20-2003 v7.5726 QA70-5374 ALLOW_CHANGING_PREVIEW_FONT
static BOOL AscHdr_OnSelChangeFont(Control ctrl)
{
	ComboBox cbFonts(ctrl);
	if( !cbFonts )
		return FALSE;
	int i = cbFonts.GetCurSel();
	if( -1 == i )
		return FALSE;
	s_iPreviewFont = cbFonts.GetItemData(i);
	iw_SetRichEditFont(IDC_HEADER_PREVIEW, IDD_AIW_HEADER, s_iPreviewFont);
	AscHdr_UpdatePreviewColor();
	return TRUE;
}
/// end ALLOW_CHANGING_PREVIEW_FONT

//--------------------------------------------------------------------------
// Functions for handling number of header lines
//--------------------------------------------------------------------------
static BOOL AscHeader_OnChangeHeaderLines(Control ctrl)
{
	/// EJP 08-15-2003 v7.5662 CLEAN_HEADER_LINES_INPUT
	/*
	int iHeaderLines, iColNameFrom, iColLabelFrom, iColLabelTo, iSkipRows;
	AscHeader_GetDialogSettings(iHeaderLines, iColNameFrom, iColLabelFrom, iColLabelTo, iSkipRows);
	if( iHeaderLines < iColNameFrom )
		iColNameFrom = 0;
	if( iHeaderLines < iColLabelFrom )
		iColNameFrom = 0;

	/// EJP 06-11-2003 v7.0600 QA70-4520 SUPPORT_HUGE_HEADER_SIZES
	if( iHeaderLines >= IW_NUM_HEADER_PREVIEW_LINES )
	{
		IW_NUM_HEADER_PREVIEW_LINES = iHeaderLines + 5; // 5=to show some data lines
		AscHdr_UpdatePreviewText();
	}
	/// end SUPPORT_HUGE_HEADER_SIZES
		
	AscHeader_SetDialogSettings(iHeaderLines, iColNameFrom, iColLabelFrom, iColLabelTo, iSkipRows);
	AscHeader_UpdatePreview(iHeaderLines, iColNameFrom, iColLabelFrom, iColLabelTo, iSkipRows);
	AscHeader_SetAscImpStruct(iHeaderLines, iColNameFrom, iColLabelFrom, iColLabelTo);
	*/
	int iHeaderLines = AscHdr_GetHeaderLines();
	if( iHeaderLines >= IW_NUM_HEADER_PREVIEW_LINES )
	{
		IW_NUM_HEADER_PREVIEW_LINES = iHeaderLines + 5; // 5=to show some data lines
		AscHdr_UpdatePreviewText();
	}
	AscHdr_DialogToASCIMP();
	AscHdr_EnableCtrls();
	AscHdr_UpdatePreviewColor();
	/// end CLEAN_HEADER_LINES_INPUT
	return TRUE;
}

static BOOL AscHeader_OnSelChangeHeaderLines(Control ctrl)
{
	ComboBox cmbHeaderLines(ctrl);
	int nCurSel = cmbHeaderLines.GetCurSel();
	string str;
	cmbHeaderLines.GetLBText(nCurSel, str);
	cmbHeaderLines.Text = str;
	return AscHeader_OnChangeHeaderLines(ctrl);
}

static BOOL AscHeader_OnRefreshHeaderLines()
{
	RichEdit reAscPreview = ImportWizDlg.GetItem(IDC_HEADER_PREVIEW, IDD_AIW_HEADER);
	long nStartChar, nEndChar;
	reAscPreview.GetSel(nStartChar, nEndChar);
	int nLineNumber = reAscPreview.LineFromChar(nEndChar) + 1;
	
	string str;
	str.Format("%d", nLineNumber);
	ComboBox cmbxHeaderLines = ImportWizDlg.GetItem(IDC_IW_HEADER_LINES, IDD_AIW_HEADER);
	cmbxHeaderLines.Text = str;

	Control ctrl = cmbxHeaderLines;
	AscHeader_OnChangeHeaderLines(ctrl);
	reAscPreview.SetSel(nEndChar, nEndChar);

	return TRUE;
}

static int AscHdr_GetHeaderLines()
{
	ComboBox cbHeaderLines = ImportWizDlg.GetItem(IDC_IW_HEADER_LINES, IDD_AIW_HEADER);
	int iHeaderLines = atoi(cbHeaderLines.Text);
	if( iHeaderLines < 0 )
		iHeaderLines = 0;
	return iHeaderLines;
}

//--------------------------------------------------------------------------
// Functions for handling column names
//--------------------------------------------------------------------------
static BOOL AscHdr_OnEditChangeColNameFrom(Control ctrl)
{
	AscHdr_UpdatePreviewColor();
	AscHdr_EnableCtrls(); /// EJP 11-06-03 v7.5745 QA70-5412 SKIP_CHARS_FOR_COL_NAME_LABEL
	return TRUE;
}

static BOOL AscHdr_OnSelChangeColNameFrom(Control ctrl)
{
	ComboBox cb(ctrl);
	int nCurSel = cb.GetCurSel();
	string str;
	cb.GetLBText(nCurSel, str);
	cb.Text = str;
	AscHdr_UpdatePreviewColor();
	AscHdr_EnableCtrls(); /// EJP 11-06-03 v7.5745 QA70-5412 SKIP_CHARS_FOR_COL_NAME_LABEL
	return TRUE;
}

static BOOL AscHeader_OnTBClickRefreshColNameFrom()
{
	RichEdit reAscPreview = ImportWizDlg.GetItem(IDC_HEADER_PREVIEW, IDD_AIW_HEADER);
	long nStartChar, nEndChar;
	reAscPreview.GetSel(nStartChar, nEndChar);
	int nLineNumber = reAscPreview.LineFromChar(nStartChar) + 1;

	string str;
	str.Format("%d", nLineNumber);
	ComboBox cmbxColNameFrom = ImportWizDlg.GetItem(IDC_IW_COL_NAME_FROM, IDD_AIW_HEADER);
	cmbxColNameFrom.Text = str;

	/// EJP 08-15-2003 v7.5662 CLEAN_HEADER_LINES_INPUT
	/*
	/// JCG 06/15/03 QA70-4575 v7.0610 SUB_ITEM_62
	/// AscHeader_OnChangeColNameFromLabelRange(cmbxColNameFrom);
	// Here, can not call an event handler from another one 
	AscHeader_OnUpdataColNameFromLabelSettings();
	// end SUB_ITEM_62
	
	reAscPreview.SetSel(nEndChar, nEndChar);
	*/
	AscHdr_UpdatePreviewColor();
	/// end CLEAN_HEADER_LINES_INPUT
	return TRUE;
}

static int AscHdr_GetColNameFrom()
{
	ComboBox cbColNameFrom = ImportWizDlg.GetItem(IDC_IW_COL_NAME_FROM, IDD_AIW_HEADER);
	int iColNameFrom = atoi(cbColNameFrom.Text);
	if( iColNameFrom < 0 ) // if user setting less than zero
		iColNameFrom = 0; // change user setting to zero (none)
	return iColNameFrom - 1; // minus 1 for zero based line index, or (-1) for none
}

//--------------------------------------------------------------------------
// Functions for handling column labels
//--------------------------------------------------------------------------
static BOOL AscHdr_OnEditChangeColLabelFrom(Control ctrl)
{
	AscHdr_EnableCtrls();
	AscHdr_UpdatePreviewColor();
	return TRUE;
}

static BOOL AscHdr_OnSelChangeColLabelFrom(Control ctrl)
{
	ComboBox cb(ctrl);
	int nCurSel = cb.GetCurSel();
	string str;
	cb.GetLBText(nCurSel, str);
	cb.Text = str;
	AscHdr_EnableCtrls();
	AscHdr_UpdatePreviewColor();
	return TRUE;
}

static BOOL AscHeader_OnRefreshColLabelFrom()
{
	RichEdit reAscPreview = ImportWizDlg.GetItem(IDC_HEADER_PREVIEW, IDD_AIW_HEADER);
	long nStartChar, nEndChar;
	reAscPreview.GetSel(nStartChar, nEndChar);
	int nLineNumber = reAscPreview.LineFromChar(nEndChar) + 1;

	/// EJP 08-15-2003 v7.5662 CLEAN_HEADER_LINES_INPUT
	/*	
	/// JCG 05/28/03 v7.0540 HOOK_COMBO_BOX	
	///	string str;
	///	str.Format("%d", nLineNumber);
	///	ComboBox cmbxColLabelFrom = ImportWizDlg.GetItem(IDC_IW_COL_LABEL_FROM, IDD_AIW_HEADER);
	///	cmbxColLabelFrom.Text = str;
	///
	///	Control ctrl = cmbxColLabelFrom;
	///	AscHeader_OnChangeColNameFromLabelRange(ctrl);
	///	reAscPreview.SetSel(nEndChar, nEndChar);
	//
#define UI_LINEFROMCHAR(_re,_char) (_re.LineFromChar(_char) + 1)
	string str;
	str.Format("%d", UI_LINEFROMCHAR(reAscPreview, nStartChar)); // UI Index is 1 based, plus 1
	ComboBox cmbxColLabelFrom = ImportWizDlg.GetItem(IDC_IW_COL_LABEL_FROM, IDD_AIW_HEADER);
	cmbxColLabelFrom.Text = str;
	
	ComboBox cmbxColLabelTo = ImportWizDlg.GetItem(IDC_HDR_LABEL_TO, IDD_AIW_HEADER);
	str.Format("%d", UI_LINEFROMCHAR(reAscPreview, nEndChar)); // UI Index is 1 based, plus 1
	cmbxColLabelTo.Text = str;
	
///	AscHeader_OnChangeColNameFromLabelRange(cmbxColLabelFrom);
	AscHeader_OnUpdataColNameFromLabelSettings();
	
	r

⌨️ 快捷键说明

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