Index: sakura_core/sakura_rc.rc =================================================================== --- sakura_core/sakura_rc.rc (リビジョン 1732) +++ sakura_core/sakura_rc.rc (作業コピー) @@ -2664,6 +2664,23 @@ STRINGTABLE DISCARDABLE BEGIN F_BEGIN_BOX "矩形範囲選択開始" + F_UP_BOX "(矩形選択)カーソル上移動" + F_DOWN_BOX "(矩形選択)カーソル下移動" + F_LEFT_BOX "(矩形選択)カーソル左移動" + F_RIGHT_BOX "(矩形選択)カーソル右移動" + F_UP2_BOX "(矩形選択)カーソル上移動(2行ごと)" + F_DOWN2_BOX "(矩形選択)カーソル下移動(2行ごと)" + F_WORDLEFT_BOX "(矩形選択)単語の左端に移動" + F_WORDRIGHT_BOX "(矩形選択)単語の右端に移動" + F_GOLOGICALLINETOP_BOX "(矩形選択)行頭に移動(改行単位)" + F_GOLAYOUTLINETOP_BOX "(矩形選択)行頭に移動(折り返し単位)" + F_GOLAYOUTLINEEND_BOX "(矩形選択)行末に移動(折り返し単位)" + F_HalfPageUp_BOX "(矩形選択)半ページアップ" + F_HalfPageDown_BOX "(矩形選択)半ページダウン" + F_1PageUp_BOX "(矩形選択)1ページアップ" + F_1PageDown_BOX "(矩形選択)1ページダウン" + F_GOFILETOP_BOX "(矩形選択)ファイルの先頭に移動" + F_GOFILEEND_BOX "(矩形選択)ファイルの最後に移動" END STRINGTABLE DISCARDABLE Index: sakura_core/CViewCommander.h =================================================================== --- sakura_core/CViewCommander.h (リビジョン 1732) +++ sakura_core/CViewCommander.h (作業コピー) @@ -165,7 +165,7 @@ /* 矩形選択系 */ // void Command_BOXSELECTALL( void ); /* 矩形ですべて選択 */ - void Command_BEGIN_BOXSELECT( void ); /* 矩形範囲選択開始 */ + void Command_BEGIN_BOXSELECT( bool bSelectingLock = false ); /* 矩形範囲選択開始 */ int Command_UP_BOX( BOOL ); /* (矩形選択)カーソル上移動 */ /* クリップボード系 */ Index: sakura_core/window/CEditWnd.cpp =================================================================== --- sakura_core/window/CEditWnd.cpp (リビジョン 1732) +++ sakura_core/window/CEditWnd.cpp (作業コピー) @@ -2089,24 +2089,24 @@ // 「矩形選択」ポップアップメニュー // hMenuPopUp = ::CreatePopupMenu(); // Jan. 29, 2002 genta m_CMenuDrawer.MyAppendMenu( hMenuPopUp, MF_BYPOSITION | MF_STRING, F_BEGIN_BOX , _T("矩形範囲選択開始(&B)") ); -//// m_CMenuDrawer.MyAppendMenu( hMenu, MF_BYPOSITION | MF_SEPARATOR, 0, NULL ); -//// m_CMenuDrawer.MyAppendMenu( hMenu, MF_BYPOSITION | MF_STRING, F_UP_BOX , _T("(矩選)カーソル上移動(&)") ); -//// m_CMenuDrawer.MyAppendMenu( hMenu, MF_BYPOSITION | MF_STRING, F_DOWN_BOX , _T("(矩選)カーソル下移動(&)") ); -//// m_CMenuDrawer.MyAppendMenu( hMenu, MF_BYPOSITION | MF_STRING, F_LEFT_BOX , _T("(矩選)カーソル左移動(&)") ); -//// m_CMenuDrawer.MyAppendMenu( hMenu, MF_BYPOSITION | MF_STRING, F_RIGHT_BOX , _T("(矩選)カーソル右移動(&)") ); -// m_CMenuDrawer.MyAppendMenu( hMenu, MF_BYPOSITION | MF_STRING, F_UP2_BOX , _T("(矩選)カーソル上移動(2行ごと) (&Q)") ); -// m_CMenuDrawer.MyAppendMenu( hMenu, MF_BYPOSITION | MF_STRING, F_DOWN2_BOX , _T("(矩選)カーソル下移動(2行ごと) (&K)") ); -// m_CMenuDrawer.MyAppendMenu( hMenu, MF_BYPOSITION | MF_STRING, F_WORDLEFT_BOX , _T("(矩選)単語の左端に移動(&L)") ); -// m_CMenuDrawer.MyAppendMenu( hMenu, MF_BYPOSITION | MF_STRING, F_WORDRIGHT_BOX , _T("(矩選)単語の右端に移動(&R)") ); -// m_CMenuDrawer.MyAppendMenu( hMenu, MF_BYPOSITION | MF_STRING, F_GOLINETOP_BOX , _T("(矩選)行頭に移動(折り返し単位) (&H)") x); -// m_CMenuDrawer.MyAppendMenu( hMenu, MF_BYPOSITION | MF_STRING, F_GOLINEEND_BOX , _T("(矩選)行末に移動(折り返し単位) (&E)") ); -// m_CMenuDrawer.MyAppendMenu( hMenu, MF_BYPOSITION | MF_SEPARATOR, 0, NULL ); -//// m_CMenuDrawer.MyAppendMenu( hMenu, MF_BYPOSITION | MF_STRING, F_HalfPageUp_Box , _T("(選択)半ページアップ(&)") ); -//// m_CMenuDrawer.MyAppendMenu( hMenu, MF_BYPOSITION | MF_STRING, F_HalfPageDown_Box, _T("(選択)半ページダウン(&)") ); -// m_CMenuDrawer.MyAppendMenu( hMenu, MF_BYPOSITION | MF_STRING, F_1PageUp_Box , _T("(矩選)1ページアップ(&U)") ); -// m_CMenuDrawer.MyAppendMenu( hMenu, MF_BYPOSITION | MF_STRING, F_1PageDown_Box , _T("(矩選)1ページダウン(&D)") ); -// m_CMenuDrawer.MyAppendMenu( hMenu, MF_BYPOSITION | MF_STRING, F_GOFILETOP_BOX , _T("(矩選)ファイルの先頭に移動(&T)") ); -// m_CMenuDrawer.MyAppendMenu( hMenu, MF_BYPOSITION | MF_STRING, F_GOFILEEND_BOX , _T("(矩選)ファイルの最後に移動(&B)") ); +//// m_CMenuDrawer.MyAppendMenu( hMenuPopUp, MF_BYPOSITION | MF_SEPARATOR, 0, NULL ); +//// m_CMenuDrawer.MyAppendMenu( hMenuPopUp, MF_BYPOSITION | MF_STRING, F_UP_BOX , _T("(矩選)カーソル上移動(&)") ); +//// m_CMenuDrawer.MyAppendMenu( hMenuPopUp, MF_BYPOSITION | MF_STRING, F_DOWN_BOX , _T("(矩選)カーソル下移動(&)") ); +//// m_CMenuDrawer.MyAppendMenu( hMenuPopUp, MF_BYPOSITION | MF_STRING, F_LEFT_BOX , _T("(矩選)カーソル左移動(&)") ); +//// m_CMenuDrawer.MyAppendMenu( hMenuPopUp, MF_BYPOSITION | MF_STRING, F_RIGHT_BOX , _T("(矩選)カーソル右移動(&)") ); +// m_CMenuDrawer.MyAppendMenu( hMenuPopUp, MF_BYPOSITION | MF_STRING, F_UP2_BOX , _T("(矩選)カーソル上移動(2行ごと) (&Q)") ); +// m_CMenuDrawer.MyAppendMenu( hMenuPopUp, MF_BYPOSITION | MF_STRING, F_DOWN2_BOX , _T("(矩選)カーソル下移動(2行ごと) (&K)") ); +// m_CMenuDrawer.MyAppendMenu( hMenuPopUp, MF_BYPOSITION | MF_STRING, F_WORDLEFT_BOX , _T("(矩選)単語の左端に移動(&L)") ); +// m_CMenuDrawer.MyAppendMenu( hMenuPopUp, MF_BYPOSITION | MF_STRING, F_WORDRIGHT_BOX , _T("(矩選)単語の右端に移動(&R)") ); +// m_CMenuDrawer.MyAppendMenu( hMenuPopUp, MF_BYPOSITION | MF_STRING, F_GOLINETOP_BOX , _T("(矩選)行頭に移動(折り返し単位) (&H)") x); +// m_CMenuDrawer.MyAppendMenu( hMenuPopUp, MF_BYPOSITION | MF_STRING, F_GOLINEEND_BOX , _T("(矩選)行末に移動(折り返し単位) (&E)") ); +// m_CMenuDrawer.MyAppendMenu( hMenuPopUp, MF_BYPOSITION | MF_SEPARATOR, 0, NULL ); +//// m_CMenuDrawer.MyAppendMenu( hMenuPopUp, MF_BYPOSITION | MF_STRING, F_HalfPageUp_Box , _T("(選択)半ページアップ(&)") ); +//// m_CMenuDrawer.MyAppendMenu( hMenuPopUp, MF_BYPOSITION | MF_STRING, F_HalfPageDown_Box, _T("(選択)半ページダウン(&)") ); +// m_CMenuDrawer.MyAppendMenu( hMenuPopUp, MF_BYPOSITION | MF_STRING, F_1PageUp_Box , _T("(矩選)1ページアップ(&U)") ); +// m_CMenuDrawer.MyAppendMenu( hMenuPopUp, MF_BYPOSITION | MF_STRING, F_1PageDown_Box , _T("(矩選)1ページダウン(&D)") ); +// m_CMenuDrawer.MyAppendMenu( hMenuPopUp, MF_BYPOSITION | MF_STRING, F_GOFILETOP_BOX , _T("(矩選)ファイルの先頭に移動(&T)") ); +// m_CMenuDrawer.MyAppendMenu( hMenuPopUp, MF_BYPOSITION | MF_STRING, F_GOFILEEND_BOX , _T("(矩選)ファイルの最後に移動(&B)") ); m_CMenuDrawer.MyAppendMenu( hMenu, MF_BYPOSITION | MF_STRING | MF_POPUP, (UINT)hMenuPopUp , _T("選択(&S)") ); Index: sakura_core/CViewCommander.cpp =================================================================== --- sakura_core/CViewCommander.cpp (リビジョン 1732) +++ sakura_core/CViewCommander.cpp (作業コピー) @@ -389,23 +389,25 @@ /* 矩形選択系 */ // case F_BOXSELALL: Command_BOXSELECTALL();break; //矩形ですべて選択 - case F_BEGIN_BOX: Command_BEGIN_BOXSELECT();break; /* 矩形範囲選択開始 */ -// case F_UP_BOX: Command_UP_BOX( bRepeat ); break; //(矩形選択)カーソル上移動 -// case F_DOWN_BOX: Command_DOWN( TRUE, bRepeat ); break; //(矩形選択)カーソル下移動 -// case F_LEFT_BOX: Command_LEFT( TRUE, bRepeat ); break; //(矩形選択)カーソル左移動 -// case F_RIGHT_BOX: Command_RIGHT( TRUE, FALSE, bRepeat ); break;//(矩形選択)カーソル右移動 -// case F_UP2_BOX: Command_UP2( TRUE ); break; //(矩形選択)カーソル上移動(2行ごと) -// case F_DOWN2_BOX: Command_DOWN2( TRUE );break; //(矩形選択)カーソル下移動(2行ごと) -// case F_WORDLEFT_BOX: Command_WORDLEFT( TRUE );break; //(矩形選択)単語の左端に移動 -// case F_WORDRIGHT_BOX: Command_WORDRIGHT( TRUE );break; //(矩形選択)単語の右端に移動 -// case F_GOLINETOP_BOX: Command_GOLINETOP( TRUE, FALSE );break; //(矩形選択)行頭に移動(折り返し単位) -// case F_GOLINEEND_BOX: Command_GOLINEEND( TRUE, FALSE );break; //(矩形選択)行末に移動(折り返し単位) -// case F_HalfPageUp_Box: Command_HalfPageUp( TRUE ); break; //(矩形選択)半ページアップ -// case F_HalfPageDown_Box:Command_HalfPageDown( TRUE ); break; //(矩形選択)半ページダウン -// case F_1PageUp_Box: Command_1PageUp( TRUE ); break; //(矩形選択)1ページアップ -// case F_1PageDown_Box: Command_1PageDown( TRUE ); break; //(矩形選択)1ページダウン -// case F_GOFILETOP_Box: Command_GOFILETOP( TRUE );break; //(矩形選択)ファイルの先頭に移動 -// case F_GOFILEEND_Box: Command_GOFILEEND( TRUE );break; //(矩形選択)ファイルの最後に移動 + case F_BEGIN_BOX: Command_BEGIN_BOXSELECT( true );break; /* 矩形範囲選択開始 */ + case F_UP_BOX: if( ! this->m_pCommanderView->GetSelectionInfo().IsBoxSelecting() ) { this->Command_BEGIN_BOXSELECT( false ); } this->Command_UP( true, bRepeat ); break; //(矩形選択)カーソル上移動 + case F_DOWN_BOX: if( ! this->m_pCommanderView->GetSelectionInfo().IsBoxSelecting() ) { this->Command_BEGIN_BOXSELECT( false ); } this->Command_DOWN( true, bRepeat ); break; //(矩形選択)カーソル下移動 + case F_LEFT_BOX: if( ! this->m_pCommanderView->GetSelectionInfo().IsBoxSelecting() ) { this->Command_BEGIN_BOXSELECT( false ); } this->Command_LEFT( true, bRepeat ); break; //(矩形選択)カーソル左移動 + case F_RIGHT_BOX: if( ! this->m_pCommanderView->GetSelectionInfo().IsBoxSelecting() ) { this->Command_BEGIN_BOXSELECT( false ); } this->Command_RIGHT( true, false, bRepeat ); break; //(矩形選択)カーソル右移動 + case F_UP2_BOX: if( ! this->m_pCommanderView->GetSelectionInfo().IsBoxSelecting() ) { this->Command_BEGIN_BOXSELECT( false ); } this->Command_UP2( true ); break; //(矩形選択)カーソル上移動(2行ごと) + case F_DOWN2_BOX: if( ! this->m_pCommanderView->GetSelectionInfo().IsBoxSelecting() ) { this->Command_BEGIN_BOXSELECT( false ); } this->Command_DOWN2( true );break; //(矩形選択)カーソル下移動(2行ごと) + case F_WORDLEFT_BOX: if( ! this->m_pCommanderView->GetSelectionInfo().IsBoxSelecting() ) { this->Command_BEGIN_BOXSELECT( false ); } this->Command_WORDLEFT( true );break; //(矩形選択)単語の左端に移動 + case F_WORDRIGHT_BOX: if( ! this->m_pCommanderView->GetSelectionInfo().IsBoxSelecting() ) { this->Command_BEGIN_BOXSELECT( false ); } this->Command_WORDRIGHT( true );break; //(矩形選択)単語の右端に移動 + case F_GOLOGICALLINETOP_BOX:if( ! this->m_pCommanderView->GetSelectionInfo().IsBoxSelecting() ) { this->Command_BEGIN_BOXSELECT( false ); } this->Command_GOLINETOP( true, 8 );break; //(矩形選択)行頭に移動(改行単位) +// case F_GOLOGICALLINEEND_BOX:if( ! this->m_pCommanderView->GetSelectionInfo().IsBoxSelecting() ) { this->Command_BEGIN_BOXSELECT( false ); } this->Command_GOLINEEND( true, false );break; //(矩形選択)行末に移動(改行単位) + case F_GOLAYOUTLINETOP_BOX: if( ! this->m_pCommanderView->GetSelectionInfo().IsBoxSelecting() ) { this->Command_BEGIN_BOXSELECT( false ); } this->Command_GOLINETOP( true, 1 );break; //(矩形選択)行頭に移動(折り返し単位) + case F_GOLAYOUTLINEEND_BOX: if( ! this->m_pCommanderView->GetSelectionInfo().IsBoxSelecting() ) { this->Command_BEGIN_BOXSELECT( false ); } this->Command_GOLINEEND( true, false );break; //(矩形選択)行末に移動(折り返し単位) + case F_HalfPageUp_BOX: if( ! this->m_pCommanderView->GetSelectionInfo().IsBoxSelecting() ) { this->Command_BEGIN_BOXSELECT( false ); } this->Command_HalfPageUp( true ); break; //(矩形選択)半ページアップ + case F_HalfPageDown_BOX:if( ! this->m_pCommanderView->GetSelectionInfo().IsBoxSelecting() ) { this->Command_BEGIN_BOXSELECT( false ); } this->Command_HalfPageDown( true ); break; //(矩形選択)半ページダウン + case F_1PageUp_BOX: if( ! this->m_pCommanderView->GetSelectionInfo().IsBoxSelecting() ) { this->Command_BEGIN_BOXSELECT( false ); } this->Command_1PageUp( true ); break; //(矩形選択)1ページアップ + case F_1PageDown_BOX: if( ! this->m_pCommanderView->GetSelectionInfo().IsBoxSelecting() ) { this->Command_BEGIN_BOXSELECT( false ); } this->Command_1PageDown( true ); break; //(矩形選択)1ページダウン + case F_GOFILETOP_BOX: if( ! this->m_pCommanderView->GetSelectionInfo().IsBoxSelecting() ) { this->Command_BEGIN_BOXSELECT( false ); } this->Command_GOFILETOP( true );break; //(矩形選択)ファイルの先頭に移動 + case F_GOFILEEND_BOX: if( ! this->m_pCommanderView->GetSelectionInfo().IsBoxSelecting() ) { this->Command_BEGIN_BOXSELECT( false ); } this->Command_GOFILEEND( true );break; //(矩形選択)ファイルの最後に移動 /* クリップボード系 */ case F_CUT: Command_CUT();break; //切り取り(選択範囲をクリップボードにコピーして削除) @@ -814,7 +816,9 @@ }else{ if( m_pCommanderView->GetSelectionInfo().IsTextSelected() ){ /* テキストが選択されているか */ /* 矩形範囲選択中か */ - if( m_pCommanderView->GetSelectionInfo().IsBoxSelecting() ){ + if( m_pCommanderView->GetSelectionInfo().IsBoxSelecting() + && m_pCommanderView->GetSelectionInfo().m_bSelectingLock + ){ /* 2点を対角とする矩形を求める */ CLayoutRange rcSel; TwoPointToRange( @@ -927,7 +931,9 @@ else{ if( m_pCommanderView->GetSelectionInfo().IsTextSelected() ){ /* テキストが選択されているか */ /* 矩形範囲選択中か */ - if( m_pCommanderView->GetSelectionInfo().IsBoxSelecting() ){ + if( m_pCommanderView->GetSelectionInfo().IsBoxSelecting() + && m_pCommanderView->GetSelectionInfo().m_bSelectingLock + ){ /* 2点を対角とする矩形を求める */ CLayoutRange rcSel; TwoPointToRange( @@ -3401,7 +3407,7 @@ /* 矩形範囲選択開始 */ -void CViewCommander::Command_BEGIN_BOXSELECT( void ) +void CViewCommander::Command_BEGIN_BOXSELECT( bool bSelectingLock ) { if( !GetDllShareData().m_Common.m_sView.m_bFontIs_FIXED_PITCH ){ /* 現在のフォントは固定幅フォントである */ return; @@ -3416,14 +3422,13 @@ /* 現在のカーソル位置から選択を開始する */ m_pCommanderView->GetSelectionInfo().BeginSelectArea(); - m_pCommanderView->GetSelectionInfo().m_bSelectingLock = true; /* 選択状態のロック */ + m_pCommanderView->GetSelectionInfo().m_bSelectingLock = bSelectingLock; /* 選択状態のロック */ m_pCommanderView->GetSelectionInfo().SetBoxSelect(true); /* 矩形範囲選択中 */ return; } - /* 新規作成 */ void CViewCommander::Command_FILENEW( void ) { Index: sakura_core/Funccode_define.h =================================================================== --- sakura_core/Funccode_define.h (リビジョン 1732) +++ sakura_core/Funccode_define.h (作業コピー) @@ -123,6 +123,23 @@ #define F_GONEXTPARAGRAPH_SEL 30482 #define F_GOPREVPARAGRAPH_SEL 30483 #define F_BEGIN_BOX 30510 +#define F_UP_BOX 30511 +#define F_DOWN_BOX 30512 +#define F_LEFT_BOX 30513 +#define F_RIGHT_BOX 30514 +#define F_UP2_BOX 30515 +#define F_DOWN2_BOX 30516 +#define F_WORDLEFT_BOX 30520 +#define F_WORDRIGHT_BOX 30521 +#define F_GOLOGICALLINETOP_BOX 30530 +#define F_GOLAYOUTLINETOP_BOX 30532 +#define F_GOLAYOUTLINEEND_BOX 30533 +#define F_HalfPageUp_BOX 30540 +#define F_HalfPageDown_BOX 30541 +#define F_1PageUp_BOX 30542 +#define F_1PageDown_BOX 30543 +#define F_GOFILETOP_BOX 30550 +#define F_GOFILEEND_BOX 30551 #define F_CUT 30601 #define F_COPY 30602 #define F_COPY_ADDCRLF 30608 Index: sakura_core/CMenuDrawer.cpp =================================================================== --- sakura_core/CMenuDrawer.cpp (リビジョン 1732) +++ sakura_core/CMenuDrawer.cpp (作業コピー) @@ -256,27 +256,27 @@ /* 128 */ F_DISABLE /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //ダミー /* 矩形選択系(5段目32個: 129-160) */ //(注. 矩形選択系のほとんどは未実装) -/* 129 */ F_DISABLE /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //ダミー -/* 130 */ F_DISABLE/*F_BOXSELALL*/ /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //矩形ですべて選択 -/* 131 */ F_BEGIN_BOX /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //矩形範囲選択開始 //Sept. 29, 2000 JEPRO 追加 -/* 132 */ F_DISABLE/*F_UP_BOX*/ /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)カーソル上移動 -/* 133 */ F_DISABLE/*F_DOWN_BOX*/ /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)カーソル下移動 -/* 134 */ F_DISABLE/*F_LEFT_BOX*/ /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)カーソル左移動 -/* 135 */ F_DISABLE/*F_RIGHT_BOX*/ /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)カーソル右移動 -/* 136 */ F_DISABLE/*F_UP2_BOX*/ /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)カーソル上移動(2行ごと) -/* 137 */ F_DISABLE/*F_DOWN2_BOX*/ /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)カーソル下移動(2行ごと) -/* 138 */ F_DISABLE/*F_WORDLEFT_BOX*/ /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)単語の左端に移動 -/* 139 */ F_DISABLE/*F_WORDRIGHT_BOX*/ /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)単語の右端に移動 -/* 140 */ F_DISABLE/*F_GOLINETOP_BOX*/ /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)行頭に移動(折り返し単位) -/* 141 */ F_DISABLE/*F_GOLINEEND_BOX*/ /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)行末に移動(折り返し単位) -/* 142 */ F_DISABLE/*F_HalfPageUp_Box*/ /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)半ページアップ -/* 143 */ F_DISABLE/*F_HalfPageDown_Box*/ /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)半ページダウン -/* 144 */ F_DISABLE/*F_1PageUp_Box*/ /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)1ページアップ -/* 145 */ F_DISABLE/*F_1PageDown_Box*/ /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)1ページダウン -/* 146 */ F_DISABLE/*F_DISABLE/*F_DISPLAYTOP_BOX*//* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)画面の先頭に移動(未実装) -/* 147 */ F_DISABLE/*F_DISPLAYEND_BOX*/ /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)画面の最後に移動(未実装) -/* 148 */ F_DISABLE/*F_GOFILETOP_BOX*/ /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)ファイルの先頭に移動 -/* 149 */ F_DISABLE/*F_GOFILEEND_BOX*/ /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)ファイルの最後に移動 +/* 129 */ F_DISABLE /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //ダミー +/* 130 */ F_DISABLE/*F_BOXSELALL*/ /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //矩形ですべて選択 +/* 131 */ F_BEGIN_BOX /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //矩形範囲選択開始 //Sept. 29, 2000 JEPRO 追加 +/* 132 */ F_UP_BOX /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)カーソル上移動 +/* 133 */ F_DOWN_BOX /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)カーソル下移動 +/* 134 */ F_LEFT_BOX /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)カーソル左移動 +/* 135 */ F_RIGHT_BOX /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)カーソル右移動 +/* 136 */ F_UP2_BOX /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)カーソル上移動(2行ごと) +/* 137 */ F_DOWN2_BOX /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)カーソル下移動(2行ごと) +/* 138 */ F_WORDLEFT_BOX /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)単語の左端に移動 +/* 139 */ F_WORDRIGHT_BOX /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)単語の右端に移動 +/* 140 */ F_GOLAYOUTLINETOP_BOX /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)行頭に移動(折り返し単位) +/* 141 */ F_GOLAYOUTLINEEND_BOX /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)行末に移動(折り返し単位) +/* 142 */ F_HalfPageUp_BOX /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)半ページアップ +/* 143 */ F_HalfPageDown_BOX /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)半ページダウン +/* 144 */ F_1PageUp_BOX /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)1ページアップ +/* 145 */ F_1PageDown_BOX /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)1ページダウン +/* 146 */ F_DISABLE/*F_DISPLAYTOP_BOX*/ /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)画面の先頭に移動(未実装) +/* 147 */ F_DISABLE/*F_DISPLAYEND_BOX*/ /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)画面の最後に移動(未実装) +/* 148 */ F_GOFILETOP_BOX /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)ファイルの先頭に移動 +/* 149 */ F_GOFILEEND_BOX /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //(矩形選択)ファイルの最後に移動 /* 150 */ F_DISABLE /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //ダミー /* 151 */ F_DISABLE /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //ダミー /* 152 */ F_DISABLE /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //ダミー Index: sakura_core/Funccode_enum.h =================================================================== --- sakura_core/Funccode_enum.h (リビジョン 1732) +++ sakura_core/Funccode_enum.h (作業コピー) @@ -124,6 +124,23 @@ F_GONEXTPARAGRAPH_SEL = 30482, F_GOPREVPARAGRAPH_SEL = 30483, F_BEGIN_BOX = 30510, + F_UP_BOX = 30511, + F_DOWN_BOX = 30512, + F_LEFT_BOX = 30513, + F_RIGHT_BOX = 30514, + F_UP2_BOX = 30515, + F_DOWN2_BOX = 30516, + F_WORDLEFT_BOX = 30520, + F_WORDRIGHT_BOX = 30521, + F_GOLOGICALLINETOP_BOX = 30530, + F_GOLAYOUTLINETOP_BOX = 30532, + F_GOLAYOUTLINEEND_BOX = 30533, + F_HalfPageUp_BOX = 30540, + F_HalfPageDown_BOX = 30541, + F_1PageUp_BOX = 30542, + F_1PageDown_BOX = 30543, + F_GOFILETOP_BOX = 30550, + F_GOFILEEND_BOX = 30551, F_CUT = 30601, F_COPY = 30602, F_COPY_ADDCRLF = 30608, Index: sakura_core/Funccode_x.hsrc =================================================================== --- sakura_core/Funccode_x.hsrc (リビジョン 1732) +++ sakura_core/Funccode_x.hsrc (作業コピー) @@ -182,26 +182,26 @@ //F_BOXSELALL = 30500, //矩形ですべて選択 F_BEGIN_BOX = 30510, //矩形範囲選択開始 なし //Oct. 17, 2000 JEPRO 以下に矩形選択のコマンド名のみ準備しておいた -//F_UP_BOX = 30511, //(矩形選択)カーソル上移動 -//F_DOWN_BOX = 30512, //(矩形選択)カーソル下移動 -//F_LEFT_BOX = 30513, //(矩形選択)カーソル左移動 -//F_RIGHT_BOX = 30514, //(矩形選択)カーソル右移動 -//F_UP2_BOX = 30515, //(矩形選択)カーソル上移動(2行ごと) -//F_DOWN2_BOX = 30516, //(矩形選択)カーソル下移動(2行ごと) -//F_WORDLEFT_BOX = 30520, //(矩形選択)単語の左端に移動 -//F_WORDRIGHT_BOX = 30521, //(矩形選択)単語の右端に移動 -////F_GOLINETOP_BOX = 30530, //(矩形選択)行頭に移動(改行単位) -////F_GOLINEEND_BOX = 30531, //(矩形選択)行末に移動(改行単位) -//F_GOLINETOP_BOX = 30532, //(矩形選択)行頭に移動(折り返し単位) -//F_GOLINEEND_BOX = 30533, //(矩形選択)行末に移動(折り返し単位) -//F_HalfPageUp_Box = 30540, //(矩形選択)半ページアップ -//F_HalfPageDown_Box = 30541, //(矩形選択)半ページダウン -//F_1PageUp_Box = 30542, //(矩形選択)1ページアップ -//F_1PageDown_Box = 30543, //(矩形選択)1ページダウン -////F_DISPLAYTOP_BOX = 30444, //(矩形選択)画面の先頭に移動(未実装) -////F_DISPLAYEND_BOX = 30445, //(矩形選択)画面の最後に移動(未実装) -//F_GOFILETOP_BOX = 30550, //(矩形選択)ファイルの先頭に移動 -//F_GOFILEEND_BOX = 30551, //(矩形選択)ファイルの最後に移動 +F_UP_BOX = 30511, //(矩形選択)カーソル上移動 +F_DOWN_BOX = 30512, //(矩形選択)カーソル下移動 +F_LEFT_BOX = 30513, //(矩形選択)カーソル左移動 +F_RIGHT_BOX = 30514, //(矩形選択)カーソル右移動 +F_UP2_BOX = 30515, //(矩形選択)カーソル上移動(2行ごと) +F_DOWN2_BOX = 30516, //(矩形選択)カーソル下移動(2行ごと) +F_WORDLEFT_BOX = 30520, //(矩形選択)単語の左端に移動 +F_WORDRIGHT_BOX = 30521, //(矩形選択)単語の右端に移動 +F_GOLOGICALLINETOP_BOX = 30530, //(矩形選択)行頭に移動(改行単位) +//F_GOLOGICALLINEEND_BOX = 30531, //(矩形選択)行末に移動(改行単位) +F_GOLAYOUTLINETOP_BOX = 30532, //(矩形選択)行頭に移動(折り返し単位) +F_GOLAYOUTLINEEND_BOX = 30533, //(矩形選択)行末に移動(折り返し単位) +F_HalfPageUp_BOX = 30540, //(矩形選択)半ページアップ +F_HalfPageDown_BOX = 30541, //(矩形選択)半ページダウン +F_1PageUp_BOX = 30542, //(矩形選択)1ページアップ +F_1PageDown_BOX = 30543, //(矩形選択)1ページダウン +//F_DISPLAYTOP_BOX = 30444, //(矩形選択)画面の先頭に移動(未実装) +//F_DISPLAYEND_BOX = 30445, //(矩形選択)画面の最後に移動(未実装) +F_GOFILETOP_BOX = 30550, //(矩形選択)ファイルの先頭に移動 +F_GOFILEEND_BOX = 30551, //(矩形選択)ファイルの最後に移動 // クリップボード系 Index: sakura_core/func/Funccode.cpp =================================================================== --- sakura_core/func/Funccode.cpp (リビジョン 1732) +++ sakura_core/func/Funccode.cpp (作業コピー) @@ -200,8 +200,7 @@ const EFunctionCode pnFuncList_Box[] = { // F_BOXSELALL , //矩形ですべて選択 F_BEGIN_BOX , //矩形範囲選択開始 -/* - F_UP_BOX //(矩形選択)カーソル上移動 + F_UP_BOX , //(矩形選択)カーソル上移動 F_DOWN_BOX , //(矩形選択)カーソル下移動 F_LEFT_BOX , //(矩形選択)カーソル左移動 F_RIGHT_BOX , //(矩形選択)カーソル右移動 @@ -209,15 +208,15 @@ F_DOWN2_BOX , //(矩形選択)カーソル下移動(2行ごと) F_WORDLEFT_BOX , //(矩形選択)単語の左端に移動 F_WORDRIGHT_BOX , //(矩形選択)単語の右端に移動 - F_GOLINETOP_BOX , //(矩形選択)行頭に移動(折り返し単位) - F_GOLINEEND_BOX , //(矩形選択)行末に移動(折り返し単位) - F_HalfPageUp_Box , //(矩形選択)半ページアップ - F_HalfPageDown_Box , //(矩形選択)半ページダウン - F_1PageUp_Box , //(矩形選択)1ページアップ - F_1PageDown_Box , //(矩形選択)1ページダウン + F_GOLOGICALLINETOP_BOX , //(矩形選択)行頭に移動(改行単位) + F_GOLAYOUTLINETOP_BOX , //(矩形選択)行頭に移動(折り返し単位) + F_GOLAYOUTLINEEND_BOX , //(矩形選択)行末に移動(折り返し単位) + F_HalfPageUp_BOX , //(矩形選択)半ページアップ + F_HalfPageDown_BOX , //(矩形選択)半ページダウン + F_1PageUp_BOX , //(矩形選択)1ページアップ + F_1PageDown_BOX , //(矩形選択)1ページダウン F_GOFILETOP_BOX , //(矩形選択)ファイルの先頭に移動 F_GOFILEEND_BOX //(矩形選択)ファイルの最後に移動 -*/ }; const int nFincList_Box_Num = _countof( pnFuncList_Box ); @@ -1008,6 +1007,23 @@ return TRUE; case F_BEGIN_BOX: //矩形範囲選択開始 + case F_UP_BOX: + case F_DOWN_BOX: + case F_LEFT_BOX: + case F_RIGHT_BOX: + case F_UP2_BOX: + case F_DOWN2_BOX: + case F_WORDLEFT_BOX: + case F_WORDRIGHT_BOX: + case F_GOLOGICALLINETOP_BOX: + case F_GOLAYOUTLINETOP_BOX: + case F_GOLAYOUTLINEEND_BOX: + case F_HalfPageUp_BOX: + case F_HalfPageDown_BOX: + case F_1PageUp_BOX: + case F_1PageDown_BOX: + case F_GOFILETOP_BOX: + case F_GOFILEEND_BOX: if( pShareData->m_Common.m_sView.m_bFontIs_FIXED_PITCH ){ /* 現在のフォントは固定幅フォントである */ return TRUE; }else{ Index: sakura_core/func/CKeyBind.cpp =================================================================== --- sakura_core/func/CKeyBind.cpp (リビジョン 1732) +++ sakura_core/func/CKeyBind.cpp (作業コピー) @@ -712,14 +712,14 @@ { VK_BACK, _T("BkSp"), F_DELETE_BACK, F_0, F_WordDeleteToStart, F_0, F_0, F_0, F_0, F_0 }, { VK_INSERT,_T("Ins"), F_CHGMOD_INS, F_PASTE, F_COPY, F_0, F_0, F_0, F_0, F_0 }, { VK_DELETE,_T("Del"), F_DELETE, F_CUT, F_WordDeleteToEnd, F_0, F_0, F_0, F_0, F_0 }, - { VK_HOME, _T("Home"), F_GOLINETOP, F_GOLINETOP_SEL, F_GOFILETOP, F_GOFILETOP_SEL, F_0, F_0, F_0, F_0 }, - { VK_END, _T("End(Help)"), F_GOLINEEND, F_GOLINEEND_SEL, F_GOFILEEND, F_GOFILEEND_SEL, F_0, F_0, F_0, F_0 }, - { VK_LEFT, _T("←"), F_LEFT, F_LEFT_SEL, F_WORDLEFT, F_WORDLEFT_SEL, F_BEGIN_BOX, F_0, F_0, F_0 }, - { VK_UP, _T("↑"), F_UP, F_UP_SEL, F_WndScrollDown, F_UP2_SEL, F_BEGIN_BOX, F_0, F_0, F_MAXIMIZE_V }, - { VK_RIGHT, _T("→"), F_RIGHT, F_RIGHT_SEL, F_WORDRIGHT, F_WORDRIGHT_SEL, F_BEGIN_BOX, F_0, F_0, F_MAXIMIZE_H }, - { VK_DOWN, _T("↓"), F_DOWN, F_DOWN_SEL, F_WndScrollUp, F_DOWN2_SEL, F_BEGIN_BOX, F_0, F_MENU_RBUTTON, F_MINIMIZE_ALL }, - { VK_NEXT, _T("PgDn(RollUp)"), F_1PageDown, F_1PageDown_Sel, F_HalfPageDown, F_HalfPageDown_Sel, F_0, F_0, F_0, F_0 }, - { VK_PRIOR, _T("PgUp(RollDn)"), F_1PageUp, F_1PageUp_Sel, F_HalfPageUp, F_HalfPageUp_Sel, F_0, F_0, F_0, F_0 }, + { VK_HOME, _T("Home"), F_GOLINETOP, F_GOLINETOP_SEL, F_GOFILETOP, F_GOFILETOP_SEL, F_GOLAYOUTLINETOP_BOX, F_0, F_GOFILETOP_BOX, F_0 }, + { VK_END, _T("End(Help)"), F_GOLINEEND, F_GOLINEEND_SEL, F_GOFILEEND, F_GOFILEEND_SEL, F_GOLAYOUTLINEEND_BOX, F_0, F_GOFILEEND_BOX, F_0 }, + { VK_LEFT, _T("←"), F_LEFT, F_LEFT_SEL, F_WORDLEFT, F_WORDLEFT_SEL, F_LEFT_BOX, F_0, F_WORDLEFT_BOX, F_0 }, + { VK_UP, _T("↑"), F_UP, F_UP_SEL, F_WndScrollDown, F_UP2_SEL, F_UP_BOX, F_0, F_UP2_BOX, F_MAXIMIZE_V }, + { VK_RIGHT, _T("→"), F_RIGHT, F_RIGHT_SEL, F_WORDRIGHT, F_WORDRIGHT_SEL, F_RIGHT_BOX, F_0, F_WORDRIGHT_BOX, F_MAXIMIZE_H }, + { VK_DOWN, _T("↓"), F_DOWN, F_DOWN_SEL, F_WndScrollUp, F_DOWN2_SEL, F_DOWN_BOX, F_0, F_DOWN2_BOX, F_MINIMIZE_ALL }, + { VK_NEXT, _T("PgDn(RollUp)"), F_1PageDown, F_1PageDown_Sel, F_HalfPageDown, F_HalfPageDown_Sel, F_1PageDown_BOX, F_0, F_HalfPageDown_BOX, F_0 }, + { VK_PRIOR, _T("PgUp(RollDn)"), F_1PageUp, F_1PageUp_Sel, F_HalfPageUp, F_HalfPageUp_Sel, F_1PageUp_BOX, F_0, F_HalfPageUp_BOX, F_0 }, { VK_SPACE, _T("Space"), F_INDENT_SPACE, F_UNINDENT_SPACE, F_HOKAN, F_0, F_0, F_0, F_0, F_0 }, /* 数字 */ Index: sakura_core/macro/CSMacroMgr.cpp =================================================================== --- sakura_core/macro/CSMacroMgr.cpp (リビジョン 1732) +++ sakura_core/macro/CSMacroMgr.cpp (作業コピー) @@ -187,6 +187,10 @@ /* 矩形選択系 */ //Oct. 17, 2000 JEPRO (矩形選択)が新設され次第ここにおく {F_BEGIN_BOX, LTEXT("BeginBoxSelect"), {VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_EMPTY, NULL}, //矩形範囲選択開始 + {F_UP_BOX, LTEXT("Up_BoxSel"), {VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_EMPTY, NULL}, //矩形範囲選択開始 + {F_DOWN_BOX, LTEXT("Down_BoxSel"), {VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_EMPTY, NULL}, //矩形範囲選択開始 + {F_LEFT_BOX, LTEXT("Left_BoxSel"), {VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_EMPTY, NULL}, //矩形範囲選択開始 + {F_RIGHT_BOX, LTEXT("Right_BoxSel"), {VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_EMPTY, NULL}, //矩形範囲選択開始 /* クリップボード系 */ {F_CUT, LTEXT("Cut"), {VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_EMPTY, NULL}, //切り取り(選択範囲をクリップボードにコピーして削除) @@ -888,11 +892,11 @@ /* 矩形選択系 */ //Oct. 17, 2000 JEPRO (矩形選択)が新設され次第ここにおく // case F_BOXSELALL //矩形ですべて選択 case F_BEGIN_BOX ://矩形範囲選択開始 -/* case F_UP_BOX ://(矩形選択)カーソル上移動 case F_DOWN_BOX ://(矩形選択)カーソル下移動 case F_LEFT_BOX ://(矩形選択)カーソル左移動 case F_RIGHT_BOX ://(矩形選択)カーソル右移動 +/* case F_UP2_BOX ://(矩形選択)カーソル上移動(2行ごと) case F_DOWN2_BOX ://(矩形選択)カーソル下移動(2行ごと) case F_WORDLEFT_BOX ://(矩形選択)単語の左端に移動