Forum The World na Goldenline.pl Twitter Facebook Kanał RSS

[C++] Dock – zarezerwuj część ekranu dla własnego okna

Dock() dokuje (‘rezerwuje’) pusty obszar o żądanej wielkości na ekranie (np. pod okno programu). Zajęta przestrzeń jest wyłączona z użycia przez inne okna podczas maksymalizacji oraz ikon pulpitu.

Na podstawie tej funkcji można napisać dokowanie okna swojego programu lub zarezerwować miejsce pod pasek skrótów typu RocketDock.

Składnia:

void Dock(
    HWND hWnd,
    UINT uEdge,
    LONG RectLeft,
    LONG RectTop,
    LONG RectRight,
    LONG RectBottom,
    LPCSTR lpText,
    LPCSTR lpCaption
);

Ciało funkcji:

void Dock(HWND hWnd, UINT uEdge, LONG RectLeft, LONG RectTop, LONG RectRight, LONG RectBottom, LPCSTR lpText, LPCSTR lpCaption) {
    APPBARDATA BarData = {sizeof(APPBARDATA),
                          hWnd,
                          WM_USER,
                          uEdge,
                          {RectLeft, RectTop, RectRight, RectBottom},
                          0};

    if(!SHAppBarMessage(ABM_NEW, &BarData))
        MessageBox(hWnd, lpText, lpCaption, MB_OK);

    SHAppBarMessage(ABM_SETPOS, &BarData);
}

Parametry:

  • hWnd – uchwyt do okna
  • uEdge – krawędź ekranu; dostępne wartości: ABE_BOTTOM, ABE_TOP, ABE_RIGHT, ABE_LEFT
  • RectLeft – pozycja lewego górnego rogu prostokąta w poziomie
  • RectTop – pozycja lewego górnego rogu prostokąta w pionie
  • RectRight – pozycja prawego dolnego rogu prostokąta w poziomie
  • RectBottom – pozycja prawgo dolnego rogu prostokąta w pionie
  • lpText – tekst wyświetlany w razie wystąpienia błędu
  • lpCaption – tytuł powyższego komunikatu

Wymagania:

  • <windows.h>
  • <shellapi.h>

Facebook Twitter Delicious Digg Reddit

Podobne wpisy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current month ye@r day *

CommentLuv badge