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

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

?? cdlgreplace.cpp

?? 日本的開源編輯器源碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
//	$Id: CDlgReplace.cpp,v 1.18 2003/01/01 01:58:15 Administrator Exp $
/*!	@file
	@brief 置換ダイアログ

	@author Norio Nakatani
	@date 2001/06/23 N.Nakatani 単語単位で検索する機能を実裝
	$Revision: 1.18 $
*/
/*
	Copyright (C) 1998-2001, Norio Nakatani
	Copyright (C) 2001, genta, Stonee, hor, YAZAKI
	Copyright (C) 2002, MIK, hor, novice, genta, aroka

	This source code is designed for sakura editor.
	Please contact the copyright holder to use this code for other purpose.
*/
#include "sakura_rc.h"
#include "CDlgReplace.h"
#include "debug.h"
#include "CEditView.h"
#include "etc_uty.h"
#include "global.h"
#include "funccode.h"		// Stonee, 2001/03/12
#include "CLayout.h"/// 2002/2/3 aroka
#include "CEditDoc.h"	//	2002/5/13 YAZAKI ヘッダ整理

//置換 CDlgReplace.cpp	//@@@ 2002.01.07 add start MIK
#include "sakura.hh"
const DWORD p_helpids[] = {	//11900
	IDC_BUTTON_SEARCHNEXT,			HIDC_REP_BUTTON_SEARCHNEXT,			//下検索
	IDC_BUTTON_SEARCHPREV,			HIDC_REP_BUTTON_SEARCHPREV,			//上検索
	IDC_BUTTON_REPALCE,				HIDC_REP_BUTTON_REPALCE,			//置換
	IDC_BUTTON_REPALCEALL,			HIDC_REP_BUTTON_REPALCEALL,			//全置換
	IDCANCEL,						HIDCANCEL_REP,						//キャンセル
	IDC_BUTTON_HELP,				HIDC_REP_BUTTON_HELP,				//ヘルプ
	IDC_CHK_PASTE,					HIDC_REP_CHK_PASTE,					//クリップボードから貼り付け
	IDC_CHK_WORD,					HIDC_REP_CHK_WORD,					//単語単位
	IDC_CHK_LOHICASE,				HIDC_REP_CHK_LOHICASE,				//大文字小文字
	IDC_CHK_REGULAREXP,				HIDC_REP_CHK_REGULAREXP,			//正規(guī)表現(xiàn)
	IDC_CHECK_NOTIFYNOTFOUND,		HIDC_REP_CHECK_NOTIFYNOTFOUND,		//見つからないときに通知
	IDC_CHECK_bAutoCloseDlgReplace,	HIDC_REP_CHECK_bAutoCloseDlgReplace,	//自動的に閉じる
	IDC_COMBO_TEXT,					HIDC_REP_COMBO_TEXT,				//置換前
	IDC_COMBO_TEXT2,				HIDC_REP_COMBO_TEXT2,				//置換後
	IDC_RADIO_REPLACE,				HIDC_REP_RADIO_REPLACE,				//置換対象:置換
	IDC_RADIO_INSERT,				HIDC_REP_RADIO_INSERT,				//置換対象:挿入
	IDC_RADIO_ADD,					HIDC_REP_RADIO_ADD,					//置換対象:追加
	IDC_RADIO_SELECTEDAREA,			HIDC_REP_RADIO_SELECTEDAREA,		//範囲:全體
	IDC_RADIO_ALLAREA,				HIDC_REP_RADIO_ALLAREA,				//範囲:選択範囲
	IDC_STATIC_JRE32VER,			HIDC_REP_STATIC_JRE32VER,			//正規(guī)表現(xiàn)バージョン
	IDC_BUTTON_SETMARK,				HIDC_REP_BUTTON_SETMARK,			//2002.01.16 hor 検索該當行をマーク
	IDC_CHECK_SEARCHALL,			HIDC_REP_CHECK_SEARCHALL,			//2002.01.26 hor 先頭(末尾)から再検索
//	IDC_STATIC,						-1,
	0, 0
};	//@@@ 2002.01.07 add end MIK

CDlgReplace::CDlgReplace()
{
	m_bLoHiCase = FALSE;		/* 英大文字と英小文字を區(qū)別する */
	m_bWordOnly = FALSE;		/* 一致する?yún)g語のみ検索する */
	m_bRegularExp = FALSE;		/* 正規(guī)表現(xiàn) */
	m_bSelectedArea = FALSE;	/* 選択範囲內置換 */
	m_szText[0] = '\0';			/* 検索文字列 */
	m_szText2[0] = '\0';		/* 置換後文字列 */
	m_nReplaceTarget = 0;		/* 置換対象 */		// 2001.12.03 hor
	m_nPaste = FALSE;			/* 貼り付ける? */	// 2001.12.03 hor
	m_nReplaceCnt = 0;			//すべて置換の実行結果		// 2002.02.08 hor
	m_bCanceled = false;		//すべて置換を中斷したか	// 2002.02.08 hor
	return;
}

/* モードレスダイアログの表示 */
HWND CDlgReplace::DoModeless( HINSTANCE hInstance, HWND hwndParent, LPARAM lParam, BOOL bSelected )
{
	m_bRegularExp = m_pShareData->m_Common.m_bRegularExp;			/* 1==正規(guī)表現(xiàn) */
	m_bLoHiCase = m_pShareData->m_Common.m_bLoHiCase;				/* 1==英大文字小文字の區(qū)別 */
	m_bWordOnly = m_pShareData->m_Common.m_bWordOnly;				/* 1==単語のみ検索 */
	m_bSelectedArea = m_pShareData->m_Common.m_bSelectedArea;		/* 選択範囲內置換 */
	m_bNOTIFYNOTFOUND = m_pShareData->m_Common.m_bNOTIFYNOTFOUND;	/* 検索/置換  見つからないときメッセージを表示 */
	m_bSelected = bSelected;
	m_nEscCaretPosX_PHY = ((CEditView*)lParam)->m_nCaretPosX_PHY;	/* 検索/置換開始時のカーソル位置退避	02/07/28 ai */
	m_nEscCaretPosY_PHY = ((CEditView*)lParam)->m_nCaretPosY_PHY;	/* 検索/置換開始時のカーソル位置退避	02/07/28 ai */
	((CEditView*)lParam)->m_bSearch = TRUE;							/* 検索/置換開始位置の登録有無			02/07/28 ai */
	return CDialog::DoModeless( hInstance, hwndParent, IDD_REPLACE, lParam, SW_SHOW );
}

/* モードレス時:置換?検索対象となるビューの変更 */
void CDlgReplace::ChangeView( LPARAM pcEditView )
{
	m_lParam = pcEditView;
	return;
}




/* ダイアログデータの設定 */
void CDlgReplace::SetData( void )
{
	int		i;
	HWND	hwndCombo;
//	m_hWnd = hwndDlg;	/* このダイアログのハンドル */

	/* 検索文字列 */
	::SetDlgItemText( m_hWnd, IDC_COMBO_TEXT, m_szText );
	hwndCombo = ::GetDlgItem( m_hWnd, IDC_COMBO_TEXT );
	for( i = 0; i < m_pShareData->m_nSEARCHKEYArrNum; ++i ){
		::SendMessage( hwndCombo, CB_ADDSTRING, 0, (LPARAM)m_pShareData->m_szSEARCHKEYArr[i] );
	}

	/* 置換後文字列 */
	::SetDlgItemText( m_hWnd, IDC_COMBO_TEXT2, m_szText2 );
	hwndCombo = ::GetDlgItem( m_hWnd, IDC_COMBO_TEXT2 );
	for( i = 0; i < m_pShareData->m_nREPLACEKEYArrNum; ++i ){
		::SendMessage( hwndCombo, CB_ADDSTRING, 0, (LPARAM)m_pShareData->m_szREPLACEKEYArr[i] );
	}

	/* 英大文字と英小文字を區(qū)別する */
	::CheckDlgButton( m_hWnd, IDC_CHK_LOHICASE, m_bLoHiCase );

	// 2001/06/23 N.Nakatani
	/* 単語単位で探す */
	::CheckDlgButton( m_hWnd, IDC_CHK_WORD, m_bWordOnly );

// From Here 2001.12.03 hor
//	/* 選択範囲內置換 */
//	if( m_pShareData->m_Common.m_bSelectedArea ){
//		::CheckDlgButton( m_hWnd, IDC_RADIO_SELECTEDAREA, TRUE );
//	}else{
//		::CheckDlgButton( m_hWnd, IDC_RADIO_ALLAREA, TRUE );
//	}
// To Here 2001.12.03 hor

	// From Here Jun. 29, 2001 genta
	// 正規(guī)表現(xiàn)ライブラリの差し替えに伴う処理の見直し
	// 処理フロー及び判定條件の見直し。必ず正規(guī)表現(xiàn)のチェックと
	// 無関係にCheckRegexpVersionを通過するようにした。
	if( CheckRegexpVersion( m_hWnd, IDC_STATIC_JRE32VER, false )
		&& m_bRegularExp){
		/* 英大文字と英小文字を區(qū)別する */
		::CheckDlgButton( m_hWnd, IDC_CHK_REGULAREXP, 1 );
		//	正規(guī)表現(xiàn)のときも選択できるように。
//		::CheckDlgButton( m_hWnd, IDC_CHK_LOHICASE, 1 );
//		::EnableWindow( ::GetDlgItem( m_hWnd, IDC_CHK_LOHICASE ), FALSE );

		// 2001/06/23 N.Nakatani
		/* 単語単位で探す */
		::EnableWindow( ::GetDlgItem( m_hWnd, IDC_CHK_WORD ), FALSE );
	}
	else {
		::CheckDlgButton( m_hWnd, IDC_CHK_REGULAREXP, 0 );
	}
	// To Here Jun. 29, 2001 genta

	/* 検索/置換  見つからないときメッセージを表示 */
	::CheckDlgButton( m_hWnd, IDC_CHECK_NOTIFYNOTFOUND, m_bNOTIFYNOTFOUND );


	/* 置換 ダイアログを自動的に閉じる */
	::CheckDlgButton( m_hWnd, IDC_CHECK_bAutoCloseDlgReplace, m_pShareData->m_Common.m_bAutoCloseDlgReplace );

	/* 先頭(末尾)から再検索 2002.01.26 hor */
	::CheckDlgButton( m_hWnd, IDC_CHECK_SEARCHALL, m_pShareData->m_Common.m_bSearchAll );

	// From Here 2001.12.03 hor
	// クリップボードから貼り付ける?
	::CheckDlgButton( m_hWnd, IDC_CHK_PASTE, m_nPaste );
	// 置換対象
	if(m_nReplaceTarget==0){
		::CheckDlgButton( m_hWnd, IDC_RADIO_REPLACE, TRUE );
	}else
	if(m_nReplaceTarget==1){
		::CheckDlgButton( m_hWnd, IDC_RADIO_INSERT, TRUE );
	}else
	if(m_nReplaceTarget==2){
		::CheckDlgButton( m_hWnd, IDC_RADIO_ADD, TRUE );
	}
	// To Here 2001.12.03 hor

	return;
}




