File Annotation

Not logged in
dcdd144598 2011-02-23        kinaba: #include "stdafx.h"
dcdd144598 2011-02-23        kinaba: #include "ewCtrl1.h"
dcdd144598 2011-02-23        kinaba: using namespace ki;
dcdd144598 2011-02-23        kinaba: using namespace editwing;
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: //-------------------------------------------------------------------------
dcdd144598 2011-02-23        kinaba: // EwEditコントロール作成/破棄
dcdd144598 2011-02-23        kinaba: //-------------------------------------------------------------------------
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: EwEdit::ClsName EwEdit::className_ = TEXT("EditWing Control-01");
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: EwEdit::EwEdit()
dcdd144598 2011-02-23        kinaba: 	: WndImpl( className_, WS_CHILD|WS_VISIBLE, WS_EX_CLIENTEDGE )
dcdd144598 2011-02-23        kinaba: {
dcdd144598 2011-02-23        kinaba: 	static bool ClassRegistered = false;
dcdd144598 2011-02-23        kinaba: 	if( !ClassRegistered )
dcdd144598 2011-02-23        kinaba: 	{
dcdd144598 2011-02-23        kinaba: 		ClassRegistered = true;
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 		// 初回構築時のみ、クラス登録を行う
dcdd144598 2011-02-23        kinaba: 		WNDCLASSEX wc    = {0};
dcdd144598 2011-02-23        kinaba: 		wc.lpszClassName = className_;
dcdd144598 2011-02-23        kinaba: 		WndImpl::Register( &wc );
dcdd144598 2011-02-23        kinaba: 	}
dcdd144598 2011-02-23        kinaba: }
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: EwEdit::~EwEdit()
dcdd144598 2011-02-23        kinaba: {
dcdd144598 2011-02-23        kinaba: 	Destroy();
dcdd144598 2011-02-23        kinaba: }
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: void EwEdit::on_create( CREATESTRUCT* cs )
dcdd144598 2011-02-23        kinaba: {
dcdd144598 2011-02-23        kinaba: 	doc_  = new doc::Document;
dcdd144598 2011-02-23        kinaba: 	view_ = new view::View( *doc_, hwnd() );
dcdd144598 2011-02-23        kinaba: }
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: void EwEdit::on_destroy()
dcdd144598 2011-02-23        kinaba: {
dcdd144598 2011-02-23        kinaba: 	view_ = NULL;
dcdd144598 2011-02-23        kinaba: 	doc_  = NULL;
dcdd144598 2011-02-23        kinaba: }
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: //-------------------------------------------------------------------------
dcdd144598 2011-02-23        kinaba: // 簡単なメッセージ制御
dcdd144598 2011-02-23        kinaba: //-------------------------------------------------------------------------
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: LRESULT EwEdit::on_message( UINT msg, WPARAM wp, LPARAM lp )
dcdd144598 2011-02-23        kinaba: {
dcdd144598 2011-02-23        kinaba: 	switch( msg )
dcdd144598 2011-02-23        kinaba: 	{
dcdd144598 2011-02-23        kinaba: 	case WM_SETFOCUS:
dcdd144598 2011-02-23        kinaba: 		{
dcdd144598 2011-02-23        kinaba: 			view_->SetFocus();
dcdd144598 2011-02-23        kinaba: 			break;
dcdd144598 2011-02-23        kinaba: 		}
dcdd144598 2011-02-23        kinaba: 	case WM_SIZE:
dcdd144598 2011-02-23        kinaba: 		{
dcdd144598 2011-02-23        kinaba: 			RECT rc;
dcdd144598 2011-02-23        kinaba: 			getClientRect( &rc );
dcdd144598 2011-02-23        kinaba: 			view_->MoveTo( 0, 0, rc.right, rc.bottom );
dcdd144598 2011-02-23        kinaba: 			break;
dcdd144598 2011-02-23        kinaba: 		}
dcdd144598 2011-02-23        kinaba: 	case EM_CANUNDO:     return getDoc().isUndoAble();
dcdd144598 2011-02-23        kinaba: 	case EM_SETREADONLY: getCursor().SetROMode(wp!=FALSE); return TRUE;
dcdd144598 2011-02-23        kinaba: 	case WM_COPY:  getCursor().Copy();  return 0;
dcdd144598 2011-02-23        kinaba: 	case WM_CUT:   getCursor().Cut();   return 0;
dcdd144598 2011-02-23        kinaba: 	case WM_PASTE: getCursor().Paste(); return 0;
dcdd144598 2011-02-23        kinaba: 	case EM_UNDO:
dcdd144598 2011-02-23        kinaba: 	case WM_UNDO:  getDoc().Undo();     return TRUE;
dcdd144598 2011-02-23        kinaba: 	default:
dcdd144598 2011-02-23        kinaba: 		return WndImpl::on_message( msg, wp, lp );
dcdd144598 2011-02-23        kinaba: 	}
dcdd144598 2011-02-23        kinaba: 	return 0;
dcdd144598 2011-02-23        kinaba: /*
dcdd144598 2011-02-23        kinaba: EM_CHARFROMPOS
dcdd144598 2011-02-23        kinaba: EM_EMPTYUNDOBUFFER:
dcdd144598 2011-02-23        kinaba: EM_FMTLINES
dcdd144598 2011-02-23        kinaba: EM_GETCUEBANNER
dcdd144598 2011-02-23        kinaba: EM_GETFIRSTVISIBLELINE
dcdd144598 2011-02-23        kinaba: EM_GETHANDLE
dcdd144598 2011-02-23        kinaba: EM_GETIMESTATUS
dcdd144598 2011-02-23        kinaba: EM_GETLIMITTEXT
dcdd144598 2011-02-23        kinaba: EM_GETLINE
dcdd144598 2011-02-23        kinaba: EM_GETLINECOUNT
dcdd144598 2011-02-23        kinaba: EM_GETMARGINS
dcdd144598 2011-02-23        kinaba: EM_GETMODIFY
dcdd144598 2011-02-23        kinaba: EM_GETPASSWORDCHAR
dcdd144598 2011-02-23        kinaba: EM_GETRECT
dcdd144598 2011-02-23        kinaba: EM_GETSEL
dcdd144598 2011-02-23        kinaba: EM_GETTHUMB
dcdd144598 2011-02-23        kinaba: EM_GETWORDBREAKPROC
dcdd144598 2011-02-23        kinaba: EM_HIDEBALLOONTIP
dcdd144598 2011-02-23        kinaba: EM_LIMITTEXT
dcdd144598 2011-02-23        kinaba: EM_LINEFROMCHAR
dcdd144598 2011-02-23        kinaba: EM_LINEINDEX
dcdd144598 2011-02-23        kinaba: EM_LINELENGTH
dcdd144598 2011-02-23        kinaba: EM_LINESCROLL
dcdd144598 2011-02-23        kinaba: EM_POSFROMCHAR
dcdd144598 2011-02-23        kinaba: EM_REPLACESEL
dcdd144598 2011-02-23        kinaba: EM_SCROLL
dcdd144598 2011-02-23        kinaba: EM_SCROLLCARET
dcdd144598 2011-02-23        kinaba: EM_SETCUEBANNER
dcdd144598 2011-02-23        kinaba: EM_SETHANDLE
dcdd144598 2011-02-23        kinaba: EM_SETIMESTATUS
dcdd144598 2011-02-23        kinaba: EM_SETLIMITTEXT
dcdd144598 2011-02-23        kinaba: EM_SETMARGINS
dcdd144598 2011-02-23        kinaba: EM_SETMODIFY
dcdd144598 2011-02-23        kinaba: EM_SETPASSWORDCHAR
dcdd144598 2011-02-23        kinaba: EM_SETRECT
dcdd144598 2011-02-23        kinaba: EM_SETRECTNP
dcdd144598 2011-02-23        kinaba: EM_SETSEL
dcdd144598 2011-02-23        kinaba: EM_SETTABSTOPS
dcdd144598 2011-02-23        kinaba: EM_SETWORDBREAKPROC
dcdd144598 2011-02-23        kinaba: EM_SHOWBALLOONTIP
dcdd144598 2011-02-23        kinaba: WM_COMMAND
dcdd144598 2011-02-23        kinaba: WM_CTLCOLOREDIT
dcdd144598 2011-02-23        kinaba: WM_CTLCOLORSTATIC
dcdd144598 2011-02-23        kinaba: */
dcdd144598 2011-02-23        kinaba: }