# PixPut() [v1.0]

Author: SKAN Last Modified: 20100914

Simplifies Drawing Colored Horizontal/Vertical lines and Solid Rectangles on GUI

PixClr( cHwnd, ColorRef=0 )
PixLst( Hwnd )
PixPut( Hwnd, ColorRef=0, X=0, Y=0, W=1, H=1, IsChild=0 )
PixRmv( cHwnd )
PixRmvAll( Hwnd )

For more details of the functions's parameters and return value, please see it's source code or the document.

#### Remarks

Its not stdlib conform, because the functions do not have a prefix.
The library lacks an external documentation, so I *Tuncay* wrote a simple one.
The 'Set of Functions' is required only if you plan to create/delete static controls - at runtime - at large scale ( like in bar-graphing ).
For casual users, PixPut() as stand-alone will be sufficient, but remove the line DllCall( "SetProp", UInt,cHwnd, Str,"PixPut", UInt,hBMP ) from the PixPut() function.

For update's details and remarks related to the functions, please see the AutoHotkey Forum: http://www.autohotkey.com/forum/viewtopic.php?t=59248

#### License

nonexistent

#### Example

    ; #Include PixPut.ahk
    #NoEnv
    SendMode Input
    SetWorkingDir %A_ScriptDir%

    ; Example by SKAN, copied from his first posting at discussion page.
    #SingleInstance, Force
    SetBatchLines -1
    Gui +LastFound -Caption
    Gui1 := WinExist()
    Gui, Show, w640 h480

    PixPut( Gui1, 0xFF0000, 0, 0, 640, 2 )   ; Frame Top
    PixPut( Gui1, 0xFF0000, 0, 0, 2, 480 )   ; Frame Left
    PixPut( Gui1, 0xAA0000, 638, 0, 2, 480 ) ; Frame Right
    PixPut( Gui1, 0xAA0000, 0, 478, 640, 2 ) ; Frame Bottom

    ; Create Vertical Lines
    Loop 309
       BGR := DllCall( "shlwapi.dll\ColorHLSToRGB", Int,A_Index, Int,120, Int,240 )
     , RGB := ( BGR & 0xFF ) << 16 | (( BGR >> 8) & 0xFF ) | ( BGR >> 16 )
     , PixPut( Gui1, BGR, 10+(A_Index*2), 10, 2, 25 )

    ; Create Solid Blocks
    PixPut( Gui1, 0xFF0000, 100, 100, 200, 200 ) ; R
    PixPut( Gui1, 0x00FF00, 150, 150, 200, 200 ) ; G
    PixPut( Gui1, 0x0000FF, 200, 200, 200, 200 ) ; B

    ; Create Horizontal Lines
    PixPut( Gui1, 0xFF00FF, 10, 461, 620, 1 )    ; C
    PixPut( Gui1, 0xFFFF00, 10, 462, 620, 1 )    ; Y
    PixPut( Gui1, 0x00FFFF, 10, 463, 620, 1 )    ; M
    PixPut( Gui1, 0x000000, 10, 464, 620, 1 )    ; K
    Return

    GuiEscape:
    ExitApp