Files
Work/hookproc/MAINWND.HPP
2024-08-07 09:16:27 -04:00

58 lines
1.4 KiB
C++

#ifndef _HOOKPROC_MAINWINDOW_HPP_
#define _HOOKPROC_MAINWINDOW_HPP_
#ifndef _COMMON_WINDOW_HPP_
#include <common/window.hpp>
#endif
#ifndef _COMMON_STRING_HPP_
#include <common/string.hpp>
#endif
#ifndef _HOOKPROC_MESSAGEHOOK_HPP_
#include <hookproc/msghook.hpp>
#endif
class MainWindow : public Window
{
public:
MainWindow(void);
virtual ~MainWindow();
int messageLoop(void)const;
static String className(void);
private:
enum{TimerID=0};
void createControls(void);
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<MainWindow> mPaintHandler;
Callback<MainWindow> mDestroyHandler;
Callback<MainWindow> mCommandHandler;
Callback<MainWindow> mKeyDownHandler;
Callback<MainWindow> mSizeHandler;
Callback<MainWindow> mCreateHandler;
static char szClassName[];
static char szMenuName[];
MsgHook mMsgHook;
};
inline
String MainWindow::className(void)
{
return String(szClassName);
}
inline
int MainWindow::messageLoop(void)const
{
return Window::messageLoop();
}
#endif