#ifndef _TOOLTIP_MAINWINDOW_HPP_ #define _TOOLTIP_MAINWINDOW_HPP_ #ifndef _COMMON_WINDOW_HPP_ #include #endif #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _COMMON_SMARTPOINTER_HPP_ #include #endif #ifndef _COMMON_CONTROL_HPP_ #include #endif #ifndef _HOOKPROC_MESSAGEHOOK_HPP_ #include #endif class ToolTip; class MainWindow : public Window, private MsgHook { public: MainWindow(void); virtual ~MainWindow(); int messageLoop(void)const; static String className(void); protected: virtual int hookProc(int code,WPARAM wParam,LPARAM lParam); private: enum{TimerID=0}; void registerClass(void)const; void insertHandlers(void); void removeHandlers(void); CallbackData::ReturnType paintHandler(CallbackData &someCallbackData); CallbackData::ReturnType destroyHandler(CallbackData &someCallbackData); CallbackData::ReturnType commandHandler(CallbackData &someCallbackData); CallbackData::ReturnType keyDownHandler(CallbackData &someCallbackData); CallbackData::ReturnType sizeHandler(CallbackData &someCallbackData); CallbackData::ReturnType createHandler(CallbackData &someCallbackData); Callback mPaintHandler; Callback mDestroyHandler; Callback mCommandHandler; Callback mKeyDownHandler; Callback mSizeHandler; Callback mCreateHandler; static char szClassName[]; static char szMenuName[]; SmartPointer mToolTipControl; Control mControlWnd; }; inline String MainWindow::className(void) { return String(szClassName); } inline int MainWindow::messageLoop(void)const { return Window::messageLoop(); } #endif