// see https://github.com/golang/go/issues/9916#issuecomment-74812211
#define INITGUID
// get Windows version right; right now Windows XP
#define WINVER 0x0501
#define _WIN32_WINNT 0x0501
#define _WIN32_WINDOWS 0x0501 /* according to Microsoft's winperf.h */
#define _WIN32_IE 0x0600 /* according to Microsoft's sdkddkver.h */
#define NTDDI_VERSION 0x05010000 /* according to Microsoft's sdkddkver.h */
#include<windows.h>
#include<commctrl.h>
#include<stdint.h>
#include<uxtheme.h>
#include<string.h>
#include<wchar.h>
#include<windowsx.h>
#include<vsstyle.h>
#include<vssym32.h>
#include<stdarg.h>
#include<oleacc.h>
#include<stdio.h>
#include"../out/ui.h"
#include"../ui_windows.h"
#include"../uipriv.h"
// ui internal window messages
enum{
// redirected WM_COMMAND and WM_NOTIFY
msgCOMMAND=WM_APP+0x40,// start offset just to be safe
msgNOTIFY,
msgUpdateChild,// fake because Windows seems to SWP_NOSIZE MoveWindow()s and SetWindowPos()s that don't change the window size (even if SWP_NOSIZE isn't specified)