- 用紙設計キャンバス(1/100mm 基準)・テキスト/画像/矩形/直線アイテム - コピー/複製/Zオーダー/整列/グリッドスナップ、原紙(下絵)読込と印刷可否 - GDI 直接印刷、.otz 保存/再読込(版数つき) - MFC/CRT 静的リンクで VS2022 IDE から F5 デバッグ可
58 lines
1.8 KiB
C++
58 lines
1.8 KiB
C++
// MainDialog.h : メイン ダイアログ(ダイアログベース アプリの主ウィンドウ)
|
|
#pragma once
|
|
|
|
#include "resource.h"
|
|
#include "LabelLayout.h"
|
|
#include "Canvas.h"
|
|
|
|
class CMainDialog : public CDialog
|
|
{
|
|
public:
|
|
CMainDialog(CWnd* pParent = nullptr);
|
|
enum { IDD = IDD_MAIN_DIALOG };
|
|
|
|
protected:
|
|
CLabelLayout m_layout; // データモデル
|
|
CCanvas m_canvas; // 編集キャンバス(子ウィンドウ)
|
|
CString m_path; // 現在の .otz パス(空 = 無題)
|
|
|
|
void DoDataExchange(CDataExchange* pDX) override;
|
|
BOOL OnInitDialog() override;
|
|
void OnOK() override; // Enter での誤終了を防ぐ(何もしない)
|
|
void OnCancel() override; // 終了(保存確認)
|
|
|
|
void UpdateCaption();
|
|
void UpdateTemplateCheck(); // 「原紙を印刷」チェックをモデルに合わせる
|
|
BOOL ConfirmDiscardIfDirty();
|
|
BOOL DoSave(BOOL bForceDialog);
|
|
|
|
afx_msg void OnFileNew();
|
|
afx_msg void OnFileOpen();
|
|
afx_msg void OnFileSave();
|
|
afx_msg void OnFileSaveAs();
|
|
afx_msg void OnInsertText();
|
|
afx_msg void OnInsertImage();
|
|
afx_msg void OnInsertRect();
|
|
afx_msg void OnInsertLine();
|
|
afx_msg void OnEditProperties();
|
|
afx_msg void OnEditDeleteItem();
|
|
afx_msg void OnPaperSize();
|
|
afx_msg void OnViewZoomIn();
|
|
afx_msg void OnViewZoomOut();
|
|
afx_msg void OnFilePrint();
|
|
afx_msg void OnAppAbout();
|
|
afx_msg void OnItemCopy();
|
|
afx_msg void OnItemPaste();
|
|
afx_msg void OnItemDuplicate();
|
|
afx_msg void OnItemFront();
|
|
afx_msg void OnItemBack();
|
|
afx_msg void OnAlignMenu();
|
|
afx_msg void OnAlignCmd(UINT nID);
|
|
afx_msg void OnToggleGrid();
|
|
afx_msg void OnTemplateLoad();
|
|
afx_msg void OnTemplateClear();
|
|
afx_msg void OnTogglePrintTemplate();
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|