Schowek windowsowy¶
Kopiowanie do schowka¶
Od wersji 4.6 została dodana funkcjonalność kopiowania do schowka wartości stringowych. Wystarczy w kodzie metod NEOSowych wywołać funckę CopyToClipboard({parametr}) aby po stronie klienta wartość została umieszczona w schowku. Funkcje kopiowania do schowka obsługuje klient VCL jak i WEB. Zatem niezależnie od podłączonego klienta funkcjonalność działa tak samo. Ponadto możliwe jest też wykonanie metody CopyToClipboard z poziomu API, a więc możemy używać tej funkcjonalności również w metodach statycznych.
Poniżej znajduje się przykład w jaki sposób można skorzystać z w/w funkcjonalności:
CopyToClipboard(_value.ToString());
lub
GUI.CopyToClipboard(_value.ToString());
Wklejanie ze schowka¶
Podobnie została też dodana funkcja, aby programowo uruchomić wklejenie treści ze schowka do bieżącego pola edycyjnego pod aktualną pozycję kursora. Aby z niej skorzystać, wystarczy napisać:
PasteFromClipboard();
Powyższa funkcja zadziała poprawnie jedynie wtedy, gdy w trakcie jej wywołania mamy aktywne jakieś pole edycyje i w nim stoi kursor. Jeśli powyższą funkcję chcemy wywołać z przycisku, w który klika użytkownik, to przycisk taki należy podpiąć jako dziecko pola edycyjnego, w którym ta funkcja ma zadziałać. Bo tylko wtedy klikanie na przycisk powoduje, że focus klawiatury jest w polu edycyjnym. Jeśli będzie to zwykły przycisk na formie, to taki przycisk przejmuje focus klawiatury i funkcja wklejenia nie działa, gdyż nie ma gdzie wkleić tekstu. Aby temu zapobiec, możemy programowo przekierować focus do konkretnego pola, np do pola NAZWA:
SetFocus("NAZWA");
PasteFromClipboard();
Ponieważ schowek jest przechowywany po stronie klienta, to z poziomu kodu C# (który się wykonuje po stronie serwera) nie da się odczytać programowo zawartości schowka, ani przypisać go do jakiejś zmiennej.