#pragma once #include //サイズ変更枠の太さ #define LEVER_THICK 5 #define WM_SHOWERROR WM_USER+70 //エラー表示メッセージ #define WM_SETCOMPILEVIEW WM_USER+71 //コンパイラウィンドウが表示されたとき #define WM_DESTROYCOMPILEVIEW WM_USER+72 //コンパイラウィンドウが破棄されたとき #define WM_SETDEBUGGERBASE WM_USER+73 //デバッガベースウィンドウが表示されたとき #define WM_DESTROYDEBUGGERBASE WM_USER+74 //デバッガベースウィンドウが破棄されたとき #define WM_SETDEBUGGERVIEW WM_USER+75 //デバッガウィンドウが表示されたとき #define WM_DESTROYDEBUGGERVIEW WM_USER+76 //デバッガウィンドウが表示されたとき class TaskbarList; namespace ActiveBasic{ namespace IDE{ class MainFrame : public WindowComponents::MdiWindow { WindowAreaManager wam; UINT TaskbarButtonCreated; std::shared_ptr taskbarList; public: MainFrame(); // リサイズ時のリフレッシュ void Resized(); // WebブラウザでURLを開く void OpenWebBrowser( const std::string &url ); // Explorerでパスを開く void OpenExplorer( const std::string &filepath ); // 生成された ::LRESULT OnCreate( ::CREATESTRUCT const* ); // OSが終了する BOOL OnQueryEndSession(UINT nSource, UINT uLogOff); // 「閉じる」ボタンがクリックされた void OnClose(); // リサイズされた void OnSize(UINT nType, CSize size); // 破棄された void OnDestroy(); // タイマーイベント void OnTimer( UINT_PTR id ); // クリップボード内のデータが変更した void OnDrawClipboard(); // メニューが選択された void OnMenuSelect( UINT nItemID, UINT nFlags, HMENU menu ); // メニューがアクティブになる直前に送られる void OnInitMenu( HMENU menu ); // メニューアイテムのサイズが要求された void OnMeasureItem( int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct ); // メニューアイテムの描画が要求された void OnDrawItem( int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct ); // 拡張コントロールからメッセージが通知された LRESULT OnNotify( int idCtrl, LPNMHDR pnmh ); // ファイルがドロップされた void OnDropFiles( HDROP hDropInfo ); // 再描画 void OnPaint( HDC dummy ); // ソースコード表示メッセージ ::LRESULT OnShowSourceLine( ::UINT msg, ::WPARAM wParam, ::LPARAM lParam, ::BOOL& handled ); // タスクバーボタンが生成された ::LRESULT OnTaskbarButtonCreated(::UINT msg, ::WPARAM wParam, ::LPARAM lParam); // 子ウィンドウが生成された void AddChildWindow( HWND hwndChild ); // 子ウィンドウが破棄された void DeleteChildWindow( HWND hwndChild ); // 子ウィンドウがアクティブになった void ActivateChildWindow( HWND hwndChild ); // タブの順序が変更になった void SetTabOrder( HWND hwndChild, HWND hwndInsertBefore ); // サムネイル画像が古くなった(ので更新したい) void InvalidateBitmap( HWND hwndChild ); // 「新規作成」メニューがクリックされた void OnCmdNew( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「開く」メニューがクリックされた void OnCmdOpen( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「閉じる」メニューがクリックされた void OnCmdClose( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「プロジェクトを開く」メニューがクリックされた void OnCmdProjectOpen( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「プロジェクトを保存」メニューがクリックされた void OnCmdProjectSave( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「プロジェクトを閉じる」メニューがクリックされた void OnCmdProjectClose( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「プロジェクト フォルダを開く」メニューがクリックされた void OnCmdProjectFolderOpen( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「保存」メニューがクリックされた void OnCmdSave( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「名前を付けて保存」メニューがクリックされた void OnCmdNewSave( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「文字コードを指定して保存」メニューがクリックされた void OnCmdCodeSave( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「すべて保存」メニューがクリックされた void OnCmdAllSave( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「ページ設定」メニューがクリックされた void OnCmdPageSet( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「印刷プレビュー」メニューがクリックされた void OnCmdPreview( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「印刷」メニューがクリックされた void OnCmdPrintOut( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「終了」メニューがクリックされた void OnCmdExit( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「元に戻す」メニューがクリックされた void OnCmdUndo( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「やり直し」メニューがクリックされた void OnCmdRedo( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「切り取り」メニューがクリックされた void OnCmdCut( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「コピー」メニューがクリックされた void OnCmdCopy( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「貼り付け」メニューがクリックされた void OnCmdPaste( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「削除」メニューがクリックされた void OnCmdDelete( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「すべて選択」メニューがクリックされた void OnCmdAllSelect( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「検索」メニューがクリックされた void OnCmdFind( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「置換」メニューがクリックされた void OnCmdPermutation( UINT uNotifyCode, int nID, CWindow wndCtl ); // 変換メニューのいずれかがクリックされた void OnCmdConvertX( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「文字カウント」メニューがクリックされた void OnCmdStringCount( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「選択範囲の文字カウント」メニューがクリックされた void OnCmdSelStringCount( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「プロジェクトビュー」メニューがクリックされた void OnCmdProjectView( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「プロジェクトオプション」メニューがクリックされた void OnCmdProjectOption( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「最前面表示」メニューがクリックされた void OnCmdTopMost( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「右端で折り返す」メニューがクリックされた void OnCmdRightTurn( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「オプション」メニューがクリックされた void OnCmdSet( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「デバッグ実行」メニューがクリックされた void OnCmdDebug( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「デバッグビルド」メニューがクリックされた void OnCmdDebugCompile( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「アタッチ」メニューがクリックされた void OnCmdAttach( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「リリースビルド」メニューがクリックされた void OnCmdReleaseCompile( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「リリース実行」メニューがクリックされた void OnCmdReleaseRun( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「ステップイン」メニューがクリックされた void OnCmdStepIn( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「ステップオーバー」メニューがクリックされた void OnCmdStepOver( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「カーソル行まで実行」メニューがクリックされた void OnCmdStepCursor( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「ブレークポイント」メニューがクリックされた void OnCmdBreakPoint( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「デバッグの停止」メニューがクリックされた void OnCmdDebugStop( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「デバッグの一時停止」メニューがクリックされた void OnCmdDebugPause( UINT uNotifyCode, int nID, CWindow wndCtl ); // Webリンクメニューがクリックされた void OnCmdWebLink( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「トピックス」メニューがクリックされた void OnCmdTopics( UINT uNotifyCode, int nID, CWindow wndCtl ); // 「バージョン情報」メニューがクリックされた void OnCmdAbout( UINT uNotifyCode, int nID, CWindow wndCtl ); // レバーの「ドキュメントセレクト」メニューがクリックされた void OnCmdDocSelectBand( UINT uNotifyCode, int nID, CWindow wndCtl ); // レバーの「標準」メニューがクリックされた void OnCmdStandardBand( UINT uNotifyCode, int nID, CWindow wndCtl ); // レバーの「リリース」メニューがクリックされた void OnCmdReleaseBand( UINT uNotifyCode, int nID, CWindow wndCtl ); // レバーの「デバッグ」メニューがクリックされた void OnCmdDebugBand( UINT uNotifyCode, int nID, CWindow wndCtl ); // レバーの「プラットフォーム選択」メニューがクリックされた void OnCmdSelectCompilerBand( UINT uNotifyCode, int nID, CWindow wndCtl ); // レバーの「レバーを固定」メニューがクリックされた void OnCmdNoGripper( UINT uNotifyCode, int nID, CWindow wndCtl ); // レバーの「レバーをリセット」メニューがクリックされた void OnCmdResetRebar( UINT uNotifyCode, int nID, CWindow wndCtl ); // タブの「自分以外のウィンドウを閉じる」メニューがクリックされた void OnCmdAllCloseOmitMyself( UINT uNotifyCode, int nID, CWindow wndCtl ); // タブの「絶対パスをコピー」メニューがクリックされた void OnCmdPathCopy( UINT uNotifyCode, int nID, CWindow wndCtl ); // タブの「フォルダを開く」メニューがクリックされた void OnCmdFolderOpen( UINT uNotifyCode, int nID, CWindow wndCtl ); // タブの「ファイルを削除」メニューがクリックされた void OnCmdDeleteFile( UINT uNotifyCode, int nID, CWindow wndCtl ); // タブの「タブの色」メニューがクリックされた void OnCmdColor( UINT uNotifyCode, int nID, CWindow wndCtl ); private: // メッセージマップ BEGIN_MSG_MAP( MainFrame ) MSG_WM_CREATE( OnCreate ) MSG_WM_SIZE( OnSize ) MSG_WM_QUERYENDSESSION( OnQueryEndSession ) MSG_WM_CLOSE( OnClose ) MSG_WM_DESTROY( OnDestroy ) MSG_WM_TIMER( OnTimer ) MSG_WM_DRAWCLIPBOARD( OnDrawClipboard ) MSG_WM_MENUSELECT( OnMenuSelect ) MSG_WM_INITMENU( OnInitMenu ) MSG_WM_MEASUREITEM( OnMeasureItem ) MSG_WM_DRAWITEM( OnDrawItem ) MSG_WM_NOTIFY( OnNotify ); MSG_WM_DROPFILES( OnDropFiles ) MSG_WM_PAINT( OnPaint ) MESSAGE_HANDLER( WM_SHOWERROR, OnShowSourceLine ) MESSAGE_HANDLER_EX( TaskbarButtonCreated, OnTaskbarButtonCreated ) COMMAND_ID_HANDLER_EX( IDM_NEW, OnCmdNew ) COMMAND_ID_HANDLER_EX( IDM_OPEN, OnCmdOpen ) COMMAND_ID_HANDLER_EX( IDM_CLOSE, OnCmdClose ) #ifndef THETEXT COMMAND_ID_HANDLER_EX( IDM_PROJECT_OPEN, OnCmdProjectOpen ) COMMAND_ID_HANDLER_EX( IDM_PROJECT_SAVE, OnCmdProjectSave ) COMMAND_ID_HANDLER_EX( IDM_PROJECT_CLOSE, OnCmdProjectClose ) COMMAND_ID_HANDLER_EX( IDM_PROJECT_FOLDER_OPEN, OnCmdProjectFolderOpen ) #endif COMMAND_ID_HANDLER_EX( IDM_SAVE, OnCmdSave ) COMMAND_ID_HANDLER_EX( IDM_NEWSAVE, OnCmdNewSave ) COMMAND_ID_HANDLER_EX( IDM_CODE_SAVE, OnCmdCodeSave ) COMMAND_ID_HANDLER_EX( IDM_ALLSAVE, OnCmdAllSave ) COMMAND_ID_HANDLER_EX( IDM_PAGESET, OnCmdPageSet ) COMMAND_ID_HANDLER_EX( IDM_PREVIEW, OnCmdPreview ) COMMAND_ID_HANDLER_EX( IDM_PRINTOUT, OnCmdPrintOut ) COMMAND_ID_HANDLER_EX( IDM_EXIT, OnCmdExit ) COMMAND_ID_HANDLER_EX( IDM_UNDO, OnCmdUndo ) COMMAND_ID_HANDLER_EX( (WORD)IDM_ACCEL_UNDO, OnCmdUndo ) COMMAND_ID_HANDLER_EX( IDM_REDO, OnCmdRedo ) COMMAND_ID_HANDLER_EX( (WORD)IDM_ACCEL_REDO, OnCmdRedo ) COMMAND_ID_HANDLER_EX( IDM_CUT, OnCmdCut ) COMMAND_ID_HANDLER_EX( IDM_COPY, OnCmdCopy ) COMMAND_ID_HANDLER_EX( IDM_PASTE, OnCmdPaste ) COMMAND_ID_HANDLER_EX( IDM_DELETE, OnCmdDelete ) COMMAND_ID_HANDLER_EX( IDM_ALLSELECT, OnCmdAllSelect ) COMMAND_ID_HANDLER_EX( IDM_FIND, OnCmdFind ) COMMAND_ID_HANDLER_EX( IDM_PERMUTATION, OnCmdPermutation ) COMMAND_ID_HANDLER_EX( IDM_CONV_ALPHA_SMALL, OnCmdConvertX ) COMMAND_ID_HANDLER_EX( IDM_CONV_ALPHA_BIG, OnCmdConvertX ) COMMAND_ID_HANDLER_EX( IDM_CONV_HALF, OnCmdConvertX ) COMMAND_ID_HANDLER_EX( IDM_CONV_MULTI, OnCmdConvertX ) COMMAND_ID_HANDLER_EX( IDM_CONV_KATAKANA, OnCmdConvertX ) COMMAND_ID_HANDLER_EX( IDM_CONV_HIRAGANA, OnCmdConvertX ) COMMAND_ID_HANDLER_EX( IDM_CONV_SPACE, OnCmdConvertX ) COMMAND_ID_HANDLER_EX( IDM_CONV_TAB, OnCmdConvertX ) #ifdef THETEXT COMMAND_ID_HANDLER_EX( IDM_CONV_HASRETURN, OnCmdConvertX ) COMMAND_ID_HANDLER_EX( IDM_CONV_QUOTE, OnCmdConvertX ) COMMAND_ID_HANDLER_EX( IDM_STRING_COUNT, OnCmdStringCount ) COMMAND_ID_HANDLER_EX( IDM_SEL_STRING_COUNT, OnCmdSelStringCount ) #else COMMAND_ID_HANDLER_EX( IDM_CODEFORMAT, OnCmdConvertX ) #endif COMMAND_ID_HANDLER_EX( IDM_PROJECTVIEW, OnCmdProjectView ) COMMAND_ID_HANDLER_EX( IDM_PROJECT_OPTION, OnCmdProjectOption ) COMMAND_ID_HANDLER_EX( IDM_TOPMOST, OnCmdTopMost ) #ifdef THETEXT COMMAND_ID_HANDLER_EX( IDM_RIGHT_TURN, OnCmdRightTurn ) #endif COMMAND_ID_HANDLER_EX( IDM_SET, OnCmdSet ) #ifndef THETEXT COMMAND_ID_HANDLER_EX( IDM_DEBUG, OnCmdDebug ) COMMAND_ID_HANDLER_EX( IDM_DEBUGCOMPILE, OnCmdDebugCompile ) COMMAND_ID_HANDLER_EX( IDM_ATTACH, OnCmdAttach ) COMMAND_ID_HANDLER_EX( IDM_RELEASECOMPILE, OnCmdReleaseCompile ) COMMAND_ID_HANDLER_EX( IDM_RELEASERUN, OnCmdReleaseRun ) COMMAND_ID_HANDLER_EX( IDM_STEP_IN, OnCmdStepIn ) COMMAND_ID_HANDLER_EX( IDM_STEP_OVER, OnCmdStepOver ) COMMAND_ID_HANDLER_EX( IDM_STEP_CURSOR, OnCmdStepCursor ) COMMAND_ID_HANDLER_EX( IDM_BREAKPOINT, OnCmdBreakPoint ) COMMAND_ID_HANDLER_EX( IDM_DEBUG_STOP, OnCmdDebugStop ) COMMAND_ID_HANDLER_EX( IDM_DEBUG_PAUSE, OnCmdDebugPause ) COMMAND_ID_HANDLER_EX( IDM_COMMUNITY, OnCmdWebLink ) COMMAND_ID_HANDLER_EX( IDM_COMMU_SEARCH, OnCmdWebLink ) COMMAND_ID_HANDLER_EX( IDM_COMMU_PM, OnCmdWebLink ) COMMAND_ID_HANDLER_EX( ID_COMMU_FORUM1, OnCmdWebLink ) COMMAND_ID_HANDLER_EX( ID_COMMU_FORUM2, OnCmdWebLink ) COMMAND_ID_HANDLER_EX( ID_COMMU_FORUM3, OnCmdWebLink ) COMMAND_ID_HANDLER_EX( ID_COMMU_FORUM4, OnCmdWebLink ) COMMAND_ID_HANDLER_EX( ID_COMMU_FORUM5, OnCmdWebLink ) COMMAND_ID_HANDLER_EX( ID_COMMU_FORUM6, OnCmdWebLink ) COMMAND_ID_HANDLER_EX( ID_COMMU_FORUM7, OnCmdWebLink ) COMMAND_ID_HANDLER_EX( ID_COMMU_FORUM8, OnCmdWebLink ) COMMAND_ID_HANDLER_EX( IDM_AB_WEBSITE, OnCmdWebLink ) COMMAND_ID_HANDLER_EX( IDM_ACTBDL, OnCmdWebLink ) #else COMMAND_ID_HANDLER_EX( IDM_DSHOMEPAGE, OnCmdWebLink ) #endif COMMAND_ID_HANDLER_EX( IDM_TOPIC, OnCmdTopics ) COMMAND_ID_HANDLER_EX( IDM_ABOUT, OnCmdAbout ) COMMAND_ID_HANDLER_EX( IDM_DOCSELECTBAND, OnCmdDocSelectBand ) COMMAND_ID_HANDLER_EX( IDM_STANDARDBAND, OnCmdStandardBand ) #ifndef THETEXT COMMAND_ID_HANDLER_EX( IDM_RELEASEBAND, OnCmdReleaseBand ) COMMAND_ID_HANDLER_EX( IDM_DEBUGBAND, OnCmdDebugBand ) COMMAND_ID_HANDLER_EX( IDM_SELECTCOMPILERBAND, OnCmdSelectCompilerBand ) #endif COMMAND_ID_HANDLER_EX( IDM_NOGRIPPER, OnCmdNoGripper ) COMMAND_ID_HANDLER_EX( IDM_RESET_REBAR, OnCmdResetRebar ) COMMAND_ID_HANDLER_EX( IDM_ALLCLOSE_OMIT_MYSELF, OnCmdAllCloseOmitMyself ) COMMAND_ID_HANDLER_EX( IDM_PATH_COPY, OnCmdPathCopy ) COMMAND_ID_HANDLER_EX( IDM_FOLDER_OPEN, OnCmdFolderOpen ) COMMAND_ID_HANDLER_EX( IDM_DELETE_FILE, OnCmdDeleteFile ) COMMAND_ID_HANDLER_EX( IDM_USER_COLOR, OnCmdColor ) COMMAND_ID_HANDLER_EX( IDM_GRAY, OnCmdColor ) COMMAND_ID_HANDLER_EX( IDM_WHITE, OnCmdColor ) COMMAND_ID_HANDLER_EX( IDM_RED, OnCmdColor ) COMMAND_ID_HANDLER_EX( IDM_GREEN, OnCmdColor ) COMMAND_ID_HANDLER_EX( IDM_BLUE, OnCmdColor ) COMMAND_ID_HANDLER_EX( IDM_YELLOW, OnCmdColor ) CHAIN_MSG_MAP(CUpdateUI) CHAIN_MSG_MAP(CMDIFrameWindowImpl) END_MSG_MAP() }; }}