[MSL (irc)] Problem mit mdx.dll und TreeView-Switchbar

Bl4dE

Mitglied
Hi, ich wollte mir bei meinem mIRC eine neue Switchbar basteln, die etwas schicker ausschaut, habe nun allerdings ein kleines Problemchen.
Ich bin Anfangs recht gut vorrangekommen und habe es auch geschaft, dass er die Channels wechselt wenn ich auf einen klicke.
Wenn ich aber einen neuen Channel betrete zeigt er ihn mir nicht an, was bedeutet ich muss die Switchbar aktualisieren. Dies allerdings jedesmal selber machen, also den Dialog neu öffnen, ist ja nicht Sinn und Zweck der Sache.

Hier mal meinen Code:
Code:
alias mdx {
  /dll dll\mdx\mdx.dll $1-
}
alias ultradock {
  /dll dll\UltraDock\UltraDock.dll $1-
}

alias load.switchbar { 
  if ($dialog(switchbar)) { 
    did -r switchbar 1
    var %s = 1
    while (%s <= $scon(0)) { 
      scon %s 
      did -i switchbar 1 1 cb root 
      did -a switchbar 1 +eb 1 1 $iif($status != disconnected,$iif($scon(%s).network == $null,$scon(%s).server $chr(9) $scon(%s).server,$scon(%s).network $chr(9) $scon(%s).network / $scon(%s).server),Not connected) 
      did -i switchbar 1 1 cb last 
      did -a switchbar 1 +e 3 3 Channel ( $+ $chan(0) $+ ) $chr(9) Channel ( $+ $chan(0) $+ ) 
      did -i switchbar 1 1 cb last 
      var %i = 1 
      while (%i <= $chan(0)) { 
        did -a switchbar 1 2 2 $chan(%i) $chr(9) $chan(%i) 
        inc %i 
      } 
      did -i switchbar 1 1 cb up 
      did -a switchbar 1 +e 3 3 Queries ( $+ $query(0) $+ ) $chr(9) Queries ( $+ $query(0) $+ ) 
      did -i switchbar 1 1 cb last 
      var %i = 1 
      while (%i <= $query(0)) { 
        did -a switchbar 1 3 3 $query(%i) $chr(9) $query(%i) 
        inc %i 
      }
      inc %s 
    }
  } 
}

dialog switchbar { 
  title "switchbar" 
  size -1 -1 75 1000 
  option dbu 
  list 1, -1 -1 78 1000, size
}

on *:connect:{
  dialog -m switchbar switchbar  
  mdx SetMircVersion $version 
  mdx MarkDialog $dname
  mdx SetDialog $dname style 
  mdx SetControlMDX $dname 1 treeview haslines hasbuttons showsel > dll\mdx\VIEWS.mdx
  ultradock Dock 0 $dialog(switchbar).hwnd left switchbar
  load.switchbar
}

on *:DIALOG:switchbar:sclick:1: { 
  tokenize 32 $did(1,1)
  if ($4) && (!$5) {
    scon $calc($4 - 1)
    window -a "status window"
  }
  elseif ($5 = 2) && ($6) {
    scon $calc($4 - 1)
    window -a $chan($calc($6 - 1))
  }
  elseif ($5 = 3) && ($6) {
    scon $calc($4 - 1)
    window -a $query($calc($6 - 1))
  }
  if ($calc($4 - 1) > $scid(0)) {
    if ($6) {
      if ($5 == 2) {
        window -a "Get $get($calc($6 - 1)) $get($calc($6 - 1)).file $+ "
      }
      elseif ($5 == 3) {
        window -a "Send $send($calc($6 - 1)) $send($calc($6 - 1)).file $+ "
      }
      elseif ($5 == 4) {
        window -a = $+ $chat($calc($6 - 1))
      }
    }
  }
}
}

Ich wollte es eigentlich immer wie folgt aktualisieren:
Code:
on *:JOIN:#:{
if ($nick == $me ) {
/load.switchbar
}
}
on *:PART:#:{
if ($nick == $me ) {
/load.switchbar
}
}
.
.
.

Allerdings hält es mein mIRC nicht für nötig, diese Befehle auszuführen.
Wie müsste ich es aktualisieren, damit er mir beim Joinen in einen channel diesen auch in der Switchbar anzeigt ?

MfG Bl4dE,
danke im vorraus
 
Guten Tag.
Könntest du den Fehler berichtigt nochmal ins Forum posten? Danke.
Wie machst du das übrigens mit dem Switchbar-Programmieren? Btw. ist die Switchbar genau genommen was?
 

Neue Beiträge

Zurück