📄 csmacromgr.cpp
字号:
if( MacroInfo != NULL ){
if( pszFuncName != NULL ){
strcpy( pszFuncName, MacroInfo->m_pszFuncName );
char *p = pszFuncName;
while (*p){
if (*p == '('){
*p = '\0';
break;
}
*p++;
}
}
// Jun. 16, 2002 genta NULLのときは何もしない.
if( pszFuncNameJapanese != NULL ){
::LoadString( hInstance, nFuncID, pszFuncNameJapanese, 255 );
}
return pszFuncName;
}
return NULL;
}
/*!
関数名(S_xxxx)から機能番号と機能名日本語を取得.
関数名はS_で始まる場合と始まらない場合の両方に対応.
@param hInstance [in] リソース取得のためのInstance Handle
@param pszFuncName [in] 関数名
@param pszFuncNameJapanese [out] 機能名日本語.この先には256バイトのメモリが必要.
@return 成功したときは機能番号.見つからなかったときは-1.
@note
pszFuncNameJapanese の指す先がNULLの時は日本語名を格納しない.
@date 2002.06.16 genta ループ内の文字列コピーを排除
*/
int CSMacroMgr::GetFuncInfoByName( HINSTANCE hInstance, const char* pszFuncName, char* pszFuncNameJapanese )
{
int i;
int nFuncID;
// Jun. 16, 2002 genta
const char *normalizedFuncName;
// S_で始まっているか
if( pszFuncName == NULL ){
return -1;
}
if( pszFuncName[0] == 'S' && pszFuncName[1] == '_' ){
normalizedFuncName = pszFuncName + 2;
}
else {
normalizedFuncName = pszFuncName;
}
char szBuffer[1024] = "S_";
for( i = 0; m_MacroFuncInfoArr[i].m_pszFuncName != NULL; ++i ){
if( 0 == strcmp( normalizedFuncName, m_MacroFuncInfoArr[i].m_pszFuncName )){
nFuncID = m_MacroFuncInfoArr[i].m_nFuncID;
if( pszFuncNameJapanese != NULL ){
::LoadString( hInstance, nFuncID, pszFuncNameJapanese, 255 );
}
return nFuncID;
}
}
return -1;
}
/* キーマクロに記録可能な機能かどうかを調べる */
BOOL CSMacroMgr::CanFuncIsKeyMacro( int nFuncID )
{
switch( nFuncID ){
/* ファイル操作系 */
// case F_FILENEW ://新規作成
// case F_FILEOPEN ://開く
// case F_FILESAVE ://上書き保存
// case F_FILESAVEAS_DIALOG ://名前を付けて保存
// case F_FILECLOSE ://閉じて(無題) //Oct. 17, 2000 jepro 「ファイルを閉じる」というキャプションを変更
// case F_FILECLOSE_OPEN ://閉じて開く
case F_FILE_REOPEN ://開き直す //Dec. 4, 2002 genta
case F_FILE_REOPEN_SJIS ://SJISで開き直す
case F_FILE_REOPEN_JIS ://JISで開き直す
case F_FILE_REOPEN_EUC ://EUCで開き直す
case F_FILE_REOPEN_UNICODE ://Unicodeで開き直す
case F_FILE_REOPEN_UNICODEBE ://UnicodeBEで開き直す
case F_FILE_REOPEN_UTF8 ://UTF-8で開き直す
case F_FILE_REOPEN_UTF7 ://UTF-7で開き直す
// case F_PRINT ://印刷
// case F_PRINT_DIALOG ://印刷ダイアログ
// case F_PRINT_PREVIEW ://印刷プレビュー
// case F_PRINT_PAGESETUP ://印刷ページ設定 //Sept. 14, 2000 jepro 「印刷のページレイアウトの設定」から変更
// case F_OPEN_HfromtoC: ://同名のC/C++ヘッダ(ソース)を開く //Feb. 9, 2001 JEPRO 追加
// case F_OPEN_HHPP ://同名のC/C++ヘッダファイルを開く //Feb. 9, 2001 jepro「.cまたは.cppと同名の.hを開く」から変更
// case F_OPEN_CCPP ://同名のC/C++ソースファイルを開く //Feb. 9, 2001 jepro「.hと同名の.c(なければ.cpp)を開く」から変更
// case F_ACTIVATE_SQLPLUS :/* Oracle SQL*Plusをアクティブ表示 */
// case F_PLSQL_COMPILE_ON_SQLPLUS :/* Oracle SQL*Plusで実行 */ //Sept. 17, 2000 jepro 説明の「コンパイル」を「実行」に統一
/// case F_BROWSE ://ブラウズ
// case F_PROPERTY_FILE ://ファイルのプロパティ
// case F_EXITALL ://サクラエディタの全終了 //Dec. 27, 2000 JEPRO 追加
/* 編集系 */
case F_CHAR ://文字入力
case F_IME_CHAR ://全角文字入力
case F_UNDO ://元に戻す(Undo)
case F_REDO ://やり直し(Redo)
case F_DELETE ://削除
case F_DELETE_BACK ://カーソル前を削除
case F_WordDeleteToStart ://単語の左端まで削除
case F_WordDeleteToEnd ://単語の右端まで削除
case F_WordCut ://単語切り取り
case F_WordDelete ://単語削除
case F_LineCutToStart ://行頭まで切り取り(改行単位)
case F_LineCutToEnd ://行末まで切り取り(改行単位)
case F_LineDeleteToStart ://行頭まで削除(改行単位)
case F_LineDeleteToEnd ://行末まで削除(改行単位)
case F_CUT_LINE ://行切り取り(折り返し単位)
case F_DELETE_LINE ://行削除(折り返し単位)
case F_DUPLICATELINE ://行の二重化(折り返し単位)
case F_INDENT_TAB ://TABインデント
case F_UNINDENT_TAB ://逆TABインデント
case F_INDENT_SPACE ://SPACEインデント
case F_UNINDENT_SPACE ://逆SPACEインデント
case F_LTRIM :// 2001.12.03 hor
case F_RTRIM :// 2001.12.03 hor
case F_SORT_ASC :// 2001.12.06 hor
case F_SORT_DESC :// 2001.12.06 hor
case F_MERGE :// 2001.12.06 hor
/* カーソル移動系 */
case F_UP ://カーソル上移動
case F_DOWN ://カーソル下移動
case F_LEFT ://カーソル左移動
case F_RIGHT ://カーソル右移動
// case F_ROLLDOWN ://スクロールダウン
// case F_ROLLUP ://スクロールアップ
// case F_HalfPageUp ://半ページアップ //Oct. 6, 2000 JEPRO 名称をPC-AT互換機系に変更(ROLL→PAGE) //Oct. 10, 2000 JEPRO 名称変更
// case F_HalfPageDown ://半ページダウン //Oct. 6, 2000 JEPRO 名称をPC-AT互換機系に変更(ROLL→PAGE) //Oct. 10, 2000 JEPRO 名称変更
// case F_1PageUp ://1ページアップ //Oct. 10, 2000 JEPRO 従来のページアップを半ページアップと名称変更し1ページアップを追加
// case F_1PageDown ://1ページダウン //Oct. 10, 2000 JEPRO 従来のページダウンを半ページダウンと名称変更し1ページダウンを追加
case F_UP2 ://カーソル上移動(2行ごと)
case F_DOWN2 ://カーソル下移動(2行ごと)
case F_GOLINETOP ://行頭に移動(折り返し単位)
case F_GOLINEEND ://行末に移動(折り返し単位)
case F_GOFILETOP ://ファイルの先頭に移動
case F_GOFILEEND ://ファイルの最後に移動
case F_WORDLEFT ://単語の左端に移動
case F_WORDRIGHT ://単語の右端に移動
// case F_CURLINECENTER ://カーソル行をウィンドウ中央へ
case F_JUMPHIST_PREV ://移動履歴: 前へ
case F_JUMPHIST_NEXT ://移動履歴: 次へ
case F_JUMPHIST_SET ://現在位置を移動履歴に登録
/* 選択系 */ //Oct. 15, 2000 JEPRO 「カーソル移動系」が多くなったので独立化して(選択)を移動(サブメニュー化は構造上できないので)
case F_SELECTWORD ://現在位置の単語選択
case F_SELECTALL ://すべて選択
case F_BEGIN_SEL ://範囲選択開始
case F_UP_SEL ://(範囲選択)カーソル上移動
case F_DOWN_SEL ://(範囲選択)カーソル下移動
case F_LEFT_SEL ://(範囲選択)カーソル左移動
case F_RIGHT_SEL ://(範囲選択)カーソル右移動
case F_UP2_SEL ://(範囲選択)カーソル上移動(2行ごと)
case F_DOWN2_SEL ://(範囲選択)カーソル下移動(2行ごと)
case F_WORDLEFT_SEL ://(範囲選択)単語の左端に移動
case F_WORDRIGHT_SEL ://(範囲選択)単語の右端に移動
case F_GOLINETOP_SEL ://(範囲選択)行頭に移動(折り返し単位)
case F_GOLINEEND_SEL ://(範囲選択)行末に移動(折り返し単位)
// case F_ROLLDOWN_SEL ://(範囲選択)スクロールダウン
// case F_ROLLUP_SEL ://(範囲選択)スクロールアップ
// case F_HalfPageUp_Sel ://(範囲選択)半ページアップ //Oct. 6, 2000 JEPRO 名称をPC-AT互換機系に変更(ROLL→PAGE) //Oct. 10, 2000 JEPRO 名称変更
// case F_HalfPageDown_Sel ://(範囲選択)半ページダウン //Oct. 6, 2000 JEPRO 名称をPC-AT互換機系に変更(ROLL→PAGE) //Oct. 10, 2000 JEPRO 名称変更
// case F_1PageUp_Sel ://(範囲選択)1ページアップ //Oct. 10, 2000 JEPRO 従来のページアップを半ページアップと名称変更し1ページアップを追加
// case F_1PageDown_Sel ://(範囲選択)1ページダウン //Oct. 10, 2000 JEPRO 従来のページダウンを半ページダウンと名称変更し1ページダウンを追加
case F_GOFILETOP_SEL ://(範囲選択)ファイルの先頭に移動
case F_GOFILEEND_SEL ://(範囲選択)ファイルの最後に移動
/* 矩形選択系 */ //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 ://(矩形選択)単語の左端に移動
case F_WORDRIGHT_BOX ://(矩形選択)単語の右端に移動
case F_GOLINETOP_BOX ://(矩形選択)行頭に移動(折り返し単位)
case F_GOLINEEND_BOX ://(矩形選択)行末に移動(折り返し単位)
case F_HalfPageUp_Box ://(矩形選択)半ページアップ
case F_HalfPageDown_Box ://(矩形選択)半ページダウン
case F_1PageUp_Box ://(矩形選択)1ページアップ
case F_1PageDown_Box ://(矩形選択)1ページダウン
case F_GOFILETOP_BOX ://(矩形選択)ファイルの先頭に移動
case F_GOFILEEND_BOX ://(矩形選択)ファイルの最後に移動
*/
/* クリップボード系 */
case F_CUT ://切り取り(選択範囲をクリップボードにコピーして削除)
case F_COPY ://コピー(選択範囲をクリップボードにコピー)
case F_COPY_ADDCRLF ://折り返し位置に改行をつけてコピー
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -