#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_windowClass[]; extern TCHAR _alf_controlClass[]; void ALF_RegisterWindowClass(void); void ALF_RegisterControlClass(void); HWND ALF_CreatePanelWindow(HWND parent, WORD id); void ALF_BuildUniqueName(TCHAR *buf, const TCHAR *prefix, ULONG_PTR uniquifier); void ALF_BuildUniqueNameW(WCHAR *buf, const WCHAR *prefix, ULONG_PTR uniquifier); // TODO: think about making it public BOOL ALF_ShouldMessageBubble(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); // 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);