Pole edycyjne
Z Wikipedii
Pole edycyjne (ang. edit box), we współczesnych systemach operacyjnych jeden z elementów graficznego interfejsu użytkownika (widżet, kontrolka), który umożliwia wpisywanie przez użytkownika jednej linijki tekstu.
Maksymalna długość wprowadzanego tekstu może być określona przez programistę. W przypadku gdy tekst jest dłuższy niż wielkość pola edycyjnego, jest on przesuwany w trakcie wpisywania. W polu edycyjnym można także wykonywać wszelkie czynności edycyjne - kopiowanie, wycinanie i wklejanie tekstu.
Element ten, podobnie jak każdy element interfejsu, którego obsługa wymaga używania klawiatury, aby mógł być użyty musi stać się aktywny. Stan taki określa się jako focus (skupienie). Przejście w stan aktywności następuje, w zależności od systemu operacyjnego - po wskazaniu kursorem myszy, po wskazaniu kursorem i naciśnięciu któregoś z przycisków myszy lub po umieszczeniu w nim kursora przy pomocy klawisza tabulacji. Do aktywnego pola edycyjnego przesyłane są między innymi wszystkie zdarzenia związane z naciskaniem klawiszy na klawiaturze.
Zdarzenia generowane są w momencie:
- otrzymania skupienia (ang. set focus)
- utraty skupienia (ang. kill focus)
- naciśnięcia klawisza ze znakiem
Z klawiszami kontrolnymi jest różnie w różnych bibliotekach. Np. w Microsoft Windows API klawisze strzałek są obsługiwane wyłącznie samodzielnie (powodują przesuwanie kursora po wpisanym tekście, z klawiszem Control przeskakiwanie po słowach), tzn. nie są programowalne. W tej bibliotece niestety nie jest również obsługiwany klawisz Enter. Są jednak obsługiwane klawisze od "clipboardu", czyli od Control-Z do Control-V, a także widżet ten posiada własne menu kontekstowe, również do obsługi "clipboardu". W przypadku środowisk bazowanych na X-window system jest duża rozbieżność - tradycyjnie kopiowanie jest obsługiwane przez samo zaznaczenie, a wklejanie przez środkowy klawisz myszy. Jednak środowiska takie jak KDE czy Gnome odeszły od tej praktyki, dostarczając interfejs zbliżony do tego, co jest dostępne w Windows.