twig / dcxdll

Dialog Control eXtensions for mIRC
BSD 3-Clause "New" or "Revised" License
23 stars 2 forks source link

Divider - periodically does not move field separator #52

Closed EpicNet closed 2 years ago

EpicNet commented 2 years ago

I am using "mIRC v7.66" + "DCX dll v3.1-git428" in system "Windows 8.1 x64".

When trying to move any of the field separators, he it periodically refuses to move (as if it hangs in place). It is supposed to be as docile and smooth as when working with mIRC windows and their dividers. Most likely it needs some code improvement. Thanks.


Here is a test piece of script to reproduce this the problem. To run the script click on "F5" or enter the command "/divider_test":

alias F5 { divider_test }
alias divider_test {
  if ($dialog(divider_test)) .dialog -x divider_test | else { .dialog -m divider_test divider_test }
}
dialog divider_test {
  title "Divider test"
  icon $mircexe,0
  option pixels
  size -1 -1 500 400
}
on *:DIALOG:divider_test:init:0:{
  .dcx Mark $dname divider_test_work
  .xdialog -b $dname +ty
  .xdialog -g $dname +b $rgb(10,10,17)
  .xdialog -c $dname 1 divider 50 50 400 300 notheme | .xdid -v $dname 1 30
  .xdid -x $dname 1 +b
  .xdid -l $dname 1 30 0 $chr(9) 2 panel 0 0 0 0 | .xdid -C $dname 2 +b $rgb(25,25,25)
  .xdid -r $dname 1 0 0 $chr(9) 3 divider 0 0 0 0 vertical | .xdid -v $dname 3 300
  .xdid -l $dname 3 200 0 $chr(9) 4 divider 0 0 0 0 | .xdid -v $dname 4 235
  .xdid -r $dname 3 100 0 $chr(9) 5 panel 0 0 0 0 | .xdid -C $dname 5 +b $rgb(35,35,35)
  .xdid -l $dname 4 200 0 $chr(9) 6 panel 0 0 0 0 | .xdid -C $dname 6 +b $rgb(40,40,47)
  .xdid -r $dname 4 30 0 $chr(9) 7 panel 0 0 0 0 | .xdid -C $dname 7 +b $rgb(25,25,25)
}
alias divider_test_work {}
OokEek commented 2 years ago

try adding the command: xdid -J $dname 2,5-7 +r arrow This should make it much clearer when you are correctly over the positioning bar.

EpicNet commented 2 years ago

/xdid -J $dname 2,5-7 +r arrow

Thanks. This helped when the installation at the very end of code on *:DIALOG:divider_test:init:0:. It would be a good idea to add this note to the help documentation for this control so that novice users of your DLL did not face the same problems.