dcxdll
dcxdll copied to clipboard
Dialog - incorrect work of the function for rounding borders
I am using "mIRC v7.66" + "DCX dll v3.1-git394" in system "Windows 8.1 x64".
When using the "/xdialog -R $dname +r 10" command to round off the borders of the dialog, I found several significant visual flaws.
- General noticeable irregularities at the point where the corners are rounded, which violate (disfigure) the overall design. Perhaps for the inner borders it is worth doing a rounding too, and perhaps this will require redrawing them.
- When using styles
+t,+hty,+mntyfor border of the dialog, only the upper left corner is rounded, and "Titlebar" changes its appearance to a style similar to that of "Windows 7". - When using styles
+tz,+zfor border of the dialog, resizing happens in a weird way that breaks the window's appearance or only enlarges the border itself, without any internal content. - When using style
+vfor border of the dialog, it is not displayed at all.
I would like all these shortcomings to be corrected and brought to the modern level of window decoration, to make it look beautiful.

Here is a test piece of script to reproduce this the problem. To run the script click on "F5" or enter the command "/dbrt":
alias F5 { dbrt }
alias dbrt {
if ($dialog(dbrt1)) {
.dialog -x dbrt1 | .dialog -x dbrt2 | .dialog -x dbrt3 | .dialog -x dbrt4 | .dialog -x dbrt5
.dialog -x dbrt6 | .dialog -x dbrt7 | .dialog -x dbrt8 | .dialog -x dbrt9 | .dialog -x dbrt10
.dialog -x dbrt11 | .dialog -x dbrt12 | .dialog -x dbrt13 | .dialog -x dbrt14 | .dialog -x dbrt15 | .dialog -x dbrt-norm
}
else {
.dialog -mp dbrt1 dbrt1 | .dialog -mp dbrt2 dbrt2 | .dialog -mp dbrt3 dbrt3 | .dialog -mp dbrt4 dbrt4 | .dialog -mp dbrt5 dbrt5
.dialog -mp dbrt6 dbrt6 | .dialog -mp dbrt7 dbrt7 | .dialog -mp dbrt8 dbrt8 | .dialog -mp dbrt9 dbrt9 | .dialog -mp dbrt10 dbrt10
.dialog -mp dbrt11 dbrt11 | .dialog -mp dbrt12 dbrt12 | .dialog -mp dbrt13 dbrt13 | .dialog -mp dbrt14 dbrt14 | .dialog -mp dbrt15 dbrt15 | .dialog -mp dbrt-norm dbrt-norm
}
}
dialog dbrt1 {
size $calc($window(@mirc).dx +270) $calc($window(@mirc).dy +100) 100 80
}
dialog dbrt2 {
size $calc($window(@mirc).dx +390) $calc($window(@mirc).dy +100) 100 80
}
dialog dbrt3 {
size $calc($window(@mirc).dx +510) $calc($window(@mirc).dy +100) 100 80
}
dialog dbrt4 {
size $calc($window(@mirc).dx +630) $calc($window(@mirc).dy +100) 100 80
}
dialog dbrt5 {
size $calc($window(@mirc).dx +750) $calc($window(@mirc).dy +100) 100 80
}
dialog dbrt6 {
size $calc($window(@mirc).dx +270) $calc($window(@mirc).dy +220) 100 80
}
dialog dbrt7 {
size $calc($window(@mirc).dx +390) $calc($window(@mirc).dy +220) 100 80
}
dialog dbrt8 {
size $calc($window(@mirc).dx +510) $calc($window(@mirc).dy +220) 100 80
}
dialog dbrt9 {
size $calc($window(@mirc).dx +630) $calc($window(@mirc).dy +220) 100 80
}
dialog dbrt10 {
size $calc($window(@mirc).dx +750) $calc($window(@mirc).dy +220) 100 80
}
dialog dbrt11 {
size $calc($window(@mirc).dx +270) $calc($window(@mirc).dy +340) 100 80
}
dialog dbrt12 {
size $calc($window(@mirc).dx +390) $calc($window(@mirc).dy +340) 100 80
}
dialog dbrt13 {
size $calc($window(@mirc).dx +510) $calc($window(@mirc).dy +340) 100 80
}
dialog dbrt14 {
size $calc($window(@mirc).dx +630) $calc($window(@mirc).dy +340) 100 80
}
dialog dbrt15 {
size $calc($window(@mirc).dx +750) $calc($window(@mirc).dy +340) 100 80
}
dialog dbrt-norm {
size $calc($window(@mirc).dx +880) $calc($window(@mirc).dy +180) 200 150
}
on *:DIALOG:*:init:*:{
if ($dname == dbrt1) { .dcx Mark $dname dbrt_work1 | .xdialog -b $dname + | .xdialog -g $dname +b $rgb(95,148,34) | .xdialog -c $dname 1 text 40 35 50 50 transparent noformat | .xdid -f $dname 1 +b ansi 20 Tahoma | .xdid -t $dname 1 + | .xdialog -R $dname +r 10 }
if ($dname == dbrt2) { .dcx Mark $dname dbrt_work2 | .xdialog -b $dname +b | .xdialog -g $dname +b $rgb(95,148,34) | .xdialog -c $dname 2 text 30 35 50 50 transparent noformat | .xdid -f $dname 2 +b ansi 20 Tahoma | .xdid -t $dname 2 +b | .xdialog -R $dname +r 10 }
if ($dname == dbrt3) { .dcx Mark $dname dbrt_work3 | .xdialog -b $dname +c | .xdialog -g $dname +b $rgb(95,148,34) | .xdialog -c $dname 3 text 30 35 50 50 transparent noformat | .xdid -f $dname 3 +b ansi 20 Tahoma | .xdid -t $dname 3 +c | .xdialog -R $dname +r 10 }
if ($dname == dbrt4) { .dcx Mark $dname dbrt_work4 | .xdialog -b $dname +d | .xdialog -g $dname +b $rgb(95,148,34) | .xdialog -c $dname 4 text 30 35 50 50 transparent noformat | .xdid -f $dname 4 +b ansi 20 Tahoma | .xdid -t $dname 4 +d | .xdialog -R $dname +r 10 }
if ($dname == dbrt5) { .dcx Mark $dname dbrt_work5 | .xdialog -b $dname +f | .xdialog -g $dname +b $rgb(95,148,34) | .xdialog -c $dname 5 text 30 35 50 50 transparent noformat | .xdid -f $dname 5 +b ansi 20 Tahoma | .xdid -t $dname 5 +f | .xdialog -R $dname +r 10 }
if ($dname == dbrt6) { .dcx Mark $dname dbrt_work6 | .xdialog -b $dname +s | .xdialog -g $dname +b $rgb(95,148,34) | .xdialog -c $dname 6 text 30 35 50 50 transparent noformat | .xdid -f $dname 6 +b ansi 20 Tahoma | .xdid -t $dname 6 +s | .xdialog -R $dname +r 10 }
if ($dname == dbrt7) { .dcx Mark $dname dbrt_work7 | .xdialog -b $dname +o | .xdialog -g $dname +b $rgb(95,148,34) | .xdialog -c $dname 7 text 30 35 50 50 transparent noformat | .xdid -f $dname 7 +b ansi 20 Tahoma | .xdid -t $dname 7 +o | .xdialog -R $dname +r 10 }
if ($dname == dbrt8) { .dcx Mark $dname dbrt_work8 | .xdialog -b $dname +w | .xdialog -g $dname +b $rgb(95,148,34) | .xdialog -c $dname 8 text 30 35 50 50 transparent noformat | .xdid -f $dname 8 +b ansi 20 Tahoma | .xdid -t $dname 8 +w | .xdialog -R $dname +r 10 }
if ($dname == dbrt9) { .dcx Mark $dname dbrt_work9 | .xdialog -b $dname +x | .xdialog -g $dname +b $rgb(95,148,34) | .xdialog -c $dname 9 text 30 35 50 50 transparent noformat | .xdid -f $dname 9 +b ansi 20 Tahoma | .xdid -t $dname 9 +x | .xdialog -R $dname +r 10 }
if ($dname == dbrt10) { .dcx Mark $dname dbrt_work10 | .xdialog -b $dname +y | .xdialog -g $dname +b $rgb(95,148,34) | .xdialog -c $dname 10 text 30 35 50 50 transparent noformat | .xdid -f $dname 10 +b ansi 20 Tahoma | .xdid -t $dname 10 +y | .xdialog -R $dname +r 10 }
if ($dname == dbrt11) { .dcx Mark $dname dbrt_work11 | .xdialog -b $dname +t | .xdialog -g $dname +b $rgb(95,148,34) | .xdialog -c $dname 11 text 30 20 50 50 transparent noformat | .xdid -f $dname 11 +b ansi 20 Tahoma | .xdid -t $dname 11 +t | .xdialog -R $dname +r 10 }
if ($dname == dbrt12) { .dcx Mark $dname dbrt_work12 | .xdialog -b $dname +hty | .xdialog -g $dname +b $rgb(95,148,34) | .xdialog -c $dname 12 text 15 20 80 50 transparent noformat | .xdid -f $dname 12 +b ansi 20 Tahoma | .xdid -t $dname 12 +hty | .xdialog -R $dname +r 10 }
if ($dname == dbrt13) { .dcx Mark $dname dbrt_work13 | .xdialog -b $dname +mnty | .xdialog -g $dname +b $rgb(95,148,34) | .xdialog -c $dname 13 text 2 20 95 50 transparent noformat | .xdid -f $dname 13 +b ansi 20 Tahoma | .xdid -t $dname 13 +mnty | .xdialog -R $dname +r 10 }
if ($dname == dbrt14) { .dcx Mark $dname dbrt_work14 | .xdialog -b $dname +tz | .xdialog -g $dname +b $rgb(95,148,34) | .xdialog -c $dname 14 text 20 17 50 50 transparent noformat | .xdid -f $dname 14 +b ansi 20 Tahoma | .xdid -t $dname 14 +tz | .xdialog -R $dname +r 10 }
if ($dname == dbrt15) { .dcx Mark $dname dbrt_work15 | .xdialog -b $dname +z | .xdialog -g $dname +b $rgb(95,148,34) | .xdialog -c $dname 15 text 25 30 50 50 transparent noformat | .xdid -f $dname 15 +b ansi 20 Tahoma | .xdid -t $dname 15 +z | .xdialog -R $dname +r 10 }
if ($dname == dbrt-norm) { .dcx Mark $dname dbrt-norm_work16 | .xdialog -g $dname +b $rgb(95,148,34) | .xdialog -c $dname 16 text 25 40 150 100 transparent noformat center | .xdid -f $dname 16 +b ansi 20 Tahoma | .xdid -t $dname 16 no border styles }
}
alias dbrt_work1 {} | alias dbrt_work2 {} | alias dbrt_work3 {} | alias dbrt_work4 {} | alias dbrt_work5 {}
alias dbrt_work6 {} | alias dbrt_work7 {} | alias dbrt_work8 {} | alias dbrt_work9 {} | alias dbrt_work10 {}
alias dbrt_work11 {} | alias dbrt_work12 {} | alias dbrt_work13 {} | alias dbrt_work14 {} | alias dbrt_work15 {} | alias dbrt-norm_work16 {}