SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(PlusPak)

タブページスタイルのMDIフォームを持った簡易エディタを作成する

PlusPak for Windows Forms 5.0JでカスタムデザインのMDIアプリケーションを作る

  • X ポスト
  • このエントリーをはてなブックマークに追加

GUIのデザイン

 今回使用するコントロールです。

GUIで使用するコントロール
GUIで使用するコントロール
メニューの設定
メニューの設定

 OpenFileDialogコントロールは、ダイアログでテキストファイルを選択できるような設定にします。PlusPakの各コントロールの設定については、記事の中で紹介していきます。

作成するプログラムの機能

 このプログラムは、テキストファイルをMDIで編集できるようにした簡易エディタです。

 MDI子フォームは、PlusPak for Windows Forms 5.0JのGcMdiTabControlコントロールを使用し、タブページ形式で表示します。タブページは通常のWindowsフォームの子フォームですが、MDI親フォームに配置したGcMdiTabControlコントロールが、Windowsフォームをタブページに変換して表示します。

 親フォームにはメニューとファンクションキーで、「ファイルを開く」「上書き保存」「閉じる」という処理を実行します。ファンクションキーは、PlusPak for Windows Forms 5.0JのGcFunctionKeyコントロールを使用し、キーボードとマウスで操作できるようにします。

GcMdiTabControlコントロールの配置と設定

 ツールボックスから、GcMdiTabControlコントロールをフォームにドラッグ&ドロップします。MDI機能を有効にするには、フォームの「IsMdiContainer」プロパティをTrueにします。

 後は、通常のMDI子フォームを作成する要領で子フォームを追加していきます。今回は、Windowsフォーム「Form2」をプロジェクトに追加し、このフォームにRichTextBoxコントロールを配置したものを、子フォームのひな型にします。

子フォームのひな型用フォーム
子フォームのひな型用フォーム

 この子フォームを、プログラム起動時に親フォーム内に表示したい場合は、親フォームのLoadイベントハンドラで、インスタンスを作成します。

Visual Basic
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
	Dim child As New Form2
    child.MdiParent = Me
    child.Show()
End Sub
C#
private void Form1_Load(object sender, EventArgs e)
{
    Form child = new Form2();
    child.MdiParent = this;
    child.Show();
}

 GcMdiTabControlコントロールのタブ形状は、スマートタグの「外観スタイル」で選べるようになっています。多くの種類がありますが、今回はこの中から「CutCorner」を選びました。

タブ形状は「外観スタイル」のリストから選ぶ
タブ形状は「外観スタイル」のリストから選ぶ
さまざまなタブの形状(ヘルプファイルより抜粋)
さまざまなタブの形状(ヘルプファイルより抜粋)

 さらに、GcMdiTabControlコントロールは、他にもタブへのイメージ配置、タブ位置の変更、タブの背景イメージの設定など、いろいろな形状のタブにすることができます。

次のページ
ファンクションキーの設定

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
ComponentZine(PlusPak)連載記事一覧

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3175 2009/03/17 12:12

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング