#pragma once #include "alf.h" #include #include #include #include #include #ifdef _MSC_VER // MSVC6 for scoping hack # define for if(0){}else for #endif #include "alflist.h" #include "alfcompat.h" #include "alflayout.h" extern TCHAR _alf_controlClass[]; void ALF_RegisterToplevelClass(void); void ALF_UnregisterToplevelClass(void); void ALF_RegisterControlClass(void); HWND ALF_CreatePanelWindow(HWND parent, WORD id); // TODO: think about making it public BOOL ALF_ShouldMessageBubble(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); BOOL ALF_ReflectMessage(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam, LRESULT *pRet); // TODO: refine custom control API, make it public // passed as ptr in WM_CREATE typedef struct { WNDPROC windowProc; void *param; } ALFControlCreateParams; HWND ALF_CreateControlWindow(DWORD exstyle, const TCHAR *text, DWORD style, int x, int y, int w, int h, HWND parent, HMENU hmenu, WNDPROC windowProc, void *param);