Archive: NsDilogss and functions


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


You can only respond to events set by nsDialogs like button clicking and such. What exactly are you trying to do?


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


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.


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


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

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


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