大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

MFC – Automation Server – 詳細

株式会社クローバーフィールドの経営理念
著者:津路高広
公開日:2020/07/17
最終更新日:2020/07/26
カテゴリー:技術情報
タグ:

津路です。

MFC – Automation Serverでは、サーバーの仕組みを考えてみました。

続いて、サーバー側の詳細を詰めていきます。
オブジェクトは、Applicationの下に、3つのオブジェクト、Chart/Window/Toolbarがあります。

Chartオブジェクトは、プロパティRevenueのGet/Set関数、メソッドのSave関数を実装します。
実際には、Documentクラスのポインタを得て、該当する関数を呼び出すだけです。

Windowオブジェクトは、プロパティVisibleのGet/Set関数、メソッドのRefresh関数を実装します。
Refresh関数では、Documentクラスのポインタを得て、Viewの再描画を指示します。
Get関数では、MainWindowの状態を得ます。Set関数では、MainWindowに描画を指示します。

Toolbarオブジェクトは、プロパティVisibleのGet/Set関数を実装します。
Get関数では、Toolbarの状態を得ます。Set関数では、Toolbarに描画を指示します。

CAutoViewクラス(SDアプリケーションのView)では、OnDraw関数をオーバーライドして、パイを描画します。
パラメータは、Documentオブジェクトから、quarterごとのRevenueの値を得ます。
さて、描画手順です。
1.マッピングモードを指定
2.ブラシの生成
3.パイチャートを描画
1.SetMapModeにて座標系を以下の3つの関数で独自指定します。
SetWindowExtにて、論理座標系を0-500, 0-500の範囲にします。
SetWindowOrgにて、原点を真ん中に指定します。
SetViewPortExtにて、Viewportの範囲をクライアント領域と同じにします。
2.Quarterの値1-4、それぞれにブラシの色を指定して生成します。
1: Red, 2:Yellow, 3:Magenta, 4: Cyan
3.パイチャートを描く関数は、CDCクラスのPie関数です。
まず、Revenueの総額をnTotalに得ておきます。
次に、ループ内にて、各Revenue値に対する範囲の、弧の始まりをx1,y1として、弧の終わりの座標x2,y2を求めます。
そして、ブラシを使って、Pie関数にてパイを描画します。

次回は、Documentクラスの実装です。

    次の記事 :
    上に戻る