twig / dcxdll

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

ComboEx - add support for customizing colors, indents and new control styles #47

Open EpicNet opened 2 years ago

EpicNet commented 2 years ago

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

The standard color settings in the control "ComboEx" are cardinally different and do not coincide when creating a dialog in of their own design, with certain shades of colors or with an installed image as a background. But unfortunately, at the moment, any color change for this control is not supported.

My proposals for what needs to be corrected and added in "ComboEx", to make it maximally functional and beautiful:

  1. Add a new type of border with to customizable the thickness in pixels. For example +a new flag: "/xdid -x dcx 4 +a 1".
  2. Add to new type of border possibility to color customization. For example +a new flag: "/xdid -C dcx 4 +a $rgb(255,0,0)".
  3. Add customizable background color inside the control and in the dropdown with items.
  4. Add customizable colors for the button that opens the dropdown with items.
  5. Add customizable color for the text of items.
  6. Add customizable color of the selected (highlighted) row to the dropdown list with items (instead of the standard blue).
  7. All color add-ons must use +dhns flags (or something similar) to change colors on hover or mouse click.
  8. Add customizable mouse cursor while moving inside the control using the command: "/xdid -J".
  9. Add customizable indents sizes for the item line from the left and right edge where will: 1 = 1 pixel (instead of 10 pixels).
  10. Add a new style noeditbox for use together with style simple so as do not display (disabled) of the "Editbox" from above.
  11. Add a new style noscroll for use together with style simple so as do not display (disabled) automatic emergence of the scroll bar.
  12. Add a new style righticon so that the icon position is always near the right border the dropdown items, and the text should be located near the left border - (both taking into account the specified indents).

P.S. Perhaps I did not take into account something, forgot to mention or lost sight of what else needs to be done, or on the contrary, made a request about something useless, or maybe after that you have new interesting ideas, therefore, in order to avoid misunderstandings expressed in multiple corrections and rewriting of the code - we can always preliminarily think about this update and discuss in detail the innovations in the chat, so that this control becomes versatile enough, functional, maximally customizable and suitable for any design, in a own peculiar style. Thanks.


image

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

alias F5 { comboex_test }
alias comboex_test {
  if ($dialog(comboex_test)) .dialog -x comboex_test | else { .dialog -m comboex_test comboex_test }
}
dialog comboex_test {
  title "ComboEx test"
  icon $mircexe,0
  option pixels
  size -1 -1 340 230
}
on *:DIALOG:comboex_test:init:0:{
  .dcx Mark $dname comboex_test_work
  .xdialog -b $dname +ty
  .xdialog -g $dname +b $rgb(20,20,27)
  .xdialog -c $dname 1 comboex 40 40 120 150 dropdown | item_making $dname 1
  .xdialog -c $dname 2 comboex 180 40 120 150 dropedit | item_making $dname 2
  .xdialog -c $dname 3 comboex 40 80 260 110 simple | item_making $dname 3
}
alias item_making {
  .xdid -f $1 $2 + ansi 8 Microsoft Sans Serif | .xdid -J $1 $2 +r hand | .xdid -C $1 $2 +b $rgb(40,40,47)
  .xdid -w $1 $2 + 0 $mircexe | .xdid -a $1 $2 1 0 1 1 0 mIRC Client
  .xdid -w $1 $2 + 18 $mircexe | .xdid -a $1 $2 2 0 2 2 0 Favorites
  .xdid -w $1 $2 + 6 $mircexe | .xdid -a $1 $2 3 0 3 3 0 Channels List
  .xdid -w $1 $2 + 11 $mircexe | .xdid -a $1 $2 4 0 4 4 0 Go Here
  .xdid -w $1 $2 + 19 $mircexe | .xdid -a $1 $2 5 0 5 5 0 Block Access
}
alias comboex_test_work {}