\ Nizchka (Lars Van Jeurissen) 2003 
\ Small program to make Windows Desktop Icons transparent.
\ Test FindWindowEx, and commctrl with win32forth

anew transicons.f

: z"FindWindow ( z"class z"caption -- hwnd )
        rel>abs swap rel>abs Call FindWindow ;

: z"FindWindowEx ( hwnd1 hwnd2 z"class z"caption -- hwnd )
        rel>abs swap rel>abs 2swap swap Call FindWindowEx ;

: z"MessageBox ( z"text z"caption mbstyle -- ret )
        -rot rel>abs swap rel>abs ( hwnd ) NULL Call MessageBox ;

: ListView_SetTextBkColor ( hwnd colorref -- bool )
                LVM_SETTEXTBKCOLOR swap 0 2swap swap Call SendMessage 1 = ;

: main ( -- )
        z" Progman" z" Program Manager" z"FindWindow ?dup
        IF
                0 z" SHELLDLL_DefView" z" " z"FindWindowEx ?dup
                IF
                        0 z" SysListView32" z" " z"FindWindowEx ?dup
                        IF
                                CLR_NONE ListView_SetTextBkColor
                                0= IF
                                        z" Failed to create transparent\nDesktop Icons"
                                        z" TransIcons" MB_OK MB_ICONERROR OR z"MessageBox drop
                                THEN
                        ELSE
                                z" SysListView32 Window not found!" z" TransIcons" MB_OK z"MessageBox drop
                        THEN
                ELSE
                        z" SHELLDLL_DefView Window not found!" z" TransIcons" MB_OK z"MessageBox drop
                THEN
        ELSE
                z" Progman Window not found!" z" TransIcons" MB_OK MB_ICONERROR OR z"MessageBox drop
        THEN ;


