Menu

Class

develop (84)
novice123

内部構造>クラス構造

クラス構造

2000/10/08

主要なクラスとメンバー関数についてその役割と関係を説明します.

ウィンドウ関連クラス

画面上のウィンドウオブジェクトと関連があるクラス.

CWnd

ウィンドウクラスの基底クラス.ウィンドウを持つクラスはここから派生する.ただし,このベースクラスが後から作られたもののため,''CEditView'',''CEditWnd''など派生していないものもある.

CEditApp

このクラスはコントロールプロセスが作るウィンドウで,画面には表示されません.タスクトレイアイコンからのメッセージを受け取って処理するのが主な役割です.

CEditWnd

コントロールプロセス以外の通常のエディタウィンドウのフレーム部分です.

CEditDoc

''CEditWnd''にメンバとして含まれていて,ドキュメント操作に関する諸々のことを行います.

CSplitterWnd

画面分割を管理するクラス.自分自身がウィンドウハンドルを持っているが,なぜか''CEditDoc''もそのハンドルを利用している.

CEditView

''CEditDoc''の子ウィンドウで,画面表示に関する諸々のことを行います.''CEditDoc'' 1つにつき''CEditView'' 4つがあらかじめ用意されていて,1つ目以外の物は画面分割を行ったときに表面に現れます.

CSplitterBoxWnd

Viewの右上及び左下にある,マウスでドラッグすることで画面分割を行えるようにする小さな箱.マウスのボタンクリック受信,ドラッグ中の線描画,マウス解放時の親ウィンドウへの分割メッセージ送信を行う.

描画およびメッセージ送信は直接の親ウィンドウに対して行う.

縦型・横型の両方を1つのクラスで扱うが,ウィンドウクラスは縦横で異なる名前を登録し,処理もほとんど縦横別々に用意されている.

文字データ関連クラス

編集対象の文字列を扱うクラス.

CMemory

文字列を扱うためのクラス.文字列にあわせて必要なメモリの確保を行う.

漢字コードのチェックやコード変換もここに入っている.

CDocLine

1行分のデータを保持するオブジェクト.1行というのは行頭から改行までの論理行のことで,それが1つのCMemoryオブジェクトになっている.双方向リンクの要素になることが出来る.保持データには行末記号を含む.

CDocLineMgr

CDocLineの管理クラス.文字列に関する各種操作を受け付けて CDocLineオブジェクトに反映する.

CLayout

CDocLineに関連づけられており,表示上の行頭が論理行のどこに対応するかという情報を保持している.

CLayoutMgr

CLayoutの管理クラス.

内部データ関連クラス

CShareData

共有メモリ関連のもろもろのことを行う.エディタの内部パラメータの初期値もここで定義されている.

DLLSHAREDATA

共有メモリの構造.


Related

Wiki: Design

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.