More TODOs.
Tested TextField.Invalid() beeps on GTK+. Works.
Removed stray/leftover TODO.
Split ymargin into top and bottom margins to accomodate Groups on Windows; fixed those.
Added error return checks to MessageBeep();
Added code for printing HRESULTs on Windows. (There is no HRESULT-to-string function because HRESULTs were designed to be extensible in vendor-specific ways.)
Cleaned up the checkbox image list section of imagelist_winidows.c.
Started writing the framework for having each Table on Windows to maintain their own checkbox image list. This will be needed to properly handle WM_THEMECHANGED.
Dropped checkboxImageList. This is the first of a multi-part commit stream becasue when I tried doing it alll at once the program broke in utterly mysterious ways.
Switched the image list stuff to a static function/message pair.
Fixed a stupid typo. I'm an idiot.
Stored the HIMAGELIST in the tableData struct. Now to store the HTHEME too...
Implemented changing themes in Windows Tables. Phew...