タブ式テキストエディタ(2) メニュー項目を設定する
前章で決めた大項目を元に、メインメニューの細項目を設定します。当面は、これらの機能を実現を目指してにコーディングを始めることにします。なお、セパレータは省略しています。
ファイルメニュー : mnFile
| Name | Text | ShortCut | 説 明 |
| mnNew | 新規作成(&N) | CtrlN | - |
| mnOpen | 開く(&O)... | CtrlO | OpenFileDialogを開く |
| mnClose | 閉じる(&C) | CtrlE | 表示中のタブページを閉じる |
| mnSave | 上書き保存(&S) | CtrlS | - |
| mnSaveAs | 名前をつけて保存(&A)... | - | SaveFileDialogを開く |
| mnPreview | 印刷プレビュー(&V)... | - | PreintPreviewDialogを開く |
| mnPage | ページ設定(&U)... | - | PageSetupDialogを開く |
| mnPrint | 印刷(&P)... | CtrlP | PrintDialogを開く |
| mnRecent | 最近使ったファイル(&R) | - | ファイル名をサブメニュー化 |
| mnProperty | プロパティ(&T)... | - | ファイルのプロパティを表示 |
| mnExit | 終了(&X) | CtrlQ | - |
編集メニュー : mnEdit
| Name | Text | ShortCut | 説 明 |
| mnUndo | 元に戻す(&U) | CtrlZ | - |
| mnCut | 切り取り(&T) | CtrlX | - |
| mnCopy | コピー(&C) | CtrlC | - |
| mnPaste | 貼り付け(&P) | CtrlV | - |
| mnDelete | 削除(&D) | CtrlD | - |
| mnFind | 検索/置換(&F)... | CtrlF | 検索/置換ダイアログを開く |
| mnGo | ジャンプ(&G)... | CtrlG | 行指定ダイアログを開く |
| mnConvert | 変換(&V) | - | サブメニューで細目を選択 |
| mnSelectAll | すべて選択(&A) | CtrlA | - |
表示メニュー : mnView
| Name | Text | ShortCut | 説 明 |
| mnFont | フォント(&F)... | - | FontDialogを開く |
| mnToolbar | ツールバー(&T) | - | ツールバーの表示/非表示 |
| mnStatusbar | ステータスバー(&S) | - | ステータスバーの表示/非表示 |
| mnWordwrap | ワードラップ(&W) | - | ワードラップのオン/オフ |
| mnTabstops | タブ幅(&B)... | - | タブ指定ダイアログを開く |
ヘルプメニュー : mnHelp
| Name | Text | ShortCut | 説 明 |
| mnAbout | バージョン情報(&A)... | - | バージョン情報ダイアログを開く |
変換メニューのサブメニュー : mnConvert
| Name | Text | ShortCut | 説 明 |
| mnCUpper | 大文字(&U) | - | 小文字を大文字に変換 |
| mnCLower | 小文字(&L) | - | 大文字を小文字に変換 |
| mnCProper | 先頭字大文字(&P) | - | 語句の先頭文字のみ大文字に変換 |
| mnCWide | 全角(&W) | - | 半角を全角に変換 |
| mnCNarrow | 半角(&N) | - | 全角を半角に変換 |
| mnCHira | ひらがな(&H) | - | カタカナをひらがなに変換 |
| mnCKata | カタカナ(&K) | - | ひらがなをカタカナに変換 |
ポップアップメニューの追加
ポップアップメニューを三つ作成します。一つはテキスト部分を右クリックしたときに表示する編集メニューで、ウインドウズ付属のメモ帳も同様のポップアップメニューを持ちます。これは、TextBoxクラスを配置するときは、自動的に付加してくるのですが、リッチテキストの場合はなぜか採用されていません。自分でつくる必要があります。これはリッチテキストを配置する際に作成します。
二つ目はタブページのタブ部分を右クリックしたときに表示するファイルメニューで、クリックしたページを閉じたり新しいファイルを読み込んだりするためのものです。そして三つ目はツールバーボタンのワードラップボタンにくっつけるためのものです。ワードラップのオン/オフを切り替えるためだけのメニューですので、本来は必要ありません。ツールバーボタンのPushedプロパティの"True/False"を切り替えればいいことです。単にツールバーにドロップダウンボタンが使いたくてつくってしまいました。
| 親メニュー名 | Name | Text | 説明 |
| PUP1 |
pupClose | 閉じる(&C) | クリックしたタブページを閉じる |
| pupNew | 新規作成(&N) | クリックしたタブページを初期化 |
| pupOpen | 開く(&O)... | クリックしたタブページにファイルをロード |
| pupSave | 保存(&S) | クリックしたタブページをファイルにセーブ |
| PUP2 |
pupWrapOn | ワードラップあり | RadioCheckプロパティ : True |
| pupWrapOff | ワードラップなし | RadioCheckプロパティ : True |
ツールバーボタンの配置
ついでにツールバーボタンも配置してしまいます。どうせ機能はメインメニューの項目と同じですから。
ボタンイメージは16×16の大きさで、256色パレットを使用しています。これらをイメージリスト"IL1"の"Images"プロパティに追加していきます。このとき、IL1の"ColorDepth"プロパティを"Depth24bit"以上にします。これ以下だと減色してしまい、思ったとおりの色は出ません。
| Name | Style | ImageIndex | ToolTipText |
| tbNew | PushButton | 0 | 新規作成 |
| tbOpen | PushButton | 1 | ファイルを開く |
| tbClose | PushButton | 2 | ページを閉じる |
| tbSave | PushButton | 3 | 保存 |
| tbSep1 | Separator | (なし) | - |
| tbUndo | PushButton | 4 | 元に戻す |
| tbCut | PushButton | 5 | 切り取り |
| tbCopy | PushButton | 6 | コピー |
| tbPaste | PushButton | 7 | 貼り付け |
| tbSep2 | Separator | (なし) | - |
| tbFont | PushButton | 8 | フォント |
| tbWordwrap | DropDownButton | 9 | ワードラップ(DropDownMenu : PUP2) |