📄 cpropcomedit.cpp
字号:
// $Id: CPropComEdit.cpp,v 1.12 2004/08/18 14:03:45 genta Exp $
/*! @file
@brief 共通設定ダイアログボックス、「編集」ページ
@author Norio Nakatani
$Revision: 1.12 $
*/
/*
Copyright (C) 1998-2001, Norio Nakatani
Copyright (C) 2001, MIK, jepro
This source code is designed for sakura editor.
Please contact the copyright holders to use this code for other purpose.
*/
#include "CPropCommon.h"
#include "debug.h" // 2002/2/10 aroka
//@@@ 2001.02.04 Start by MIK: Popup Help
#if 1 //@@@ 2002.01.03 add MIK
#include "sakura.hh"
static const DWORD p_helpids[] = { //10210
IDC_CHECK_ADDCRLFWHENCOPY, HIDC_CHECK_ADDCRLFWHENCOPY, //折り返し行に改行を付けてコピー
IDC_CHECK_COPYnDISABLESELECTEDAREA, HIDC_CHECK_COPYnDISABLESELECTEDAREA, //コピーしたら選択解除
IDC_CHECK_DRAGDROP, HIDC_CHECK_DRAGDROP, //Drag&Drop編集する
IDC_CHECK_DROPSOURCE, HIDC_CHECK_DROPSOURCE, //ドロップ元にする
IDC_CHECK_bNotOverWriteCRLF, HIDC_CHECK_bNotOverWriteCRLF, //上書きモード
// IDC_STATIC, -1,
0, 0
};
#else
static const DWORD p_helpids[] = { //10210
IDC_CHECK_ADDCRLFWHENCOPY, 10210, //折り返し行に改行を付けてコピー
IDC_CHECK_COPYnDISABLESELECTEDAREA, 10211, //コピーしたら選択解除
IDC_CHECK_DRAGDROP, 10212, //Drag&Drop編集する
IDC_CHECK_DROPSOURCE, 10213, //ドロップ元にする
IDC_CHECK_bNotOverWriteCRLF, 10214, //上書きモード
// IDC_STATIC, -1,
0, 0
};
#endif
//@@@ 2001.02.04 End
// From Here Jun. 2, 2001 genta
/*!
@param hwndDlg ダイアログボックスのWindow Handle
@param uMsg メッセージ
@param wParam パラメータ1
@param lParam パラメータ2
*/
INT_PTR CALLBACK CPropCommon::DlgProc_PROP_EDIT(
HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
return DlgProc( &CPropCommon::DispatchEvent_PROP_EDIT, hwndDlg, uMsg, wParam, lParam );
}
// To Here Jun. 2, 2001 genta
/* メッセージ処理 */
INT_PTR CPropCommon::DispatchEvent_PROP_EDIT(
HWND hwndDlg, // handle to dialog box
UINT uMsg, // message
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
)
{
WORD wNotifyCode;
WORD wID;
HWND hwndCtl;
NMHDR* pNMHDR;
NM_UPDOWN* pMNUD;
int idCtrl;
// int nVal;
// LPDRAWITEMSTRUCT pDis;
switch( uMsg ){
case WM_INITDIALOG:
/* ダイアログデータの設定 p1 */
SetData_PROP_EDIT( hwndDlg );
// Modified by KEITA for WIN64 2003.9.6
::SetWindowLongPtr( hwndDlg, DWLP_USER, lParam );
/* ユーザーがエディット コントロールに入力できるテキストの長さを制限する */
return TRUE;
case WM_COMMAND:
wNotifyCode = HIWORD(wParam); /* 通知コード */
wID = LOWORD(wParam); /* 項目ID? コントロールID? またはアクセラレータID */
hwndCtl = (HWND) lParam; /* コントロールのハンドル */
switch( wNotifyCode ){
/* ボタン/チェックボックスがクリックされた */
case BN_CLICKED:
switch( wID ){
case IDC_CHECK_DRAGDROP: /* タスクトレイを使う */
if( ::IsDlgButtonChecked( hwndDlg, IDC_CHECK_DRAGDROP ) ){
// From Here Sept. 9, 2000 JEPRO
// 前のチェック状態が残るように次の行をコメントアウトに変更
// ::CheckDlgButton( hwndDlg, IDC_CHECK_DROPSOURCE, TRUE ); /* DropSource */
::EnableWindow( ::GetDlgItem( hwndDlg, IDC_CHECK_DROPSOURCE ), TRUE );
// To Here Sept. 9, 2000
}else{
// From Here Sept. 9, 2000 JEPRO
// 前のチェック状態が残るように次の行をコメントアウトに変更
// ::CheckDlgButton( hwndDlg, IDC_CHECK_DROPSOURCE, FALSE ); /* DropSource */
::EnableWindow( ::GetDlgItem( hwndDlg, IDC_CHECK_DROPSOURCE ), FALSE );
// To Here Sept. 9, 2000
}
return TRUE;
}
break;
}
break;
case WM_NOTIFY:
idCtrl = (int)wParam;
pNMHDR = (NMHDR*)lParam;
pMNUD = (NM_UPDOWN*)lParam;
// switch( idCtrl ){
// default:
switch( pNMHDR->code ){
case PSN_HELP:
OnHelp( hwndDlg, IDD_PROP_EDIT );
return TRUE;
case PSN_KILLACTIVE:
#ifdef _DEBUG
MYTRACE( "p1 PSN_KILLACTIVE\n" );
#endif
/* ダイアログデータの取得 p1 */
GetData_PROP_EDIT( hwndDlg );
return TRUE;
//@@@ 2002.01.03 YAZAKI 最後に表示していたシートを正しく覚えていないバグ修正
case PSN_SETACTIVE:
m_nPageNum = ID_PAGENUM_EDIT; //Oct. 25, 2000 JEPRO ZENPAN1→ZENPAN に変更(参照しているのはCPropCommon.cppのみの1箇所)
return TRUE;
}
// break; /* default */
// }
break; /* WM_NOTIFY */
//@@@ 2001.02.04 Start by MIK: Popup Help
case WM_HELP:
{
HELPINFO *p = (HELPINFO *)lParam;
::WinHelp( (HWND)p->hItemHandle, m_szHelpFile, HELP_WM_HELP, (ULONG_PTR)(LPVOID)p_helpids );
}
return TRUE;
/*NOTREACHED*/
//break;
//@@@ 2001.02.04 End
//@@@ 2001.12.22 Start by MIK: Context Menu Help
//Context Menu
case WM_CONTEXTMENU:
::WinHelp( hwndDlg, m_szHelpFile, HELP_CONTEXTMENU, (ULONG_PTR)(LPVOID)p_helpids );
return TRUE;
//@@@ 2001.12.22 End
}
return FALSE;
}
/* ダイアログデータの設定 */
void CPropCommon::SetData_PROP_EDIT( HWND hwndDlg )
{
// BOOL bRet;
/* ドラッグ & ドロップ編集 */
::CheckDlgButton( hwndDlg, IDC_CHECK_DRAGDROP, m_Common.m_bUseOLE_DragDrop );
if( ::IsDlgButtonChecked( hwndDlg, IDC_CHECK_DRAGDROP ) ){
// From Here Sept. 9, 2000 JEPRO
// 前のチェック状態が残るように次の行をコメントアウトに変更
// ::CheckDlgButton( hwndDlg, IDC_CHECK_DROPSOURCE, TRUE ); /* DropSource */
::EnableWindow( ::GetDlgItem( hwndDlg, IDC_CHECK_DROPSOURCE ), TRUE );
// To Here Sept. 9, 2000
}else{
// From Here Sept. 9, 2000 JEPRO
// 前のチェック状態が残るように次の行をコメントアウトに変更
// ::CheckDlgButton( hwndDlg, IDC_CHECK_DROPSOURCE, FALSE ); /* DropSource */
::EnableWindow( ::GetDlgItem( hwndDlg, IDC_CHECK_DROPSOURCE ), FALSE );
// To Here Sept. 9, 2000
}
/* DropSource */
::CheckDlgButton( hwndDlg, IDC_CHECK_DROPSOURCE, m_Common.m_bUseOLE_DropSource );
/* 折り返し行に改行を付けてコピー */
::CheckDlgButton( hwndDlg, IDC_CHECK_ADDCRLFWHENCOPY, m_Common.m_bAddCRLFWhenCopy );
/* コピーしたら選択解除 */
::CheckDlgButton( hwndDlg, IDC_CHECK_COPYnDISABLESELECTEDAREA, m_Common.m_bCopyAndDisablSelection );
/* 改行は上書きしない */
::CheckDlgButton( hwndDlg, IDC_CHECK_bNotOverWriteCRLF, m_Common.m_bNotOverWriteCRLF );
return;
}
/* ダイアログデータの取得 */
int CPropCommon::GetData_PROP_EDIT( HWND hwndDlg )
{
//@@@ 2002.01.03 YAZAKI 最後に表示していたシートを正しく覚えていないバグ修正
// m_nPageNum = ID_PAGENUM_EDIT;
/* ドラッグ & ドロップ編集 */
m_Common.m_bUseOLE_DragDrop = ::IsDlgButtonChecked( hwndDlg, IDC_CHECK_DRAGDROP );
/* DropSource */
m_Common.m_bUseOLE_DropSource = ::IsDlgButtonChecked( hwndDlg, IDC_CHECK_DROPSOURCE );
/* 折り返し行に改行を付けてコピー */
m_Common.m_bAddCRLFWhenCopy = ::IsDlgButtonChecked( hwndDlg, IDC_CHECK_ADDCRLFWHENCOPY );
/* コピーしたら選択解除 */
m_Common.m_bCopyAndDisablSelection = ::IsDlgButtonChecked( hwndDlg, IDC_CHECK_COPYnDISABLESELECTEDAREA );
/* 改行は上書きしない */
m_Common.m_bNotOverWriteCRLF = ::IsDlgButtonChecked( hwndDlg, IDC_CHECK_bNotOverWriteCRLF );
return TRUE;
}
/*[EOF]*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -