|
|
|
|
#1 |
|
Moderator
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
|
Small bug
I've found that if you change the text colour of a Label control, and then try and change the text within it the new text appears over the old text and doesn't actually replace it.
Screenshot attached. A similar thing happens when changing the background colour of e.g. a ListBox control. The background color isn't set for the whole ListBox background, but when you select an item the background colour of that item is set to the new background colour. I have found a fix for this which is to hide the control and then show it again using ShowWindow (so basically it refreshes the control). E.g. ShowWindow $R0 0 ShowWindow $R0 5 -Stu |
|
|
|
|
|
#2 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
If you set the background to transparent and then set the text, Windows has no color to draw over the old text.
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#3 |
|
Junior Member
Join Date: Oct 2005
Posts: 5
|
I'm trying to add text in ListBox in Leave page. The ListBox is not getting refreshed. If I use abort or MessageBox followed by it, then I can see the refreshed content.
Is there a way I can refresh the newly added text? I tried ShowWindow {SW_HIDE} and {SW_SHOW}, but the hidden window never comes back. Here is the snippet Function tempProgressLeave ; disable back button before showing the progress GetDlgItem $0 $HWNDPARENT 3 EnableWindow $0 0 ; disable next button GetDlgItem $0 $HWNDPARENT 1 EnableWindow $0 0 FindWindow $1 "#32770" "" $HWNDPARENT GetDlgItem $0 $1 1202 StrCpy $2 0 StrCpy $vard "hello world" loopd: IntOp $2 $2 + 10 ;here the progressbar increases ;MessageBOX MB_OK "hello ${SW_SHOW} ${SW_HIDE}" ShowWindow $0 ${SW_HIDE} SendMessage $0 ${LB_ADDSTRING} "" "STR: $2:$vard" ShowWindow $0 ${SW_SHOW} IntCmp $2 100 loopd loopd Sleep 5000 FunctionEnd |
|
|
|
|
|
#4 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
Please attach a complete example.
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#5 |
|
Junior Member
Join Date: Oct 2005
Posts: 5
|
I have attached the sample script. The script just contains welcome-install-finish page. I had to write custom install page to control the progress bar. I'm able to control the progress bar but not able to refresh the listbox.
could you please take a look at the files and let me know if there is something I am missing ? Thanks. |
|
|
|
|
|
#6 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
I don't see the code from the first post in your example. Attach an example that contains the code you've tried. Also, there are a lot of missing files. It'd be nicer, if you provide a complete minimal example that I can compile with too much hassle.
BTW, to create a .lnk file, use CreateShortcut. Don't copy premade shortcuts over to the user's computer. NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#7 |
|
Junior Member
Join Date: Oct 2005
Posts: 5
|
The example I tried is in the zip file. I'm not sure what are the missing files. It requires only the dinst.nsi and the DInstall.ini. both files are bundled in the zip file.
I copied the zip file in to the separate directory and I'm able to compile. Could you please let me know what the problem you are facing? I'm not very clear about the createshortcut suggestion.I dont have any such code. Could you please clarify. Attaching the zip file again. Thanks. |
|
|
|
|
|
#8 |
|
Moderator
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
|
It also needs InstallOptionsEx plugin to be present.
-Stu |
|
|
|
|
|
#9 |
|
Major Dude
|
To update the page you can just use this:
Put that line of code after trying to show back the window.code: This should be seen as a feature, not bug. You add an item but you have an option to update them when you really need. |
|
|
|
|
|
#10 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
Oops, sorry. I've opened up another script instead of yours.
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#11 |
|
Junior Member
Join Date: Oct 2005
Posts: 5
|
Great! It worked with this change.
System::Call "User32::UpdateWindow(i)i (r0)" Thanks a lot! |
|
|
|
![]() |
|
|||||||
| Thread Tools | Search this Thread |
| Display Modes | |
|
|