///////////////////////////////////////////////////////////////////// // V7Control.h : interface of all 1C++ controls. // // Written by Dmitriy Oshchepkov aka DmitrO, mailto: dmitro-75@mail.ru // Copyright (c) 2006-2009. All Rights Reserved. // Version: 1.0 // ////////////////////////////////////////////////////////////////////// //Äëÿ òîãî ÷òîáû êëàññ áûë V7 êîíòðîëîì îí äîëæåí ðåàëèçîâàòü ýòîò èíòåðôåéñ //Ñîçäàíèå ÝÓ ïðîèçâîäèòñÿ ìåòîäîì ÀòðèáóòÔîðìû::ÑîçäàòüÝëåìåíòÓïðàâëåíèÿ() #pragma once class CV7Control { public: virtual BOOL CreateControlWnd(CWnd* pParent, CGetDoc7* pDoc, CGetField* pGetField, CBLContext* pUDC) = 0; //Ñîçäàåò îêíî ÝÓ. //Ïàðàìåòðû: // - pParent - ðîäèòåëüñêîå îêíî (ôîðìà); // - pDoc - äîêóìåíò îòîáðàæàåìûé ôîðìîé; // - pGetField - ðåêâèçèò ôîðìû - ïîä êîòîðûì áóäåò ðàñïîëîæåí ÝÓ; // - pUDC - êîíòåêñò ÊÎÏà-íàñëåäíèêà êëàññà ÝÓ, ìîæåò áûòü NULL. //Âîçâðàùàåò: TRUE - óäà÷íî, FALSE - íåóäà÷íî. static void BeginDrag(const CValue& vDragValue); static BOOL IsDragOn(); static void GetDragValue(CValue& vDragValue, COleDataObject* pDataObject); static void EndDrag(); }; class CV7ControlEx { public: virtual BOOL InitControlEx(CBLContext* pForm, CGetDoc7* pDoc, CGetField* pField, CBLContext* pUDC, CValue* pCreateParam) = 0; // - pForm - OF.Ôîðìà; // - pDoc - äîêóìåíò îòîáðàæàåìûé ôîðìîé; // - pField - ðåêâèçèò ôîðìû - âìåñòî êîòîðîãî íåîáõîäèìî ðàñïîëîæèòü ÝÓ; // - pUDC - êîíòåêñò ÊÎÏà-íàñëåäíèêà êëàññà ÝÓ, ìîæåò áûòü NULL. // - pCreateParam - çíà÷åíèå ñ ïàðàìåòðîì ñîçäàíèÿ virtual BOOL CreateControlWndEx(CWnd* pParent) = 0; //Ñîçäàåò îêíî ÝÓ. //Ïàðàìåòðû: // - pParent - ðîäèòåëüñêîå îêíî (ôîðìà); //Âîçâðàùàåò: TRUE - óäà÷íî, FALSE - íåóäà÷íî. CString m_strLastError; }; class IV7ControlContext { public: virtual CBLContext* GetControlContext() const = 0; };