I created several Custom pages as below. For each page custom function, do ‘nsdialog::Create~nsdialog::show’.
And call the LoadBannerImage function every few pages
Images are placed in fixed positions on each page.
I did lockWindow on~off, but every time I did next or prev button on the page The banner image is flickering and redrawing (including other controllers also blinking)
It is more visible in low-spec virtual machine environments.
How can I solve this phenomenon more naturally?
Page custom DisplayWelcomePage
Page custom DisplayInstallationDirPage LeaveInstDirPage
Page custom DisplayInstallReadyPage LeaveInstallReadyPage
!define MUI_PAGE_CUSTOMFUNCTION_SHOW InstallPage
!insertmacro MUI_PAGE_INSTFILES
Page custom DisplayInstallationFinishPage
;WelcomePage.nsi file
Function DisplayWelcomePage
Call LoadBannerImage
nsDialogs::Create ${WITHOUTHEADER_INTERFACE}
Pop $r0
SetCtlColors $r0 0 0xF5F5F5
Push $r0
nsDialogs::Show
FuncionEnd
; InstallReadyPage.nsi file
Function DisplayInstallationDirPage
Call LoadBannerImage
nsDialogs::Create ${WITHOUTHEADER_INTERFACE}
Pop $r0
SetCtlColors $r0 0 0xF5F5F5
Push $r0
nsDialogs::Show
FunctionEnd
- loadBannerImage
Function LoadBannerImage
LockWindow on
${NSD_CreateBitmap} 0u 0u 100u 434u ""
Pop $EULABannerImage
SetCtlColors $BannerImage 0 0xF5F5F5
${NSD_SetBitmap} $BannerImage ${TempBannerFilePath} $8
LockWindow off
FunctionEnd