| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223 |
- // EditFrameWnd.cpp : implementation file
- //
- #include "stdafx.h"
- #include "CP_Main.h"
- #include "EditFrameWnd.h"
- #include ".\editframewnd.h"
- // CEditFrameWnd
- IMPLEMENT_DYNCREATE(CEditFrameWnd, CFrameWnd)
- CEditFrameWnd::CEditFrameWnd()
- {
- m_bAutoMenuEnable = FALSE;
- }
- CEditFrameWnd::~CEditFrameWnd()
- {
- }
- BEGIN_MESSAGE_MAP(CEditFrameWnd, CFrameWnd)
- ON_WM_CREATE()
- ON_WM_DESTROY()
- ON_WM_SIZE()
- ON_COMMAND(ID_BUTTON_SAVE, OnDummy)
- ON_COMMAND(ID_BUTTON_SAVE_ALL, OnDummy)
- ON_COMMAND(ID_BUTTON_CLOSE, OnDummy)
- ON_COMMAND(ID_BUTTON_NEW, OnDummy)
- ON_COMMAND(ID_BUTTON_SAVE_CLOSE_CLIPBOARD, OnDummy)
- ON_WM_SETFOCUS()
- ON_WM_CLOSE()
- ON_WM_NCCALCSIZE()
- ON_WM_NCPAINT()
- ON_WM_NCHITTEST()
- ON_WM_NCLBUTTONDOWN()
- ON_WM_NCLBUTTONUP()
- ON_WM_NCMOUSEMOVE()
- ON_WM_NCLBUTTONDBLCLK()
- END_MESSAGE_MAP()
- // CEditFrameWnd message handlers
- int CEditFrameWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
- {
- if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
- return -1;
- ModifyStyle(WS_CAPTION|WS_BORDER|WS_OVERLAPPED|0x0000C000|WS_THICKFRAME|WS_DLGFRAME|WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX, 0, SWP_DRAWFRAME);
- ModifyStyleEx(WS_EX_CLIENTEDGE, 0, 0);
-
- CString csTitle = theApp.m_Language.GetString("Ditto_Edit", "Ditto Edit");
- m_EditWnd.Create(NULL, csTitle, WS_CHILD, CRect(0, 0, 0, 0), this, 100, NULL);
- m_EditWnd.ShowWindow(SW_SHOW);
- MoveControls();
- m_DittoWindow.DoCreate(this);
- m_DittoWindow.m_bDrawChevron = false;
- m_DittoWindow.SetCaptionColors(g_Opt.m_Theme.CaptionLeft(), g_Opt.m_Theme.CaptionRight(), g_Opt.m_Theme.Border());
- m_DittoWindow.SetCaptionOn(this, CAPTION_TOP, true);
- m_crIcon.SetRect(-2, -15, 15, 0);
- SetWindowText(_T("Ditto Editor"));
- return 0;
- }
- void CEditFrameWnd::OnDestroy()
- {
- CFrameWnd::OnDestroy();
- CRect rect;
- GetWindowRect(&rect);
- CGetSetOptions::SetEditWndSize(rect.Size());
- CGetSetOptions::SetEditWndPoint(rect.TopLeft());
- ::SendMessage(m_hNotifyWnd, WM_EDIT_WND_CLOSING, 0, 0);
- }
- void CEditFrameWnd::OnSize(UINT nType, int cx, int cy)
- {
- CFrameWnd::OnSize(nType, cx, cy);
- m_DittoWindow.DoSetRegion(this);
- MoveControls();
- }
- void CEditFrameWnd::MoveControls()
- {
- if(::IsWindow(m_EditWnd.GetSafeHwnd()))
- {
- CRect cr;
- GetClientRect(cr);
- m_EditWnd.MoveWindow(cr);
- }
- }
- bool CEditFrameWnd::EditIds(CClipIDs &Ids)
- {
- return m_EditWnd.EditIds(Ids);
- }
- BOOL CEditFrameWnd::PreCreateWindow(CREATESTRUCT& cs)
- {
- if(cs.hMenu!=NULL)
- {
- ::DestroyMenu(cs.hMenu); // delete menu if loaded
- cs.hMenu = NULL; // no menu for this window
- }
- WNDCLASS wc;
- wc.style = CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW;
- wc.lpfnWndProc = AfxWndProc;
- wc.cbClsExtra = 0;
- wc.cbWndExtra = 0;
- wc.hInstance = AfxGetInstanceHandle();
- wc.hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
- wc.hCursor = LoadCursor(NULL, IDC_ARROW);
- wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
- wc.lpszMenuName = NULL;
- wc.lpszClassName = _T("Ditto Edit Wnd");
- // Create the QPaste window class
- if (!AfxRegisterClass(&wc))
- return FALSE;
- cs.lpszClass = wc.lpszClassName;
- return CFrameWnd::PreCreateWindow(cs);
- }
- void CEditFrameWnd::OnDummy()
- {
- }
- void CEditFrameWnd::OnSetFocus(CWnd* pOldWnd)
- {
- CFrameWnd::OnSetFocus(pOldWnd);
- m_EditWnd.SetFocus();
- }
- void CEditFrameWnd::OnClose()
- {
- if(m_EditWnd.CloseEdits(true) == false)
- return;
- CFrameWnd::OnClose();
- }
- void CEditFrameWnd::OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR* lpncsp)
- {
- CWnd::OnNcCalcSize(bCalcValidRects, lpncsp);
- m_DittoWindow.DoNcCalcSize(bCalcValidRects, lpncsp);
- }
- void CEditFrameWnd::OnNcPaint()
- {
- m_DittoWindow.DoNcPaint(this);
- }
- HITTEST_RET CEditFrameWnd::OnNcHitTest(CPoint point)
- {
- UINT Ret = m_DittoWindow.DoNcHitTest(this, point);
- if(Ret == -1)
- return CWnd::OnNcHitTest(point);
- return Ret;
- }
- void CEditFrameWnd::OnNcLButtonDown(UINT nHitTest, CPoint point)
- {
- m_DittoWindow.DoNcLButtonDown(this, nHitTest, point);
- CFrameWnd::OnNcLButtonDown(nHitTest, point);
- }
- void CEditFrameWnd::OnNcLButtonUp(UINT nHitTest, CPoint point)
- {
- if(m_DittoWindow.DoNcLButtonUp(this, nHitTest, point) > 0)
- return;
- CFrameWnd::OnNcLButtonUp(nHitTest, point);
- }
- void CEditFrameWnd::OnNcMouseMove(UINT nHitTest, CPoint point)
- {
- m_DittoWindow.DoNcMouseMove(this, nHitTest, point);
- CFrameWnd::OnNcMouseMove(nHitTest, point);
- }
- BOOL CEditFrameWnd::PreTranslateMessage(MSG* pMsg)
- {
- m_DittoWindow.DoPreTranslateMessage(pMsg);
- return CFrameWnd::PreTranslateMessage(pMsg);
- }
- bool CEditFrameWnd::CloseAll()
- {
- return m_EditWnd.CloseEdits(true);
- }
- void CEditFrameWnd::OnNcLButtonDblClk(UINT nHitTest, CPoint point)
- {
- CPoint pt(point);
- ScreenToClient(&pt);
- if(m_crIcon.PtInRect(pt))
- {
- CloseAll();
- OnClose();
- return;
- }
- CFrameWnd::OnNcLButtonDblClk(nHitTest, point);
- }
|