twig / dcxdll

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

Dialog - add support translucent glass effect only for background #39

Open EpicNet opened 3 years ago

EpicNet commented 3 years ago

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

I tried creating a dialog with a nice translucent glass effect, but it doesn't work as it should. At the moment, can make the window semi-transparent only together with all the elements and borders of the dialog using the "/xdialog -t $dname alpha [0-255]" command, or so that a certain background color of the dialog completely absent, using the command "/xdialog -t $dname transparentcolor [RGB]"

I want to get a command that will help to make only the background of the dialog semi-transparent, without affecting the elements controls and borders of the dialog with title.

This command should have several options for choosing parameters:

  1. Setting RGB color for the background, which should become translucent in the range of 0-255.
  2. Setting image with the extension "PNG" as the background of the dialog with adjustable transparency range of 0-255.

Examples of how it might look: 📷 Screenshot1 , 📷 Screenshot2

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

alias F5 { tge_test }
alias tge_test {
  if ($dialog(tge_test)) .dialog -x tge_test
  else { .dialog -m tge_test tge_test }
}
dialog tge_test {
  title "Translucent Glass Effect"
  icon $mircexe,0
  option pixels
  size -1 -1 400 300
}
on *:DIALOG:tge_test:init:*:{
  .dcx Mark $dname tge_test_work
  .xdialog -b $dname +ty
  .xdialog -g $dname +b $rgb(20,20,27)
  .xdialog -c $dname 1 panel 150 100 100 100
  .xdid -C $dname 1 +b $rgb(95,148,34)
  .xdialog -t $dname transparentcolor $rgb(20,20,27)
  .xdialog -t $dname alpha 130
}
alias tge_test_work {}