twig / dcxdll

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

RichEdit - impossible to change the border, new proposals for updating #50

Open EpicNet opened 3 years ago

EpicNet commented 3 years ago

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

Unfortunately, it is currently not possible to remove, change, or adjust the color for the border of this control. I would like to receive support for solving this problem.

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

  1. Add customizable enabling and disabling of the border through the command: "/xdid -x".
  2. Add a new type of border with to customizable the thickness in pixels. For example +a new flag: "/xdid -x dcx 4 +a 1".
  3. Add to new type of border possibility to color customization. For example +a new flag: "/xdid -C dcx 4 +a $rgb(255,0,0)".
  4. Add customizable color for selected (highlighted) part of the text (instead of the standard blue).
  5. Add customizable color of the separator vertical line for the style showlinenumbers using the command: "/xdid -g".
  6. Add customizable line position by using indents, separately on each side. Something similar to CSS (margin/padding).
  7. Add a the ability to align the line numbering position using pixel indents. (If will be different from the font).
  8. Fix the impossibility of assigning a color to text that was installed from a file using the command: "/xdid -t".
  9. Add the ability to set focus to the desired existing line number when using the multi style.
  10. Expand the ability to customize the internal palette of colors with 16 to 99 shades. In commands: "/xdid -l", "/xdid -q".
  11. Add a new functionality for the style transparent, so that only the background can become transparent (without affecting the text and border) and the transparency level was regulation using the command: "/xdid -R dcx 4 +b 2 [0-255]" - through the number +b 2, so as not to break backward compatibility for those who use the effect through the number +b 1.
  12. Add command for opportunity the ability to set (assign) shades of colors in the RGB range on certain words (masks), which will be be present in the text inside the "RichEdit" control. It would be interesting and useful for example when creating your own script editor (code) for highlighting the syntax, events, identifiers, variables, etc. Or to check your spelling when a misspelled word is highlighted in a different color. I think that everyone can think of what this can be used for.

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 "/richedit_test":

alias F5 { richedit_test }
alias richedit_test {
  if ($dialog(richedit_test)) .dialog -x richedit_test | else { .dialog -m richedit_test richedit_test }
}
dialog richedit_test {
  title "RichEdit test"
  icon $mircexe,0
  option pixels
  size -1 -1 500 400
}
on *:DIALOG:richedit_test:init:0:{
  .dcx Mark $dname richedit_test_work
  .xdialog -b $dname +ty
  .xdialog -g $dname +b $rgb(40,40,47)
  .xdialog -c $dname 1 richedit 50 50 400 300 multi showlinenumbers return showsel autovs
  .xdid -x $dname 1 +
  .xdid -k $dname 1 $rgb(35,35,35)
  .xdid -C $dname 1 +bk $rgb(35,35,35)
  .xdid -C $dname 1 +t $rgb(235,227,203)
  .xdid -f $dname 1 +a ansi 9 Courier New
  .xdid -g $dname 1 $rgb(160,0,0) $rgb(25,25,25) $rgb(250,250,250) $rgb(176,176,200) $rgb(61,61,70)
}
alias richedit_test_work {}
OokEek commented 3 years ago

try using notheme

EpicNet commented 3 years ago

Hmm, I thought this only works with older Windows systems (from the doc "xdid.htm" - Removes XP Themes on controls) and therefore forgot to check out this notheme style. Thanks. But this solved only 1 point of the proposals I presented.

P.S. As you already understood, I have accumulated a lot of new interesting ideas and proposals for the development of your cool project, to help make it even more powerful (more functional) and in demand, and also there is a desire to testing updates. Tell me how to contact you can in the online Chat to to have a possibility be able to discuss details on the update of your project directly in real time? May be I offer you for this my chat? Please, send your contact information to my email. Thanks.