Megosztás:


Tudnivalók a folyamatjelző sáv vezérlőiről

A folyamatjelző sáv egy ablak, amellyel az alkalmazás egy hosszú művelet előrehaladását jelezheti.

A művelet előrehaladása közben animált téglalapból áll.

Az alábbi ábrán egy olyan folyamatjelző sáv látható, amely nem használ vizuális stílusokat.

folyamatjelző sáv képernyőképe, amely téglalapokat ad hozzá egy sorhoz, hogy jelezze az előrehaladást

Az alábbi ábrán egy vizualizációstílusokat használó folyamatjelző sáv látható. A vezérlő megjelenése az operációs rendszertől és a választott témától függően változik. További információ: Vizuális stílusok.

folyamatjelző sáv képernyőképe, amely egy animált zöld téglalapot hosszabbít meg, hogy jelezze az előrehaladást

További információt a következő címsorok tartalmaznak.

Folyamatjelző sávok használata

Folyamatjelző sávot a CreateWindowEx függvénnyel hozhat létre, megadva a PROGRESS_CLASS ablakosztályt. Ez az ablakosztály a közös vezérlők DLL-jének betöltésekor van regisztrálva. További információért tekintse meg A gyakori vezérlők.

A vezérlő a Microsoft Visual Studio Eszközkészletben is elérhető, ahol folyamatvezérlésnek hívják.

Tartomány és aktuális pozíció

A folyamatjelző sáv tartománya a művelet teljes időtartamát jelöli, az aktuális pozíció pedig azt a folyamatot jelöli, amelyet az alkalmazás a művelet végrehajtása felé tett. Az ablak eljárás a tartományt és az aktuális pozíciót használja annak meghatározására, hogy a folyamatjelző sáv hány százalékát töltse ki a kiemelés színével.

Ha nem állítja be a tartományértékeket, a rendszer a minimális értéket 0-ra, a maximális értéket pedig 100-ra állítja. A tartományt a PBM_SETRANGE üzenet használatával beállíthatja kényelmes egész számokra.

A folyamatjelző sáv számos üzenetet tartalmaz, amelyekkel beállíthatja az aktuális pozíciót. A PBM_SETPOS üzenet egy adott értékre állítja a pozíciót. A PBM_DELTAPOS üzenet egy megadott érték aktuális pozícióhoz való hozzáadásával lépi előre a pozíciót.

A PBM_SETSTEP üzenet lehetővé teszi, hogy lépésenkénti növekményt adjon meg egy folyamatjelző sávhoz. Ezt követően, amikor elküldi a PBM_STEPIT üzenetet a folyamatjelző sávra, az aktuális pozíció a megadott növekmény szerint halad előre. Alapértelmezés szerint a lépésenkénti növekmény értéke 10.

Alapértelmezett folyamatjelző üzenetfeldolgozás

Ez a szakasz az PROGRESS_CLASS osztály ablakművelete által kezelt üzeneteket ismerteti.

Üzenet Elvégzett feldolgozás
WM_CREATE Egy kezdeti struktúra lefoglalása és inicializálása.
WM_DESTROY Felszabadítja a folyamatjelző sávhoz társított összes erőforrást.
WM_ERASEBKGND Megrajzolja a folyamatjelző sáv hátterét és szegélyeit.
WM_GETFONT A fogópontot az aktuális betűtípusra adja vissza. Az állapotsor jelenleg nem rajzol szöveget, ezért az üzenet elküldése nincs hatással a vezérlőre.
WM_PAINT Megrajzolja a folyamatjelző sávot. Ha a wParam paraméter nemNULL, akkor a vezérlő feltételezi, hogy az érték HDC, és az eszközkörnyezet segítségével rajzol.
WM_SETFONT Menti a fogópontot az új betűtípusba, és visszaadja a fogópontot az előző betűtípusnak. Az állapotsor jelenleg nem rajzol szöveget, ezért az üzenet elküldése nincs hatással a vezérlőre.

 

Marquee Style

A folyamatjelző sáv PBS_MARQUEE stílusú vezérlőelemként történő létrehozásával úgy animálható, hogy láthatóvá váljon a tevékenység, de nem jelzi a feladat milyen hányada fejeződött be. A folyamatjelző sáv kiemelt része ismétlődően mozog a sáv hossza mentén. A PBM_SETMARQUEE üzenet elküldésével elindíthatja és leállíthatja az animációt, és szabályozhatja annak sebességét. A kijelölési folyamatjelző sávok nem rendelkeznek tartománysal vagy pozícióval.

Az alábbi ábrán egy folyamatjelző sáv látható dinamikus módban. A kiemelt rész végighalad a sávon.

folyamatjelző sáv képernyőképe, amely zöld kiemelést helyez át egy szürke téglalapon, hogy jelezze az előrehaladást