Two Plus Two Publishing LLC
Two Plus Two Publishing LLC
 

Go Back   Two Plus Two Poker Forums > > >

Notices

Free Software Discussion of Free / Freeware / Donationware / Open Source poker software and Free Graphics mods

Reply
 
Thread Tools Display Modes
Old 03-28-2011, 05:36 PM   #126
BWillie
veteran
 
BWillie's Avatar
 
Join Date: May 2005
Location: Seaworld
Posts: 2,641
Re: AHK Script: Stacked Table Previewer

I don't know what the deal is w/ me. When I run it I just had two tables going and it said "258 tables previewed" but it was just a big box that was blank. Like I could see right thru it. See image below.



http://tinypic.com/view.php?pic=sxlvk3&s=7

I have Windows XP, Home Edition Version 2002.
BWillie is offline   Reply With Quote
Old 03-28-2011, 06:23 PM   #127
_dave_
_Pooh_Bah_
 
Join Date: Feb 2005
Location: UK (or what remains of it)
Posts: 12,952
Re: AHK Script: Stacked Table Previewer

It only works on Vista or Win7 - no WinXP I'm afraid
_dave_ is offline   Reply With Quote
Old 05-29-2011, 08:25 AM   #128
stokkbroker
journeyman
 
Join Date: Jan 2010
Location: Oslo
Posts: 238
Re: AHK Script: Stacked Table Previewer

$10 to the first one who PMs me how to get this script working on my computer (stars transfer).

I dont know much about computers, and dont know how to get this to work on my computer.

Need easy step by step instructions. Have no idea what that code means.
stokkbroker is offline   Reply With Quote
Old 05-29-2011, 01:24 PM   #129
mckrogh
Carpal \'Tunnel
 
mckrogh's Avatar
 
Join Date: Jan 2009
Posts: 6,462
Re: AHK Script: Stacked Table Previewer

Any change this will ever work on tilt again?
mckrogh is offline   Reply With Quote
Old 05-29-2011, 11:19 PM   #130
freo
enthusiast
 
Join Date: Nov 2008
Posts: 90
Re: AHK Script: Stacked Table Previewer

Quote:
Originally Posted by stokkbroker View Post
$10 to the first one who PMs me how to get this script working on my computer (stars transfer).

I dont know much about computers, and dont know how to get this to work on my computer.

Need easy step by step instructions. Have no idea what that code means.
1. Make sure you have Vista or Windows 7 (it wont work on XP or below)
2. Download and install autohotkey from here http://www.autohotkey.com/download/A...keyInstall.exe
3. Open notepad
4. Copy + paste the most recent code from this thread into notepad
5. File -> Save As. Save the file as a .ahk file eg stack.ahk
6. Quit Notepad
7. Find the file you just saved and double click it (stack.ahk). The program should launch and you're up and running.
freo is offline   Reply With Quote
Old 05-29-2011, 11:20 PM   #131
freo
enthusiast
 
Join Date: Nov 2008
Posts: 90
Re: AHK Script: Stacked Table Previewer

Quote:
Originally Posted by mckrogh View Post
Any change this will ever work on tilt again?
I wasn't aware that it didnt work anymore. When did it stop working?
freo is offline   Reply With Quote
Old 05-30-2011, 04:27 AM   #132
mckrogh
Carpal \'Tunnel
 
mckrogh's Avatar
 
Join Date: Jan 2009
Posts: 6,462
Re: AHK Script: Stacked Table Previewer

