掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
キャンバスを子プロシージャに渡すには? (ID:40123)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
メタファイルを作りたいのですが、ひとつのプロシージャ内で処理する方法はわかったんですけど、詳細を細かく設定する文が多すぎて間違いが起きやすいので、子プロシージャに処理をさせたいと思っています。 子プロシージャに何を渡せばいいのかわかりません。 教えて頂けないでしょうか? /////////////////////////////////////////// //親文 MergeMF := TMetaFile.Create; with TMetafileCanvas.Create(MergeMF, 0) do try //記述文 finally MergeMF.Free; end; ////////////////////////////////////////// //子プロシージャ //[iTitle]とか"所属課リスト"ってところを引数で処理して再利用したいのです。 ItemT := Round(ItemList[iTitle].mmTop * DotY); ItemB := Round((ItemList[iTitle].mmTop + ItemList[iTitle].mmHeight) * DotY); ItemL := Round(ItemList[iTitle].mmLeft * DotX); ItemR := Round((ItemList[iTitle].mmLeft + ItemList[iTitle].mmWidth) * DotX); FieldRect := Rect(ItemL,ItemT,ItemR,ItemB); Pen.Style := ItemList[iTitle].PenStyle; Pen.Color := ItemList[iTitle].PenColor; Pen.Width := ItemList[iTitle].PenWidth; Brush.Style := ItemList[iTitle].BrushStyle; Brush.Color := ItemList[iTitle].BrushColor; case ItemList[iTitle].Shape of stRectAngle:Rectangle(FieldRect); stEllipse:Ellipse(FieldRect); stRoundRect:RoundRect(ItemL,ItemT,ItemR,ItemB,ItemList[iTitle].CornerRound,ItemList[iTitle].CornerRound); else Brush.Style := bsClear; end; /文字の印字 Font.Name := ItemList[iTitle].FontName; Font.Style:= ItemList[iTitle].FontStyle; Font.Color:= ItemList[iTitle].FontColor; Font.Size := ItemList[iTitle].FontSize; //ShowMessage('iCode'); ExportText := '所属課リスト'; case ItemList[iTitle].Alignment of 0:DrawTextEX(Handle,PChar(ExportText),Length(PChar(ExportText)),FieldRect,DT_SINGLELINE + DT_VCENTER + DT_LEFT,Nil); 1:DrawTextEX(Handle,PChar(ExportText),Length(PChar(ExportText)),FieldRect,DT_SINGLELINE + DT_VCENTER + DT_CENTER,Nil); 2:DrawTextEX(Handle,PChar(ExportText),Length(PChar(ExportText)),FieldRect,DT_SINGLELINE + DT_VCENTER + DT_RIGHT,Nil); end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.