PicWin percent bar

PicWin percent bar

mIRC Snippet that creates an horizontal bar using mIRC picwin script. You have the option to drag with the mouse the percent, and also you can close the bar.

Postat de Copyright Categorie Review user Vizualizari Data
BLKoldSUN necunoscut toolbar Cod testat 546 2023-12-17 00:47:36

alias pwintbar.example {
  pwintbar @pwintester 200 15 10 $rgb(68,83,157) $rgb(255,255,255) $rgb(81,83,235) $rgb(200,200,200) $rgb(255,255,255)
}
alias pwintbar {
  if ($9) {
    %pwinb.win = $1
    %pwinb.wid = $2
    %pwinb.hei = $3
    %pwinb.swid = $4
    %pwinb.scol = $7
    %pwinb.tcol = $8
    %pwinb.pcol = $9
    ;Calculation of window size allows inclusion of text for close section.
    ;If not needed, change the x dimension calculation to $calc(%pwinb.wid + 10)
    window -Bfphdo +dL %pwinb.win $mouse.dx $mouse.dy $calc(%pwinb.wid + 30) $calc(%pwinb.hei + 10)
    drawrect -nr %pwinb.win $6 1 0 0 $window(%pwinb.win).w $window(%pwinb.win).h
    drawrect -nfr %pwinb.win $5 1 1 1 $calc($window(%pwinb.win).w - 2) $calc($window(%pwinb.win).h - 2)
    ;Text draw for close section.
    ;Remove if not wanted
    drawtext -nr %pwinb.win $6 "Tahoma" 10 $calc(%pwinb.wid + 10) 5 [X]
    pwintbar.draw 1
  }
}
alias pwintbar.draw {
  if ($window(%pwinb.win)) {
    var %i = $1
    if (%i < 5) { %i = 5 }
    elseif (%i > $calc((%pwinb.wid - %pwinb.swid) + 5)) { %i = $calc((%pwinb.wid - %pwinb.swid) + 5) }
    drawrect -nfr %pwinb.win %pwinb.tcol 1 5 5 %pwinb.wid %pwinb.hei
    drawrect -nfr %pwinb.win %pwinb.pcol 1 5 5 %i %pwinb.hei
    drawrect -nfr %pwinb.win %pwinb.scol 1 %i 5 %pwinb.swid %pwinb.hei
    drawdot %pwinb.win
  }
}
alias pwintbar.perc {
  var %i = $calc($1 - 5)
  ;Echo of result of scroll.
  ;Change to return if required.
  echo -s $ceil($calc((%i / %pwinb.wid) * 100)))
}
menu * {
  sclick: {
    if ($active == %pwinb.win) {
      ;Check for click on close section.
      ;Remove this part if not required.
      if ($inrect($mouse.x,$mouse.y,$calc(%pwinb.wid + 10),5,$width([X],"Tahoma",10),$height([X],"Tahoma",10))) {
        window -c %pwinb.win
        unset %pwinb.*
      }
      elseif ($inrect($mouse.x,$mouse.y,5,5,%pwinb.wid,%pwinb.hei)) { 
        pwintbar.draw $mouse.x
        pwintbar.perc $mouse.x
      }
    }
  }
  mouse: {
    if ($active == %pwinb.win) {
      if ($mouse.key & 1) {
        if ($inrect($mouse.x,$mouse.y,5,5,%pwinb.wid,%pwinb.hei)) { 
          pwintbar.draw $mouse.x 
          pwintbar.perc $mouse.x
        }
      }
    }
  }
}