/* ダイアログデータの取得 */
/* 0==條件未入力  0より大きい==正常   0より小さい==入力エラー */
int CDlgReplace::GetData( void )
{
//	int			i;
//	int			j;
//	CMemory*	pcmWork;

	/* 英大文字と英小文字を區(qū)別する */
	m_bLoHiCase = ::IsDlgButtonChecked( m_hWnd, IDC_CHK_LOHICASE );

	// 2001/06/23 N.Nakatani
	/* 単語単位で探す */
	m_bWordOnly = ::IsDlgButtonChecked( m_hWnd, IDC_CHK_WORD );

	/* 正規(guī)表現(xiàn) */
	m_bRegularExp = ::IsDlgButtonChecked( m_hWnd, IDC_CHK_REGULAREXP );
	/* 選択範囲內置換 */
	m_bSelectedArea = ::IsDlgButtonChecked( m_hWnd, IDC_RADIO_SELECTEDAREA );
	/* 検索/置換  見つからないときメッセージを表示 */
	m_bNOTIFYNOTFOUND = ::IsDlgButtonChecked( m_hWnd, IDC_CHECK_NOTIFYNOTFOUND );

	m_pShareData->m_Common.m_bRegularExp = m_bRegularExp;			/* 1==正規(guī)表現(xiàn) */
	m_pShareData->m_Common.m_bLoHiCase = m_bLoHiCase;				/* 1==英大文字小文字の區(qū)別 */
	m_pShareData->m_Common.m_bWordOnly = m_bWordOnly;				/* 1==単語のみ検索 */
	m_pShareData->m_Common.m_bSelectedArea = m_bSelectedArea;		/* 選択範囲內置換 */
	m_pShareData->m_Common.m_bNOTIFYNOTFOUND = m_bNOTIFYNOTFOUND;	/* 検索/置換  見つからないときメッセージを表示 */

	/* 検索文字列 */
	::GetDlgItemText( m_hWnd, IDC_COMBO_TEXT, m_szText, sizeof( m_szText ));
	/* 置換後文字列 */
	::GetDlgItemText( m_hWnd, IDC_COMBO_TEXT2, m_szText2, sizeof( m_szText2 ));

	/* 置換 ダイアログを自動的に閉じる */
	m_pShareData->m_Common.m_bAutoCloseDlgReplace = ::IsDlgButtonChecked( m_hWnd, IDC_CHECK_bAutoCloseDlgReplace );

	/* 先頭(末尾)から再検索 2002.01.26 hor */
	m_pShareData->m_Common.m_bSearchAll = ::IsDlgButtonChecked( m_hWnd, IDC_CHECK_SEARCHALL );

	if( 0 < lstrlen( m_szText ) ){
		/* 正規(guī)表現(xiàn)? */
		// From Here Jun. 26, 2001 genta
		//	正規(guī)表現(xiàn)ライブラリの差し替えに伴う処理の見直し
		int nFlag = 0x00;
		nFlag |= m_bLoHiCase ? 0x01 : 0x00;
		if( m_bRegularExp && !CheckRegexpSyntax( m_szText, m_hWnd, true, nFlag ) ){
			return -1;
		}
		// To Here Jun. 26, 2001 genta 正規(guī)表現(xiàn)ライブラリ差し替え

		/* 検索文字列 */
		//@@@ 2002.2.2 YAZAKI CShareData.AddToSearchKeyArr()追加に伴う変更
		CShareData::getInstance()->AddToSearchKeyArr( m_szText );

		/* 置換後文字列 */
		//@@@ 2002.2.2 YAZAKI CShareData.AddToReplaceKeyArr()追加に伴う変更
		CShareData::getInstance()->AddToReplaceKeyArr( m_szText2 );

		// From Here 2001.12.03 hor
		// クリップボードから貼り付ける?
		m_nPaste=IsDlgButtonChecked( m_hWnd, IDC_CHK_PASTE );
		::EnableWindow( ::GetDlgItem( m_hWnd, IDC_COMBO_TEXT2 ), !m_nPaste );
		// 置換対象
		m_nReplaceTarget=0;
		if(::IsDlgButtonChecked( m_hWnd, IDC_RADIO_INSERT )){
			m_nReplaceTarget=1;
		}else
		if(::IsDlgButtonChecked( m_hWnd, IDC_RADIO_ADD )){
			m_nReplaceTarget=2;
		}
		// To Here 2001.12.03 hor

		return 1;
	}else{
		return 0;
	}
}




