#include TabView::TabView(void) { mCreateHandler.setCallback(this,&TabView::createHandler); mSizeHandler.setCallback(this,&TabView::sizeHandler); mPaintHandler.setCallback(this,&TabView::paintHandler); mHorizontalScrollHandler.setCallback(this,&TabView::horizontalScrollHandler); mVerticalScrollHandler.setCallback(this,&TabView::verticalScrollHandler); mLeftButtonDoubleHandler.setCallback(this,&TabView::leftButtonDoubleHandler); MDIWindow::insertHandler(VectorHandler::CreateHandler,&mCreateHandler); MDIWindow::insertHandler(VectorHandler::SizeHandler,&mSizeHandler); MDIWindow::insertHandler(VectorHandler::PaintHandler,&mPaintHandler); MDIWindow::insertHandler(VectorHandler::VerticalScrollHandler,&mVerticalScrollHandler); MDIWindow::insertHandler(VectorHandler::HorizontalScrollHandler,&mHorizontalScrollHandler); MDIWindow::insertHandler(VectorHandler::LeftButtonDoubleHandler,&mLeftButtonDoubleHandler); } TabView::~TabView() { MDIWindow::removeHandler(VectorHandler::CreateHandler,&mCreateHandler); MDIWindow::removeHandler(VectorHandler::SizeHandler,&mSizeHandler); MDIWindow::removeHandler(VectorHandler::PaintHandler,&mPaintHandler); MDIWindow::removeHandler(VectorHandler::VerticalScrollHandler,&mVerticalScrollHandler); MDIWindow::removeHandler(VectorHandler::HorizontalScrollHandler,&mHorizontalScrollHandler); MDIWindow::removeHandler(VectorHandler::LeftButtonDoubleHandler,&mLeftButtonDoubleHandler); } CallbackData::ReturnType TabView::createHandler(CallbackData &someCallbackData) { setTitle("None"); return FALSE; } CallbackData::ReturnType TabView::sizeHandler(CallbackData &someCallbackData) { return FALSE; } CallbackData::ReturnType TabView::paintHandler(CallbackData &someCallbackData) { PaintInformation *pPaintInfo=(PaintInformation*)someCallbackData.lParam(); PureDevice &pureDevice=(PureDevice&)*pPaintInfo; return (CallbackData::ReturnType)FALSE; } CallbackData::ReturnType TabView::verticalScrollHandler(CallbackData &someCallbackData) { return (CallbackData::ReturnType)FALSE; } CallbackData::ReturnType TabView::horizontalScrollHandler(CallbackData &someCallbackData) { return (CallbackData::ReturnType)FALSE; } CallbackData::ReturnType TabView::leftButtonDoubleHandler(CallbackData &someCallbackData) { return (CallbackData::ReturnType)FALSE; } void TabView::setTitle(const String &strTitle) { String strCaption; String strString; windowText(strCaption); strString=strCaption; strCaption=strCaption.betweenString(0,' '); if(strCaption.isNull())strCaption=strString; strCaption+=String(" - [")+strTitle+String("]"); setCaption(strCaption); } String TabView::getTitle(void)const { String strCaption; windowText(strCaption); return strCaption.betweenString('[',']'); } // *** virtuals void TabView::preRegister(WNDCLASS &wndClass) { wndClass.style|=CS_SAVEBITS|CS_OWNDC; wndClass.hbrBackground=(HBRUSH)::GetStockObject(LTGRAY_BRUSH); } void TabView::preCreate(MDICREATESTRUCT &createStruct) { createStruct.style|=WS_VSCROLL|WS_HSCROLL|WS_CLIPCHILDREN|WS_CLIPSIBLINGS; }