内部構造>クラス構造
2000/10/08
主要なクラスとメンバー関数についてその役割と関係を説明します.
画面上のウィンドウオブジェクトと関連があるクラス.
ウィンドウクラスの基底クラス.ウィンドウを持つクラスはここから派生する.ただし,このベースクラスが後から作られたもののため,''CEditView'',''CEditWnd''など派生していないものもある.
このクラスはコントロールプロセスが作るウィンドウで,画面には表示されません.タスクトレイアイコンからのメッセージを受け取って処理するのが主な役割です.
コントロールプロセス以外の通常のエディタウィンドウのフレーム部分です.
''CEditWnd''にメンバとして含まれていて,ドキュメント操作に関する諸々のことを行います.
画面分割を管理するクラス.自分自身がウィンドウハンドルを持っているが,なぜか''CEditDoc''もそのハンドルを利用している.
''CEditDoc''の子ウィンドウで,画面表示に関する諸々のことを行います.''CEditDoc'' 1つにつき''CEditView'' 4つがあらかじめ用意されていて,1つ目以外の物は画面分割を行ったときに表面に現れます.
Viewの右上及び左下にある,マウスでドラッグすることで画面分割を行えるようにする小さな箱.マウスのボタンクリック受信,ドラッグ中の線描画,マウス解放時の親ウィンドウへの分割メッセージ送信を行う.
描画およびメッセージ送信は直接の親ウィンドウに対して行う.
縦型・横型の両方を1つのクラスで扱うが,ウィンドウクラスは縦横で異なる名前を登録し,処理もほとんど縦横別々に用意されている.
編集対象の文字列を扱うクラス.
文字列を扱うためのクラス.文字列にあわせて必要なメモリの確保を行う.
漢字コードのチェックやコード変換もここに入っている.
1行分のデータを保持するオブジェクト.1行というのは行頭から改行までの論理行のことで,それが1つのCMemoryオブジェクトになっている.双方向リンクの要素になることが出来る.保持データには行末記号を含む.
CDocLineの管理クラス.文字列に関する各種操作を受け付けて CDocLineオブジェクトに反映する.
CDocLineに関連づけられており,表示上の行頭が論理行のどこに対応するかという情報を保持している.
CLayoutの管理クラス.
共有メモリ関連のもろもろのことを行う.エディタの内部パラメータの初期値もここで定義されている.
共有メモリの構造.