4.6 KiB
nsResize NSIS Plugin
Versione personale modificata
Descrizione Originale
Autore: Stuart 'Afrow UK' Welch Azienda: Afrow Soft Ltd Data: 13 Aprile 2013 Versione: 1.0.0.0
Un piccolo plug-in NSIS per spostare o ridimensionare finestre/controlli.
Vedi Examples\nsResize*.
Macro
nsResize.nsh include macro usate dallo script di esempio LargeWindow.
Funzioni
nsResize::SetRTL
nsResize::SetRTL $(^RTL)
Abilita o disabilita la modalità da destra a sinistra. Necessario solo quando si usa nsResize::Set.
nsResize::Set
nsResize::Set control_HWND x y width height
Imposta le nuove coordinate X e Y e le nuove dimensioni di un controllo. Stringa vuota per x o y = non spostare. Stringa vuota per width o height = non ridimensionare.
nsResize::Add
nsResize::Add control_HWND x y width height
Aggiunge i valori X, Y, width e height. Per lingue da destra a sinistra è necessaria una gestione speciale.
nsResize::Top
nsResize::Top control_HWND
Sposta un controllo in cima all'ordine Z.
nsResize::GetPos
nsResize::GetPos control_HWND
Pop $X
Pop $Y
Ottiene la posizione del controllo in unità dialogo relative alla finestra padre.
nsResize::GetPosPx
nsResize::GetPosPx control_HWND
Pop $X
Pop $Y
Ottiene la posizione del controllo in pixel relative alla finestra padre.
nsResize::GetSize
nsResize::GetSize control_HWND
Pop $Width
Pop $Height
Ottiene le dimensioni del controllo in unità dialogo.
nsResize::GetSizePx
nsResize::GetSizePx control_HWND
Pop $Width
Pop $Height
Ottiene le dimensioni del controllo in pixel.
Licenza
Questo plug-in viene fornito 'così com'è', senza alcuna garanzia esplicita o implicita. In nessun caso l'autore sarà responsabile per danni derivanti dall'uso di questo plug-in.
È concessa l'autorizzazione a chiunque di usare questo plug-in per qualsiasi scopo, incluse applicazioni commerciali, e di modificarlo e ridistribuirlo liberamente, soggetto alle seguenti restrizioni:
- L'origine di questo plug-in non deve essere travisata; non si può affermare di avere scritto il plug-in originale.
- Le versioni alterate devono essere chiaramente contrassegnate come tali.
- Questo avviso non può essere rimosso o alterato da alcuna distribuzione.
⚠️ Differenze nella versione personale
Questa versione include le seguenti modifiche rispetto alla distribuzione originale:
Nuova architettura supportata: x64 (amd64-unicode)
L'originale supportava solo:
- x86-ansi
- x86-unicode
La versione personale aggiunge il supporto per:
- amd64-unicode (x64)
Progetto Visual Studio
L'originale includeva:
Contrib/nsResize/nsResize.sln- Solution VS2012Contrib/nsResize/nsResize.vcxproj- Progetto VS2012 (solo x86)
La versione personale aggiorna a VS2022 con supporto x64:
Src/nsResize.sln- Solution VS2022Src/nsResize.vcxproj- Progetto VS2022 (x86-ansi, x86-unicode, amd64-unicode)
Struttura cartelle modificata
I file sorgenti sono stati spostati da Contrib/nsResize/ a Src/ per una struttura più pulita.
File aggiunti
build_plugin.py- Script Python per compilare il plugin per tutte le architettureSrc/api.h- Header API NSISSrc/pluginapi.c/Src/pluginapi.h- API plugin NSISSrc/nsis_tchar.h- Header per supporto TCHARSrc/nsis_unicode/pluginapi_x64.lib- Libreria plugin API per x64Src/build_pluginapi_x64.cmd/Src/build_pluginapi_x86.cmd- Script per compilare plugin APIExamples/nsResize/*.exe- Esempi compilati
Compilazione
python build_plugin.py # Compila tutte le architetture
python build_plugin.py --config x86-unicode # Solo un'architettura (x86-ansi|x86-unicode|amd64-unicode|all)
python build_plugin.py --toolset 2026 # Toolset specifico (2022|2026|auto)
python build_plugin.py --jobs 4 # Numero di job MSBuild paralleli (default: CPU count)
python build_plugin.py --clean # Pulizia dist/ prima della build
python build_plugin.py --install-dir "C:\NSIS\Plugins" # Copia in directory NSIS aggiuntiva
python build_plugin.py --verbose # Output MSBuild esteso
python build_plugin.py --version # Stampa versione ed esce
I DLL vengono copiati in dist/{platform}/nsResize.dll.
File rimossi
I file DLL precompilati sono stati rimossi dalla distribuzione:
Plugins/nsResize.dllUnicode/Plugins/nsResize.dll
I DLL vengono generati dalla compilazione e copiati in plugins/{platform}/.
See README.md for the English version.