Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Ovládací prvek nahoru-dolů je dvojice tlačítek se šipkami, na která uživatel může kliknout pro zvýšení nebo snížení hodnoty, například pozice posouvání nebo čísla zobrazeného v přidruženém ovládacím prvku (označovaném jako přidružené okno).
Uživatel často vnímá ovládací prvek pro posun nahoru a dolů společně s jeho přidruženým oknem jako jeden ovládací prvek. Můžete určit, že ovládací prvek posuvu se automaticky umístí vedle svého přidruženého okna a automaticky nastaví popisek přidruženého okna na svou aktuální pozici. Například můžete použít ovládací prvek pro posuv spolu s ovládacím prvkem pro úpravy, abyste uživatele vyzvali k zadání číselného vstupu. Následující obrázek znázorňuje ovládací prvek nahoru dolů s editačním polem jako jeho spřaženým oknem, který se někdy označuje jako číselný ovladač.
V této části jsou popsána následující témata.
styly ovládacích prvků Up-Down
Pomocí stylů oken můžete ovlivnit vlastnosti ovládacího prvku šipek nahoru/dolů, například jak se umístí vzhledem k partnerskému oknu, zda nastaví text partnerského okna a zda zpracovává klávesy ŠIPKA NAHORU a ŠIPKA DOLŮ.
Ovládací prvek nahoru-dolů se stylem UDS_ALIGNLEFT nebo UDS_ALIGNRIGHT se zarovnává s levým nebo pravým okrajem jeho přidruženého okna. Šířka okna buddy se zmenší tak, aby se přizpůsobila šířce ovládacího prvku nahoru dolů.
Ovládací prvek up-down se stylem UDS_SETBUDDYINT nastaví popisek přidruženého okna při každé změně aktuální pozice. Ovládací prvek vloží oddělovač tisíců mezi každou tři číslice desetinného řetězce, pokud není zadán styl UDS_NOTHOUSANDS. Pokud je okno pro kamarády seznamem, nastaví ovládací prvek nahoru jeho aktuální výběr místo jeho titulku.
Můžete zadat styl UDS_ARROWKEYS, abyste poskytli rozhraní klávesnice pro ovládání nahoru a dolů. Pokud je tento styl zadaný, ovládací prvek zpracuje klávesy se šipkami nahoru a dolů. Ovládací prvek také tvoří podtřídu spřáteleného okna, aby bylo možné zpracovat tyto klávesy, když má spřátelené okno fokus.
Pokud pro vodorovné posouvání používáte ovládací prvek nahoru-dolů, můžete určit styl UDS_HORZ. Tento styl způsobí, že šipky ovládacího prvku ukazují doleva a doprava místo nahoru a dolů.
Ve výchozím nastavení se aktuální pozice nezmění, pokud se uživatel pokusí ji zvýšit nebo snížit nad maximální nebo minimální hodnotu. Toto chování můžete změnit pomocí stylu UDS_WRAP, takže pozice „přeskočí“ na opačný extrém. Například při překročení horního limitu se pozice vrátí zpět k dolnímu limitu.
Pozice a zrychlení
Po vytvoření ovládacího prvku up-down můžete změnit aktuální pozici, minimální pozici a maximální pozici ovládacího prvku zasíláním zpráv na ovládací prvek. Můžete také změnit základ radixu použitý k zobrazení aktuální pozice v okně kamaráda a rychlost, s jakou se aktuální pozice změní při kliknutí na šipku nahoru nebo dolů.
Pro načtení aktuální pozice obousměrného ovládacího prvku použijte zprávu UDM_GETPOS. U ovládacího prvku s posuvem nahoru-dolů s partnerským oknem je aktuální pozice číslo v titulku partnerského okna. Protože se titulek mohl změnit (například uživatel mohl upravit text ovládacího prvku pro úpravy), ovládací prvek nahoru načte aktuální titulek a odpovídajícím způsobem aktualizuje jeho aktuální pozici.
Titulek okna buddy může být desetinný nebo šestnáctkový řetězec v závislosti na základu radixu (tj. základu 10 nebo 16) ovládacího prvku nahoru dolů. Základ radixu můžete nastavit pomocí zprávy UDM_SETBASE a základ radixu můžete načíst pomocí zprávy UDM_GETBASE.
Zpráva UDM_SETPOS nastaví aktuální pozici okna kamaráda. Všimněte si, že na rozdíl od posuvníku ovládací prvek s tlačítky nahoru a dolů automaticky změní svou aktuální pozici při kliknutí na tlačítka nahoru a dolů. Aplikace proto při zpracování WM_VSCROLL nebo WM_HSCROLL zprávy nemusí nastavit aktuální pozici.
Minimální a maximální umístění ovládacího prvku nahoru a dolů můžete změnit pomocí zprávy UDM_SETRANGE. Maximální pozice může být menší než minimum a v takovém případě se kliknutím na tlačítko šipky nahoru zmenší aktuální pozice. Jinými slovy, nahoru znamená pohyb směrem k maximální poloze. Chcete-li načíst minimální a maximální hodnoty pro ovládací prvek nahoru-dolů, použijte zprávu UDM_GETRANGE.
Rychlost, s jakou se pozice změní, když uživatel podrží tlačítko se šipkou, můžete řídit nastavením akcelerace ovládacího prvku nahoru dolů. Akcelerace je definována pomocí struktur UDACCEL v poli . Každá struktura určuje časový interval a počet jednotek, o které se mají na konci tohoto intervalu zvýšit nebo dekrementovat. Pokud chcete nastavit zrychlení, použijte zprávu UDM_SETACCEL. Chcete-li načíst informace o zrychlení, použijte zprávu UDM_GETACCEL.
Výchozí Up-Down řídí zpracování zpráv
Tato část popisuje standardní zprávy systému Windows zpracovávané ovládacím prvku nahoru dolů.
| Zpráva | Provedené zpracování |
|---|---|
| WM_CREATE | Přidělí a inicializuje soukromou datovou strukturu a uloží její adresu jako data okna. |
| WM_DESTROY | Uvolní data přidělená během zpracování WM_CREATE. |
| WM_ENABLE | Zruší platnost okna. |
| WM_KEYDOWN | Změní aktuální pozici při stisku klávesy ŠIPKA NAHORU nebo ŠIPKA DOLŮ. |
| WM_KEYUP | Dokončí změnu pozice. |
| WM_LBUTTONDOWN | Zachytí myš. Pokud je přidružené okno editačním polem nebo seznamem, nastaví fokus na toto okno. Pokud je myš nad tlačítkem nahoru nebo dolů, začne měnit pozici a nastaví časovač. |
| WM_LBUTTONUP | Dokončí změnu pozice a uvolní zachytávání myši, pokud ovládací prvek nahoru dolů zachytil myš. Pokud je okno pomocné jako ovládací prvek pro úpravy, vybere veškerý text v tomto ovládacím prvku. |
| WM_PAINT | Nakreslí ovládací prvek nahoru dolů. Pokud parametr wParam není NULL, ovládací prvek předpokládá, že hodnota je HDC a maluje pomocí kontextu daného zařízení. |
| WM_TIMER | Změní aktuální pozici, pokud se myš drží pod tlačítkem a uplynul dostatečný interval. |