BOOL CDlgReplace::OnInitDialog( HWND hwndDlg, WPARAM wParam, LPARAM lParam )
{
	m_hWnd = hwndDlg;
	//	Jun. 26, 2001 genta
	//	この位置で正規(guī)表現(xiàn)の初期化をする必要はない
	//	他との一貫性を保つため削除

	/* ユーザーがコンボ ボックスのエディット コントロールに入力できるテキストの長さを制限する */
	::SendMessage( ::GetDlgItem( m_hWnd, IDC_COMBO_TEXT ), CB_LIMITTEXT, (WPARAM)_MAX_PATH - 1, 0 );
	::SendMessage( ::GetDlgItem( m_hWnd, IDC_COMBO_TEXT2 ), CB_LIMITTEXT, (WPARAM)_MAX_PATH - 1, 0 );

	/* コンボボックスのユーザー インターフェイスを拡張インターフェースにする */
	::SendMessage( ::GetDlgItem( m_hWnd, IDC_COMBO_TEXT ), CB_SETEXTENDEDUI, (WPARAM) (BOOL) TRUE, 0 );
	::SendMessage( ::GetDlgItem( m_hWnd, IDC_COMBO_TEXT2 ), CB_SETEXTENDEDUI, (WPARAM) (BOOL) TRUE, 0 );


	/* テキスト選択中か */
	if( m_bSelected ){

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕不卡在线观看| 色诱视频网站一区| 久久综合久久99| 韩国在线一区二区| 国产欧美一区二区精品仙草咪 | 一区二区高清在线| 欧美另类久久久品| 日本不卡一区二区| 国产亚洲一二三区| 91亚洲大成网污www| 亚洲综合图片区| 日韩三级av在线播放| 国产精品77777竹菊影视小说| 中文字幕乱码一区二区免费| 色琪琪一区二区三区亚洲区| 五月天激情小说综合| 亚洲精品在线一区二区| 成人av资源在线| 亚洲国产另类精品专区| 精品成人在线观看| 91网站黄www| 日韩电影一二三区| 国产精品毛片久久久久久久| 欧美日韩高清一区二区不卡 | 亚洲精品乱码久久久久| 91精品国产综合久久久久| 国产麻豆一精品一av一免费| 亚洲欧美日韩国产一区二区三区| 91精品久久久久久蜜臀| 国产精品一区在线观看你懂的| 亚洲欧美色图小说| 日韩精品一区二区三区蜜臀 | 欧美亚洲国产bt| 国内精品伊人久久久久av影院| 国产精品你懂的在线欣赏| 在线看一区二区| 高清视频一区二区| 日韩国产欧美在线观看| 最新成人av在线| 精品国产伦理网| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 欧美日本韩国一区| 成人午夜激情影院| 青青青伊人色综合久久| 亚洲欧美另类在线| 精品美女一区二区三区| 欧美性生活久久| 成人va在线观看| 国产在线乱码一区二区三区| 午夜欧美一区二区三区在线播放| 国产精品视频在线看| 26uuu精品一区二区三区四区在线| 91久久免费观看| 成人黄色777网| 国产一区二区三区精品视频| 奇米影视在线99精品| 亚洲一二三区在线观看| 亚洲图片另类小说| 中文字幕欧美日本乱码一线二线 | 日韩美女一区二区三区| 91视频观看视频| 成人手机在线视频| 国产成人亚洲综合色影视| 激情亚洲综合在线| 日本不卡免费在线视频| 亚洲电影欧美电影有声小说| 亚洲三级在线看| 国产精品免费免费| 国产精品欧美经典| 中文字幕在线一区二区三区| 国产精品美女久久久久av爽李琼| 国产夜色精品一区二区av| 精品国产一区二区三区久久影院 | 国产真实乱子伦精品视频| 美女一区二区在线观看| 青青草97国产精品免费观看 | 成人永久免费视频| 国产精品亚洲午夜一区二区三区| 国产一区二区三区美女| 国产传媒欧美日韩成人| 成人免费视频免费观看| eeuss鲁一区二区三区| 99久久99久久精品免费观看| 99久久久无码国产精品| 色香色香欲天天天影视综合网| 一本久久综合亚洲鲁鲁五月天| 91免费看`日韩一区二区| av不卡在线观看| 在线欧美日韩国产| 欧美久久久久中文字幕| 欧美r级电影在线观看| 亚洲国产高清在线| 亚洲欧洲精品成人久久奇米网| 亚洲日本在线a| 亚洲福利国产精品| 欧美午夜精品久久久久久孕妇 | 免费成人深夜小野草| 久久成人羞羞网站| 成人免费毛片片v| 91色综合久久久久婷婷| 欧美一区二区在线不卡| 国产亚洲婷婷免费| 亚洲一区日韩精品中文字幕| 日韩电影在线免费| 国产69精品久久久久777| 色哟哟国产精品免费观看| 在线播放一区二区三区| 久久久一区二区| 一区二区三区四区亚洲| 精品一区二区三区在线播放视频| 成人黄色小视频| 7777精品伊人久久久大香线蕉的 | 一区二区高清在线| 精品一区二区三区免费播放| 99久久精品免费看| 欧美一区二区三区免费大片| 中文字幕一区二区三区色视频| 亚洲成a人片综合在线| 国产精品1024久久| 欧美少妇xxx| 欧美高清一级片在线观看| 午夜成人免费视频| 国产丶欧美丶日本不卡视频| 欧美日韩另类国产亚洲欧美一级| 国产午夜精品理论片a级大结局| 一区二区三区欧美亚洲| 国产福利不卡视频| 欧美一区二区三区四区五区| 亚洲欧美一区二区视频| 国模娜娜一区二区三区| 欧美视频完全免费看| 日本一区二区三区免费乱视频| 日本强好片久久久久久aaa| 国产欧美日韩三区| 秋霞国产午夜精品免费视频| 91蜜桃网址入口| 国产性色一区二区| 麻豆精品久久精品色综合| 欧美午夜寂寞影院| 亚洲人成在线播放网站岛国 | 菠萝蜜视频在线观看一区| 欧美大尺度电影在线| 一区二区三区精品视频在线| 国产不卡视频在线播放| 日韩精品影音先锋| 午夜一区二区三区视频| 99精品桃花视频在线观看| 久久久不卡网国产精品一区| 另类综合日韩欧美亚洲| 7777精品伊人久久久大香线蕉完整版 | 国产一区二区在线电影| 欧美一区二区三区免费视频| 亚洲国产美女搞黄色| 在线免费观看不卡av| 一区二区三区在线观看欧美| 色哟哟一区二区| 一二三四区精品视频| 日本高清免费不卡视频| 1区2区3区精品视频| 丁香六月久久综合狠狠色| 国产三级精品三级在线专区| 欧美无砖专区一中文字| 一区二区在线看| 91啪在线观看| 亚洲图片激情小说| 99久久er热在这里只有精品15| 国产精品美女视频| 成人精品电影在线观看| 国产精品久久久一本精品 | 亚洲人精品午夜| 91视频一区二区| 伊人婷婷欧美激情| 欧美日韩国产免费| 日韩专区一卡二卡| 日韩一级大片在线观看| 精品夜夜嗨av一区二区三区| 久久中文字幕电影| 成人性生交大合| 亚洲蜜臀av乱码久久精品蜜桃| 91老师国产黑色丝袜在线| 一区二区三区日韩欧美| 欧美精品电影在线播放| 国内精品伊人久久久久av影院| 国产色综合久久| 91在线观看高清| 亚洲国产欧美另类丝袜| 日韩欧美精品在线视频| 风间由美一区二区av101| 亚洲丝袜另类动漫二区| 欧美日韩卡一卡二| 激情综合色播激情啊| 亚洲图片欧美激情| 欧美一区二区网站| 国产夫妻精品视频| 亚洲资源中文字幕| 精品国产人成亚洲区| 95精品视频在线| 日韩精品三区四区| 国产欧美一区二区三区在线看蜜臀 | 日本韩国欧美在线|