ZmAn3
6th September 2008 18:48 UTC
NsDilogss and functions
how can i run a function once a custom nsdialogs page is shown ,if i call the function after
nsDialogs::Show
then it gets ran only when leaving that page
if i call the function right after
nsDialogs::Create /NOUNLOAD 1018
then it gets called before the page is shown
thanks
kichik
8th September 2008 06:33 UTC
You can only respond to events set by nsDialogs like button clicking and such. What exactly are you trying to do?
ZmAn3
8th September 2008 22:50 UTC
well I was trying to run a function I made to check if they had one and/or two differant programs installed and display a custom page with whatever info but I just decided to run it from a section instead and not tell them anything hahaha
however another question, is there any progress bar or would any of the current progress bar plugins work embeded in a nsdilogs page ?? ive been making a few custom utils using nsis and nsdialogs I reshacked a installer ui and a modern installer ui
for some so i could totally get rid of the default buttons
and made the 1018 and 1044 res take up the whole ui anyways I want to make a update util but I dont want to use the Instlfiles page becasue I cant customize that with Nsdialogs :/
any ideas ??
screen of one of the utils made with nsdialogs LOVE nsdialogs by the way thanks :)
http://www.emeraldcpu.com/logoutil.jpg
kichik
9th September 2008 18:11 UTC
nsDialogs doesn't support asynchronous operations so you can't keep on doing something, updating the GUI while you do it and still have user interaction.
ZmAn3
24th September 2008 22:14 UTC
Well even though i finished my update utility without a progress bar i thought id play a little
so I res hacked one into nsdialogs and made a couple examples
thanks to your setpos info in another thread
the marquee example is good i might at some point rewrite my update util to use it like i did in the example
couple things i want to ask about
1)how come you can't use plugins like nsweb to display html in a nsdialogs page ?? i created another static control 1010 and recompile nsweb to use that and it still doesnt show the rest of the controls created by nsdialogs
2)in some of the posts you mention you can create any control
how would i create a progress bar instead of res hacking one in?
anyways if anyone wants them heres the examples This rar includes a reshacked nsdialogs.dll with a progress bar thats set to invisible so the scripts set it to visible if anyone downloads this backup your orginal first ,if you want to edit your own use resource hacker to add a progress bar with the control id of 1004
and does anyone know a way I could put a transparent html page on a nsdialogs page ?? microsoft does this in the visual studio 2008 express installers http://www.codeproject.com/KB/miscctrl/htmllite.aspx
http://www.emeraldcpu.com/progressexample.JPG
http://www.emeraldcpu.com/marqueetest.JPG
{_trueparuex^}
25th September 2008 11:45 UTC
2. You can simbly create one like any other control, as long as you know the class name and the control has been initialized.
E.g. progress bar
nsDialogs::CreateControl /NOUNLOAD "msctls_progress32" ${DEFAULT_STYLES} "" 0 20 100% 20 ""
The example shows one in action.
Edit: It looks like you could use htmllite dll simply by calling RegisterHtmlLiteClass with system plugin and then create control with HTMLLITE class name. But it seems the htmllite is a .NET dll that (AFAIK) doesn't work with NSIS.
PaR
ZmAn3
25th September 2008 15:34 UTC
sweet thanks thought id tried that at one point creating the bar that way oh well lol
that sucks about the htmllite oh well thanks for the example
ZmAn3
24th October 2008 02:08 UTC
ooook well back to the htmllite stuff i took some of the example code off that page and managed to put it into the example nsis plugin code so i have it displaying the control
but since i dont know C i have no idea how to set the scrollbars to work or update the conrtol when the plugins called again ,instead of just recreating the window
anyways im attaching the c code for the plugin as well as a sample script if anyone that knows what there doing can mess with it at some point thankssssss
nsishtmllite
http://www.emeraldcpu.com/zman3/htmllite1.jpg
http://www.emeraldcpu.com/zman3/htmllite2.jpg