; +-----------------------------+ ; | Icon Selector | ; +-----------------------------+ dialog IconSel { title "Icon Selection" size -1 -1 167 170 option dbu icon $_zicl, 3 text "", 1, 3 3 159 13 text "Select Icon", 2, 7 6 90 8 text "", 3, 0 0 0 0, hide result edit "", 5, 3 20 146 10 button "!", 6, 152 20 10 10 box "", 10, 3 30 159 4 list 4, 3 37 160 111, size extsel button "ok", 8, 84 155 37 12, default ok button "cancel", 9, 125 155 37 12, default cancel box "", 7, 3 148 159 4 text "30 0 100", 11, 37 88 90 10 text "", 13, 63 79 41 8 } alias iconsel::open { dialog -mo iconsel iconsel } alias iconsel::close { dialog -x iconsel iconsel } on *:dialog:iconsel:init:*: { _mdx::load $dname _mdx::button $dname 6,8,9 _mdx::font $dname 4,5,6,7,8,9 _mdx::font $dname 2 large bold _mdx::border $dname 1,4,5 _mdx SetBorderStyle $dname 4 windowedge clientedge var %r = $rgb($rgb(face)) var %r = $+($iif($calc($gettok(%r,1,44) + 20) > 255,255,$v1),$chr(44),$iif($calc($gettok(%r,2,44) + 20) > 255,255,$v1),$chr(44),$iif($calc($gettok(%r,3,44) + 20) > 255,255,$v1)) _mdx SetColor $dname 1,2 background $rgb( [ %r ] ) _mdx SetColor $dname 1,2 textbg $rgb( [ %r ] ) did -i $dname 4 1 bmpsize 32 32 _mdx SetControlMDX $dname 4 listview icon single noheader flatsb autoarrange > $_mdxviews did -h $dname 11,13 did -v $dname 13 _mdx SetControlMDX $dname 11 ProgressBar smooth > $_mdxctl did -f $dname 8 iconsel::fill $_zicl } alias iconsel::fill { var %d = $dialog(iconsel) if (%d) { iconsel::clear did -c %d 5 var %icl = $1 did -a %d 11 0 did -h %d 4 did -v %d 11,13 did -i %d 13 1 Loading Icons... var %x = 0,%y = $calc(100 / $counticons(%icl)) while (%x <= $counticons(%icl)) { did -i %d 4 1 seticon normal 0 $+(%x,$chr(44),%icl) did -a %d 4 0 + %x 0 0 %x did -a %d 11 $round($calc(%y * %x),0) 0 100 inc %x } did -a %d 5 ~ $gettok(%icl,-5-,92) did -h %d 11 did -h %d 13 did -v %d 4 did -d %d 4 2 if ($did($dname,4).lines == 1) { var %n = $input(This file contains no icons,uow,Error) | halt } } } alias iconsel::clear { did -i iconsel 4 1 clearicons normal | did -r iconsel 4 | did -r iconsel 5 } on *:dialog:iconsel:sclick:6: { var %x = $sfile($_gfx,Select a Icon File,Ok),%y = ico icl exe dll if ($gettok($gettok(%x,-1,92),-1,46) !isin %y) { var %n = $input(That is not a valid icon file,uow,Error) | halt } iconsel::fill $shortfn(%x) } on *:dialog:iconsel:sclick:8: { if ($did($dname,4).seltext == $null) { var %n = $input(Please choose an icon or click cancel,uow,Error) | halt } var %x = $longfn($did($dname,5)),%y = $gettok($did($dname,4).seltext,6,32) echo -a File: %x Icon: %y ;writeini whatever.ini icons wtfever-bar $+(%y,$chr(44),%x) ; ^^^ In format mdx.dll uses for specifying icons from .icl files. } on *:dialog:iconsel:dclick:4: { if ($did($dname,4).seltext == $null) { var %n = $input(Please choose an icon or click cancel,uow,Error) | halt } var %x = $longfn($did($dname,5)),%y = $gettok($did($dname,4).seltext,6,32) ;blah dialog -k $dname }