- //Util.cs internal class Util に以下を追加
- public static void OutputCapture(int code)
- {
- Rectangle rc = new Rectangle(
- Env.Frame.Location.X + 7,//7は微調整
- Env.Frame.Location.Y + Env.Layout.HeaderHeight + Env.Layout.FooterHeight + 36, //36は微調整
- Env.Layout.ChartAreaWidth,
- Env.Layout.ChartAreaBottom - Env.Layout.FooterHeight);// - Env.Layout.OscillatorPaneHeightTotal - Env.Layout.VolumePaneHeight);
- var bmp = new Bitmap(rc.Width, rc.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
- using (Graphics g = Graphics.FromImage(bmp))
- {
- g.CopyFromScreen(rc.X, rc.Y, 0, 0, rc.Size, CopyPixelOperation.SourceCopy);
- }
- var folder = string.Format(@"{0}\ScreenShot", System.Windows.Forms.Application.StartupPath);
- if (!Directory.Exists(folder))
- Directory.CreateDirectory(folder);
- var path = string.Format(@"{0}\{1}.png", folder, code);//既存ファイルは上書きされる
- bmp.Save(path, System.Drawing.Imaging.ImageFormat.Png);
- }
- //Command.cs public CommandResult Exec(Keys key)のIF文分岐追加
- else if ((Keys.Control | Keys.Alt | Keys.C) == key)//CtrlキーとAltキーを同時に押下しながら、Cキーを押下
- {
- AbstractBrand br = Env.Frame.ChartCanvas.GetBrand();
- Util.OutputCapture(br.Code);
- return CommandResult.Succeeded;
- }