Wtyczka StartMenu

Ten dokument zgodny jest z NSIS 3.9


1. Wprowadzenie

Wtyczka StartMenu wyświetla stronę, która umożliwia użytkownikowi wybranie folderu w Menu Start i utworzenie tam odpowiednich skrótów.

2. Sposób użycia

Aby pokazać to okno dialogowe użyj funkcji Select. Funkcja ta wymaga podania jednego parametru, który jest domyślną nazwą grupy w menu start oraz kilku opcjonalnych przełączników:

  • /autoadd

    Parametr /autoadd automatycznie dodaje nazwę programu do wybranego folderu

  • /noicon

    Parametr /noicon pozwala na uniknięcie wyświetlenia ikony w lewym górnym rogu

  • /text [wybierz proszę...]

    Parametr /text ustawia tekst w górnej części okna, inny niż "Wybierz folder w Menu Start, w którym..."

  • /lastused [folder]

    Parametr /lastused ustawia w polu edycji określony folder. Wtyczka zapamiętuje ostatnio wybrany folder użytkownika.

  • /checknoshortcuts tekst

    Parametr /checknoshortcuts wyświetla pole wyboru z tekstem "tekst". Jeśli użytkownik zaznaczy te pole, zwrócona wartość będzie miała '>' jako pierwszy znak i nie powinieneś tworzyć wtedy grupy programu.

  • /rtl

    Parametr /rtl ustawia kierunek każdej kontrolki na RTL. Oznacza to, że każdy tekst wyświetlony na stronie będzie wyjustowany do prawej.

Kolejność przełączników nie ma znaczenia, ale wymagane parametry muszą być wypisane po nich. Każdy przełącznik po wymaganym parametrze będzie ignorowany i zostanie na stosie.

Funkcja umieszcza success, cancel lub błąd na stosie. Jeśli nie było błędu i użytkownik nie nacisnął na przycisk Anuluj, umieści nazwę wybranego folderu po "success". Jeśli użytkownik zaznaczy opcje nie tworzenia skrótów, rezultat będzie poprzedzony prefiksem '>'. Funkcja nie umieszcza pełnej ścieżki, ale tylko wybrany podfolder. Od ciebie zależy, czy umieścić menu w folderze bieżącego użytkownika czy też wszystkich użytkowników.

Aby ustawić właściwości kontrolek na stronie, takich jak kolory oraz czcionki użyj Init oraz Show zamiast Select. Init umieści HWND (uchwyt) strony na stosie, lub komunikat błędu. Na przykład:

StartMenu::Init "Test"
Pop $0
IntCmp $0 0 failed
GetDlgItem $0 $0 1003
SetCtlColors $0 "" FF0000
StartMenu::Show
# kontynuuj dalej tak jak z Select
failed:

Pełny przykład znajduje się w Example.nsi (bez Init oraz Select).

3. Autorzy

Napisał: Amir Szekely (aka KiCHiK)