Quote:
Originally Posted by freo View Post
I wasn't aware that it didnt work anymore. When did it stop working?
I just tried it yesterday - the latest version you posted (post #112), just changed the background from transperent to black. Didnt work.

Can you make it work for full tilt again?
mckrogh is offline   Reply With Quote
Old 05-30-2011, 04:30 AM   #133
freo
enthusiast
 
Join Date: Nov 2008
Posts: 90
Re: AHK Script: Stacked Table Previewer

Did you also change the line:
pokersite=ps
to
pokersite=ft
freo is offline   Reply With Quote
Old 05-30-2011, 04:31 AM   #134
mckrogh
Carpal \'Tunnel
 
mckrogh's Avatar
 
Join Date: Jan 2009
Posts: 6,462
Re: AHK Script: Stacked Table Previewer

Quote:
Originally Posted by freo View Post
Did you also change the line:
pokersite=ps
to
pokersite=ft
Eeh nah, which line? could be the prob
mckrogh is offline   Reply With Quote
Old 05-30-2011, 04:33 AM   #135
freo
enthusiast
 
Join Date: Nov 2008
Posts: 90
Re: AHK Script: Stacked Table Previewer

Around line 25, its the first of the user defined settings.
freo is offline   Reply With Quote
Old 05-30-2011, 04:35 AM   #136
mckrogh
Carpal \'Tunnel
 
mckrogh's Avatar
 
Join Date: Jan 2009
Posts: 6,462
Re: AHK Script: Stacked Table Previewer

Awesome! Will try it out! Thanks a lot freo!!!
mckrogh is offline   Reply With Quote
Old 06-02-2011, 10:08 AM   #137
fab12
enthusiast
 
Join Date: Apr 2009
Posts: 64
Re: AHK Script: Stacked Table Previewer

Hi Freo

Don't know if it is of any interest for anyone but I made an evolution to your script ( good job by the way :-) ).
When you click at a thumbnail it sends a controlclick in the actual table window at the corresponding relative coordinates.
So you can for instance check the fold checkbox without waiting the table to be activated.
Maybe it's ok to remove the code to close the table now since you may be able to close the table by clicking on the regular window closing x in the corner (though I did not try that).

I tested it and it seems to work fine though there are probably some cleanup to make.

The changes are marked with "Patch fab12".

Quote:
Originally Posted by freo View Post
Transparent works fine for me, heres the full code
Code:
; freo's Stacked Table Previewer v1.14
; Only works in Vista/Windows7 with aero enabled
; 'clay973' on PS for donations

;Features:
;Shows thumbnails of all stacked tables in a preview window
;Adds and removes tables as they are opened and closed
;Click on the thumbnail to activate the table in the stack
;Click the "Leave Table" icon on Pokerstars thumbnails or the Options/Lobby/Stats icons on FTP thumbnails to leave the table
    ;this will also click the "are you sure you want to leave?" message box
;Displays number of open tables in the preview window title (in the caption)
;Highlights the active table green in the thumbnail (Color and border width can be changed in the user defined settings)
;Highlights the previous active table pink (Color and border width can be changed in the user defined settings)

#SingleInstance Force
#NoEnv

DetectHiddenWindows,On
SetTitleMatchMode, 2

OnMessage(0x201,"clickevent")
OnMessage(0x46, "WM_WINDOWPOSCHANGING")

;------------------------------------------------------------------------------------------------------------------
;User defined settings
pokersite=ps                    ;Pokersite ID - ps for Pokerstars : ft for Full Tilt : cu for customised (you'll need to change cu settings further down)
hostwindoww=800                ;Host preview window width             
hostwindowh=900                 ;Host preview window height
hostwindowx=800                 ;Host preview window x position on screen
hostwindowy=0                  ;Host preview window y position on screen
refreshrate=3000                ;Number of seconds to wait between refreshes (1000 = 1 second)
activebordersize=4              ;Width of the colored border for showing active and last active tables
activebordercolor=00FF00        ;Color of the highlight border for the active window
lactivebordercolor=FF00FF       ;Color of the highlight boredr for the last active window

;------------------------------------------------------------------------------------------------------------------

if pokersite = ps
{
    ptablebasew=483                                     ;Poker table base resolution width(For stars this is the smallest table resolution (483 x 353)
    ptablebaseh=353                                     ;Poker table base resolution height(For stars this is the smallest table resolution (483 x 353)
    
    ;Close settings - On Pokerstars this is the area of the Leave Table icon in the top right of the thumbnail
    closexl=418                                         ;Left x position of leave table button in relation to the resolution set against ptablebasew & ptablebaseh 
    closexr=481                                         ;Right x position of leave table button in relation to the resolution set against ptablebasew & ptablebaseh 
    closeyt=24                                          ;Top y position of leave table button in relation to the resolution set against ptablebasew & ptablebaseh 
    closeyb=42                                          ;Bottom y position of leave table button in relation to the resolution set against ptablebasew & ptablebaseh
    
    windowtitle=ahk_class PokerStarsTableFrameClass     ;Window title to match to find tables - Pokerstars (use window class (ahk_class prefixed))
    windowtitleexclude=                                 ;Window title to exclude 
}
else if pokersite = ft
{
    ptablebasew=480                                     ;Poker table base resolution width
    ptablebaseh=351                                     ;Poker table base resolution height
    
    ;Close settings - On Full Tilt this is the area of the blue Options/Lobby/Stats icons in the top right of the thumbnail
    closexl=427                                         ;Left x position of leave table button in relation to the resolution set against ptablebasew & ptablebaseh 
    closexr=478                                         ;Right x position of leave table button in relation to the resolution set against ptablebasew & ptablebaseh 
    closeyt=22                                          ;Top y position of leave table button in relation to the resolution set against ptablebasew & ptablebaseh 
    closeyb=52                                          ;Bottom y position of leave table button in relation to the resolution set against ptablebasew & ptablebaseh
    
    windowtitle=Logged In ahk_class QWidget             ;Window title to match to find tables - (use window class (ahk_class prefixed))
    windowtitleexclude=Full Tilt                        ;Window title to exclude  
}
else if pokersite = cu         ;Change these settings for a custom site/application
{
    ptablebasew=483                                     ;Poker table base resolution width(For stars this is the smallest table resolution (483 x 353)
    ptablebaseh=353                                     ;Poker table base resolution height(For stars this is the smallest table resolution (483 x 353)
    closexl=418                                         ;Left x position of leave table button in relation to the resolution set against ptablebasew & ptablebaseh 
    closexr=481                                         ;Right x position of leave table button in relation to the resolution set against ptablebasew & ptablebaseh 
    closeyt=24                                          ;Top y position of leave table button in relation to the resolution set against ptablebasew & ptablebaseh 
    closeyb=42                                          ;Bottom y position of leave table button in relation to the resolution set against ptablebasew & ptablebaseh
    windowtitle=My win ahk_class AutoHotkeyGUI	        ;Window title to match to find tables - Pokerstars (use control type)
    windowtitleexclude=                                 ;Window title to exclude 
}


hModule := DllCall("LoadLibrary", "str", "dwmapi.dll")       ;Load dwmapi.dll for handling thumbnails
SysGet, borderxa, 45                                         ;Size of the x window 3D border
Sysget, borderya, 46                                         ;Size of the y window 3D border
Sysget, captionha, 4                                         ;Size of the caption
Sysget, borderxb, 5                                          ;Size of the x window normal border
Sysget, borderyb, 6                                          ;Size of the y window normal border
borderx := borderxa + borderxb                               ;Total size of the x border
bordery := borderya + borderyb                               ;Total size of the y border
captionh := captionha + bordery                             ;Total size of the caption
clientareah := hostwindowh - bordery - captionh              ;Height of the area thumbnail windows can be placed in
clientareaw := hostwindoww - borderx - borderx               ;Width of the area thumbnail windows can be placed in
clientareax := hostwindowx + borderx
clientareay := hostwindowy + captionh
ptablehwratio := (ptablebaseh-captionha) / ptablebasew                  ;Ratio used for scaling thumbnail window size
lastactive:=0
thisactive:=0
borderguix:=clientareax
borderguiy:=clientareay

;Create preview window
Gui, 99: +LastFound +LabelForm1_                            
target := WinExist()

;Test calls
;DLL hook for detecting window activations (for colored active table borders)
DllCall( "RegisterShellHookWindow", UInt,target) 
MsgNum := DllCall( "RegisterWindowMessage", Str,"SHELLHOOK" )
OnMessage( MsgNum, "ShellMessage" )

;Create GUi's for colored border
;Gui 1 for active table
Gui, 1:+LastFound +Owner99 
Gui, 1:Color, %activebordercolor%
Gui, 1:-Caption -Border
activegui:=WinExist()

;Gui 2 for last active table
Gui, 2:+LastFound +Owner99 
Gui, 2:Color, %lactivebordercolor%
Gui, 2:-Caption -Border
lactivegui:=WinExist()


;Create Empty variables for storing thumbnail links
Loop, 98
{
    source%A_Index%_hnd:=0
    source%A_Index%_thumb:=0
    source%A_Index%_wide:=0
}

;Show existing tables
WinGet, list, list, %windowtitle%, ,%windowtitleexclude%
tblcount:=0
Loop, %list%
{
    tblcount++
    tblcount%tblcount%:=list%A_Index%    
}

currentcnt:=tblcount                           

;Calculate child window size and number per row
tablesw := numtablesw(currentcnt)
childwinw := Floor(calcwinsize(tablesw, currentcnt))
childwinh := Floor(childwinw * ptablehwratio)

;Create child windows for tables already open
Loop, %tblcount%
{
    thisid:=tblcount%A_Index%
    addchild(A_Index, thisid)
}

Gui, 99: Show, w%hostwindoww% h%hostwindowh% x%hostwindowx% y%hostwindowy%, %tblcount% Tables Previewed

;Infinite loop to monitor table opens, closes & resizes.
Loop,
{    
    Sleep, %refreshrate%
    
    wasredrawn:=0
    
    ;Find any closed tables
    Loop, 98
    {
        thishnd:=source%A_Index%_hnd
        if (thishnd > 0)
        {
            IfWinNotExist, ahk_id %thishnd%
            {
                source%A_Index%_hnd:=0
                source%A_Index%_thumb:=0
                source%A_Index%_wide:=0
            }
        }
    }
        
    ;Get new list of tables
    WinGet, list, list, %windowtitle%, ,%windowtitleexclude% 
    tblcount:=0
    Loop, %list%
    {
        tblcount++
        tblcount%tblcount%:=list%A_Index%    
    }    
    
    ;Find any new tables
    Loop, %tblcount%
    {
        thishnd:=tblcount%A_Index%
        found:=0
        Loop,98
        {
            if (source%A_Index%_hnd = thishnd)
            {
                found:=1
                break            
            }
        }
        
        ;New table found
        if (found = 0)
        {
            ;Find first avail slot
            newslot:=0
            Loop,98
            {
                if (source%A_Index%_hnd = 0)
                {
                    newslot:=A_Index
                    break                    
                }
            }

            ;Determine whether an existing slot is available or a recalculation is required as its a new slot.
            if (newslot <= currentcnt)         ;Existing slot taken, no recalc required
            {
                addchild(newslot, thishnd)
            }
            else                                ;Need to recalculate to determine if new rows or columns are required
            {
                currentcnt += 1
                oldcols:=tablesw
                oldw:=childwinw
                tablesw := numtablesw(currentcnt)
                childwinw := Floor(calcwinsize(tablesw, currentcnt))
                childwinh := Floor(childwinw * ptablehwratio)
                if (oldcols = tablesw) and (oldw = childwinw)       ;Still a slot left at the end of the current config
                    addchild(newslot, thishnd)
                else                                                ;Need to redraw all thumbnails with diff config
                {
                    Loop, 98
                    {
                        unregisterthumbnail(source%A_Index%_thumb)            ;Unregister existing thumbs                         
                    }
                    
                    Loop, %tblcount%
                    {
                        if(A_Index < tblcount)
                        {
                            thisid:=source%A_Index%_hnd
                            addchild(A_Index, thisid)
                        }
                        else
                        {
                            thisid:=tblcount%A_Index%
                            addchild(A_Index, thishnd)
                        }
                    }
                    wasredrawn:=1
                }
            }
        }
    }
    
    ;Check if any tables have been resized and if so, redraw
    if (wasredrawn = 0)                 
    {
        Loop, %tblcount%
        {
            retable:=source%A_Index%_hnd
            WinGetPos,wx,wy,ww,wh,ahk_id %retable%
            if (ww != source%A_Index%_wide)
            {
                unregisterthumbnail(source%A_Index%_thumb)
                addchild(A_Index, retable)
            }
        }
    }
    WinSetTitle, ahk_id %target%, ,%tblcount% Tables Previewed
}

Return


;Function to register the thumbnail to the GUI
registerthumbnail(target, source, thumbnum)
{
    Global    
    
    VarSetCapacity(thumbnail,4,0)
    hr1:=DllCall("dwmapi\DwmRegisterThumbnail",UInt,target,UInt,source,UInt, &thumbnail)
    thumbnail:=Numget(thumbnail,0,true)
    source%thumbnum%_hnd:=source
    source%thumbnum%_thumb:=thumbnail
    
    updatethumbnail(source, thumbnum, thumbnail)
}

;Function sets thumbnail properties and displays
updatethumbnail(source, thumbnum, thumbnail)
{    
    /*
    DWM_TNP_RECTDESTINATION (0x00000001)
    Indicates a value for rcDestination has been specified.
    DWM_TNP_RECTSOURCE (0x00000002)
    Indicates a value for rcSource has been specified.
    DWM_TNP_OPACITY (0x00000004)
    Indicates a value for opacity has been specified.
    DWM_TNP_VISIBLE (0x00000008)
    Indicates a value for fVisible has been specified.
    DWM_TNP_SOURCECLIENTAREAONLY (0x00000010)
    Indicates a value for fSourceClientAreaOnly has been specified.
    */
    
    Global  
    
    dwFlags:=0X1 | 0x2 | 0x10
    opacity:=150
    fVisible:=1
    fSourceClientAreaOnly:=1
    
    ;Determine where to position thumbnail based on its number
    rownum := Ceil(thumbnum / tablesw)
    colnum := Mod(thumbnum - 1,tablesw)
    newx := ((colnum) * childwinw)
    newy := ((rownum - 1) * childwinh) 
    neww := newx + childwinw
    newh := newy + childwinh
    
    WinGetPos,wx,wy,ww,wh,ahk_id %source%
    
    VarSetCapacity(dskThumbProps,45,0)
    ;struct _DWM_THUMBNAIL_PROPERTIES
    NumPut(dwFlags,dskThumbProps,0,"UInt")
    NumPut(newx,dskThumbProps,4,"Int")                     ;x coord in relation to the target
    NumPut(newy,dskThumbProps,8,"Int")                     ;y coord in relation to the target
    NumPut(neww,dskThumbProps,12,"Int")                   ;x coord of bottom of the thumb in relation to the target
    NumPut(newh,dskThumbProps,16,"Int")                   ;y coord of the right edge of the thumb in relation to the target
    NumPut(0,dskThumbProps,20,"Int")                      ;x coord of target to start thumb
    NumPut(0,dskThumbProps,24,"Int")                      ;y coord of target to start thumb
    NumPut(ww-borderx,dskThumbProps,28,"Int")                    ;width of the thumb in relation to the source
    NumPut(wh-captionh,dskThumbProps,32,"Int")                    ;height of the thumb in relation to the source
    NumPut(opacity,dskThumbProps,36,"UChar")
    NumPut(fVisible,dskThumbProps,37,"Int")
    NumPut(fSourceClientAreaOnly,dskThumbProps,41,"Int")
    hr2:=DllCall("dwmapi\DwmUpdateThumbnailProperties","UInt",thumbnail,"UInt",&dskThumbProps) 
    source%thumbnum%_wide:=ww-(borderx*2)
   
}


unregisterthumbnail(unthumbnail)
{
    ur1:=DllCall("dwmapi.dll\DwmUnregisterThumbnail", "UInt", unthumbnail)
}


;Function to determine the optimal number of tables wide to show in preview window
numtablesw(totaltables)
{
    if(totaltables > "1")
    {   
        global clientareah
        global clientareaw
        global ptablehwratio
        
        wsize := 0
        wnum := 0
        
        ;The loop value will equal the number of tables per row
        Loop,%totaltables%
        {            
            thiswsize := floor(calcwinsize(A_Index, totaltables))
            
            if (thiswsize >= wsize)
            {    
                wsize := thiswsize
                wnum := A_Index
            }
        }
        return, %wnum%
    }
    Else 
    {
        return, 1
    }
}

;Calculates child window size based on number of tables per row
calcwinsize(tblperrow, totaltables)
{
    global clientareaw
    global clientareah
    global ptablehwratio
    
    calcwsize := clientareaw / tblperrow
    calcrownum := ceil(totaltables / tblperrow)
            
    if ((clientareah / calcrownum) < (ptablehwratio * calcwsize))
    {
        calcwsize := (1 / ptablehwratio) * (clientareah / calcrownum)
    }
    
    Return, calcwsize    
}

;Adds child window to the preview pane
addchild(usenum, previewid)
{
    Global childwinw
    Global childwinh
    Global hostwindoww
    Global hostwindowh
    Global target

    if (usenum > 0) ;If usenum is 0 it is not part of the initial load of existing windows
    {
        registerthumbnail(target, previewid, usenum)
        Return
    }
}

;Function to determine what happens when a thumbnail is clicked
clickevent(wparam)
{
    local id,win,mousex,mousey,thisslot,thisrow,thiscol,xl,xr,yt,yb
    coordmode,mouse,relative
    mousegetpos,mousex,mousey,id
    if (id=target)
    {
        if(tblcount>0)
        {
            ;Calculate slot number
            thisrow:=Ceil((mousey - captionh) / childwinh)
            thiscol:=Ceil((mousex - borderx) / childwinw)
            thisslot:=((thisrow-1)*tablesw)+thiscol
            getcoords(thisslot,thisrow,thiscol,closexl,closexr,closeyt,closeyb,xl,xr,yt,yb)
            win:=source%thisslot%_hnd
            
            ; Patch fab12 Begin
            WinGetPos, , , tablew, tableh, ahk_id %win%
            getcoordsinv(thisslot,thisrow,thiscol,tablew,tableh,mousex,mousey,MX,MY)
            controlclick, x%MX% y%MY%, ahk_id%win%,,,,NA
            ; Patch fab12 end
            
            ;Action to take
            if (mousex>=(xl-1) and mousex<=(xr-1) and mousey>=(yt+1) and mousey<=(yb+1))    ;Close table
                if pokersite = ps
                {
                    WinGetTitle, closetitle, ahk_id%win% 
                    winclose,ahk_id%win%  
                    stringleft,endtitle,closetitle,3
                    Loop
                    {
                        IfWinNotExist, ahk_id%win% 
                            break
                        
                        WinGet,closeID,ID,%endtitle% ahk_class #32770
                        if (closeID > 0)
                        {
                            WinActivate,ahk_id%closeID% 
                            SendInput {Enter}
                        }
                    }
                }
                else if pokersite = ft
                {
                    WinGetTitle, closetitle, ahk_id%win% 
                    winclose,ahk_id%win%  
                    stringleft,endtitle,closetitle,3
                    Loop
                    {
                        IfWinNotExist, ahk_id%win% 
                            break
                        
                        WinGet,closeID,ID,%endtitle% ahk_class QWidget,,Logged
                        if (closeID > 0)
                        {
                            WinActivate,ahk_id%closeID% 
                            SendInput {Tab}{Enter}
                        }
                    }                
                }
                else
                {
                    winclose,ahk_id%win%                
                }
            else
            {        
                if (win >0)                                                 ;Activate the window
                    winactivate,ahk_id%win%
            }
        }
    }
}

;Calculates the four coordinates of a rectangle in a thumbnail
getcoords(calcslot,thisrow,thiscol,rectxl,rectxr,rectyt,rectyb,ByRef thisxl,ByRef thisxr,ByRef thisyt,ByRef thisyb)
{
    Global    
    
    ;Calculate coords
    realw:=source%calcslot%_wide
    thisx:= ((thiscol-1) * childwinw)+borderx
    thisy:= ((thisrow - 1) * childwinh)+captionh ;+bordery 
    thisxl:=floor((childwinw*((rectxl-borderx)/(ptablebasew-borderx))) + thisx)
    thisxr:=floor((childwinw*((rectxr-borderx)/(ptablebasew-borderx))) + thisx) 
    thisyt:=floor((childwinh*((rectyt-captionh)/(ptablebaseh-captionh-bordery))) + thisy)
    thisyb:=floor((childwinh*((rectyb-captionh)/(ptablebaseh-captionh-bordery))) + thisy) 
    
    return
}

; Patch fab12 Begin
getcoordsinv(calcslot,thisrow,thiscol,tablew,tableh,rectx,recty,ByRef thisx,ByRef thisy)
{
    Global    
    
    ;Calculate coords
    realw:=source%calcslot%_wide
    thisx:= ((thiscol-1) * childwinw)+borderx
    thisy:= ((thisrow - 1) * childwinh)+captionh 
    thisx:=(rectx-thisx)*tablew/childwinw
    thisy:=(recty-thisy)*tableh/childwinh

    
    return
}
; Patch fab12 End

;Function for docking the border gui's to the preview window
WM_WINDOWPOSCHANGING(wParam, lParam) 
{ 
    Global captionh,borderx,thisactive,lastactive, borderguix, borderguiy
    if (A_Gui = 99) && !(NumGet(lParam+24) & 0x2) ; SWP_NOMOVE=0x2 
    { 
        ; Since WM_WINDOWPOSCHANGING happens *before* the window moves, 
        ; we must get the new position from the WINDOWPOS pointed to by lParam. 
        borderguix := NumGet(lParam+8,0,"int") + borderx
        borderguiy := NumGet(lParam+12,0,"int") + captionh
        
        ; Move - but don't activate - Border Gui's 
        If(thisactive>0)
            Gui, 1:Show, X%borderguix% Y%borderguiy% NA
        
        if(lastactive>0)
            Gui, 2:Show, X%borderguix% Y%borderguiy% NA
    } 
} 

;Function for detecting window activations for setting border colors
ShellMessage( wParam,lParam )
{
    Global
    
    If ((wParam = 4 or wParam = 32772) And WinExist( "ahk_id " lParam ))                       ;  HSHELL_WINDOWACTIVATED = 4, HSHELL_RUDEAPPACTIVATED = 32772
    {    
        ;If the activated window is in the list set the active and last active window
        matchcnt:=0
        Loop, 98 
        {
            matchcnt++
            if(source%matchcnt%_hnd = lParam)
                break
        }    
        if (matchcnt < 98 and thisactive != lParam)
        {
            ;Set and display active table border gui's
            drawborder(1,matchcnt)
            lastactive:=thisactive
            thisactive:=lParam  
            if(lastactive > 0)
            {
                matchcnt:=0
                Loop, 98 
                {
                    matchcnt++
                    if(source%matchcnt%_hnd = lastactive)
                        break
                } 
                drawborder(2,matchcnt)
            }
        }
    }
}

drawborder(guinum, slotnumb)
{
    Global
    ;Get the thumbnail outer edge coords
    thisrow:=Ceil(slotnumb/tablesw)
    thiscol:=Mod(slotnumb - 1,tablesw)+1
    getcoords(slotnumb,thisrow,thiscol,borderx,ptablebasew-borderx,captionh,ptablebaseh-bordery,xl,xr,yt,yb)
    
    if(guinum=1)
        thisgui:=activegui
    else
        thisgui:=lactivegui
    
    xl-=borderx
    xr-=borderx
    yt-=captionh
    yb-=captionh    
    
    xli:=xl+activebordersize
    xri:=xr-activebordersize
    yti:=yt+activebordersize
    ybi:=yb-activebordersize
    neww:=xr-xl
    newh:=yb-yt
        
    ;Draw the border gui
    WinSet, Region, %xl%-%yt% %xr%-%yt% %xr%-%yb% %xl%-%yb% %xl%-%yt%   %xli%-%yti% %xri%-%yti% %xri%-%ybi% %xli%-%ybi% %xli%-%yti%, ahk_id %thisgui%   
    Gui, %guinum%:Show, x%borderguix% y%borderguiy% W%hostwindoww% H%hostwindowh% NA
}

Form1_Close:
	ExitApp
return

Last edited by _dave_; 06-02-2011 at 11:02 AM.
fab12 is offline   Reply With Quote
Old 08-05-2011, 11:11 PM   #138
DeuceThreeFlush
centurion
 
DeuceThreeFlush's Avatar
 
Join Date: Mar 2010
Location: Creepin your WIFI in my Chevette
Posts: 159
Re: AHK Script: Stacked Table Previewer

it seems as though the active table borders are no longer working for me is this my end or is anyone else having this problem?
DeuceThreeFlush is offline   Reply With Quote
Old 08-06-2011, 04:29 PM   #139
DeuceThreeFlush
centurion
 
DeuceThreeFlush's Avatar
 
Join Date: Mar 2010
Location: Creepin your WIFI in my Chevette
Posts: 159
Re: AHK Script: Stacked Table Previewer

It seems to still have the borders they are just displaying on the wrong monitor? Can't figure out why
DeuceThreeFlush is offline   Reply With Quote
Old 08-07-2011, 08:37 PM   #140
aristoteles
enthusiast
 
aristoteles's Avatar
 
Join Date: Oct 2009
Location: This Is Sparta!...
Posts: 71
Re: AHK Script: Stacked Table Previewer

Awesome!!!!! Great work!!!

Thank you very much freo!!!
aristoteles is offline   Reply With Quote
Old 08-14-2011, 06:37 PM   #141
lydia12345
journeyman
 
Join Date: Jul 2009
Posts: 368
Re: AHK Script: Stacked Table Previewer

It seems the color boarder is not working now after the update. Does anyone know how to fix this.

Thank you !
lydia12345 is offline   Reply With Quote
Old 10-01-2011, 01:18 AM   #142
Max Cut
Carpal \'Tunnel
 
Max Cut's Avatar
 
Join Date: Apr 2010
Location: exiledpolitics.freeforums.net
Posts: 10,341
Re: AHK Script: Stacked Table Previewer

Quote:
Originally Posted by lydia12345 View Post
It seems the color boarder is not working now after the update. Does anyone know how to fix this.

Thank you !
I'm not familiar with the code but I find that when I comment out the lines below, it seems to work for me (as long as I do not move the preview window). (To comment them out, just put a ; in front of them.)

borderguix := NumGet(lParam+4,0,"int") + borderx
borderguiy := NumGet(lParam+8,0,"int") + captionh



Nice proggy, btw!
Max Cut is offline   Reply With Quote
Old 10-02-2011, 07:43 AM   #143
freo
enthusiast
 
Join Date: Nov 2008
Posts: 90
Re: AHK Script: Stacked Table Previewer

Still works ok for me so i'm not sure???
freo is offline   Reply With Quote
Old 10-18-2011, 05:39 PM   #144
gNt
journeyman
 
gNt's Avatar
 
Join Date: Jan 2011
Location: Prishtina/KOSOVA!!!
Posts: 224
Re: AHK Script: Stacked Table Previewer

30$ (stars transfer) for the first one that gets this one running good on my computer ( I have Windows 7 and Aero and a very good computer) but it doesn't work for unknown reasons for me...


thanks!!
gNt is offline   Reply With Quote
Old 10-18-2011, 08:22 PM   #145
freo
enthusiast
 
Join Date: Nov 2008
Posts: 90
Re: AHK Script: Stacked Table Previewer

How far did you get?

Is the preview window coming up at all?
freo is offline   Reply With Quote
Old 10-18-2011, 09:03 PM   #146
ServerBTest002
grinder
 
ServerBTest002's Avatar
 
Join Date: Nov 2010
Posts: 562
Re: AHK Script: Stacked Table Previewer

This script seems wonderful... however may I ask something?

Table previews don't show tableninja frames... can you add that option? It could be wonderful if a big circle of something like that will be displayed on the table that requires an action...

http://img23.imageshack.us/img23/2363/ideaz.png

is that possible?
Obv if you can help me I will send you a donation
ServerBTest002 is offline   Reply With Quote
Old 10-18-2011, 09:47 PM   #147
freo
enthusiast
 
Join Date: Nov 2008
Posts: 90
Re: AHK Script: Stacked Table Previewer

Quote:
Originally Posted by ServerBTest002 View Post
This script seems wonderful... however may I ask something?

Table previews don't show tableninja frames... can you add that option? It could be wonderful if a big circle of something like that will be displayed on the table that requires an action...

http://img23.imageshack.us/img23/2363/ideaz.png

is that possible?
Obv if you can help me I will send you a donation
I'll check out how TN works when I get home.
freo is offline   Reply With Quote
Old 10-18-2011, 09:48 PM   #148
ServerBTest002
grinder
 
ServerBTest002's Avatar
 
Join Date: Nov 2010
Posts: 562
Re: AHK Script: Stacked Table Previewer

Quote:
Originally Posted by freo View Post
I'll check out how TN works when I get home.
ServerBTest002 is offline   Reply With Quote
Old 10-19-2011, 03:20 AM   #149
gNt
journeyman
 
gNt's Avatar
 
Join Date: Jan 2011
Location: Prishtina/KOSOVA!!!
Posts: 224
Re: AHK Script: Stacked Table Previewer

Quote:
Originally Posted by freo View Post
How far did you get?

Is the preview window coming up at all?


yes! the preview windows comes up but when I load tables it doesn't show anything but a blank window...
gNt is offline   Reply With Quote
Old 10-19-2011, 03:46 AM   #150
freo
enthusiast
 
Join Date: Nov 2008
Posts: 90
Re: AHK Script: Stacked Table Previewer

Quote:
Originally Posted by gNt View Post
yes! the preview windows comes up but when I load tables it doesn't show anything but a blank window...
Are you using Stars? If so are you logged in?
freo is offline   Reply With Quote

Reply
      

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Forum Jump


All times are GMT -4. The time now is 11:04 AM.


Powered by vBulletin®
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Copyright © 2008-2017, Two Plus Two Interactive
 
 
Poker Players - Streaming Live Online