Udostępnij za pośrednictwem


CToolBar Klasa

Paski kontrolek, które mają wiersz przycisków map bitowych i separatorów opcjonalnych.

Składnia

class CToolBar : public CControlBar

Elementy członkowskie

Konstruktory publiczne

Nazwa/nazwisko opis
CToolBar::CToolBar CToolBar Tworzy obiekt.

Metody publiczne

Nazwa/nazwisko opis
CToolBar::CommandToIndex Zwraca indeks przycisku o podanym identyfikatorze polecenia.
CToolBar::Create Tworzy pasek narzędzi systemu Windows i dołącza go do CToolBar obiektu.
CToolBar::CreateEx Tworzy CToolBar obiekt z dodatkowymi stylami dla obiektu osadzonego CToolBarCtrl .
CToolBar::GetButtonInfo Pobiera identyfikator, styl i numer obrazu przycisku.
CToolBar::GetButtonStyle Pobiera styl przycisku.
CToolBar::GetButtonText Pobiera tekst, który będzie wyświetlany na przycisku.
CToolBar::GetItemID Zwraca identyfikator polecenia przycisku lub separatora w danym indeksie.
CToolBar::GetItemRect Pobiera prostokąt wyświetlania elementu w danym indeksie.
CToolBar::GetToolBarCtrl Umożliwia bezpośredni dostęp do podstawowej wspólnej kontroli.
CToolBar::LoadBitmap Ładuje mapę bitową zawierającą obrazy z przyciskiem mapy bitowej.
CToolBar::LoadToolBar Ładuje zasób paska narzędzi utworzony za pomocą edytora zasobów.
CToolBar::SetBitmap Ustawia obraz mapowany mapą bitową.
CToolBar::SetButtonInfo Ustawia identyfikator, styl i numer obrazu przycisku.
CToolBar::SetButtons Ustawia style przycisków i indeks obrazów przycisków w obrębie mapy bitowej.
CToolBar::SetButtonStyle Ustawia styl przycisku.
CToolBar::SetButtonText Ustawia tekst, który będzie wyświetlany na przycisku.
CToolBar::SetHeight Ustawia wysokość paska narzędzi.
CToolBar::SetSizes Ustawia rozmiary przycisków i ich map bitowych.

Uwagi

Przyciski mogą działać jak przyciski, przyciski wyboru lub przyciski radiowe. CToolBar obiekty są zwykle osadzonymi elementami członkowskimi obiektów okien ramowych pochodzących z klasy CFrameWnd lub CMDIFrameWnd.

CToolBar::GetToolBarCtrl, funkcja składowa nowa w MFC 4.0, umożliwia korzystanie z obsługi wspólnej kontrolki systemu Windows na potrzeby dostosowywania paska narzędzi i dodatkowych funkcji. CToolBar funkcje członkowskie zapewniają większość funkcji typowych kontrolek systemu Windows; Jednak po wywołaniu GetToolBarCtrlmetody można nadać pasków narzędzi jeszcze więcej cech pasków narzędzi systemu Windows 95/98. Wywołanie GetToolBarCtrlmetody spowoduje zwrócenie odwołania do CToolBarCtrl obiektu. Zobacz CToolBarCtrl , aby uzyskać więcej informacji na temat projektowania pasków narzędzi przy użyciu typowych kontrolek systemu Windows. Aby uzyskać więcej ogólnych informacji na temat typowych kontrolek, zobacz Common Controls in the Windows SDK (Typowe kontrolki w zestawie Windows SDK).

Język Visual C++ udostępnia dwie metody tworzenia paska narzędzi. Aby utworzyć zasób paska narzędzi przy użyciu Edytora zasobów, wykonaj następujące kroki:

  1. Utwórz zasób paska narzędzi.

  2. Skonstruuj CToolBar obiekt.

  3. Wywołaj Create funkcję (lub CreateEx), aby utworzyć pasek narzędzi systemu Windows i dołączyć go do CToolBar obiektu.

  4. Wywołaj metodę LoadToolBar ładowania zasobu paska narzędzi.

W przeciwnym razie wykonaj następujące kroki:

  1. Skonstruuj CToolBar obiekt.

  2. Wywołaj Create funkcję (lub CreateEx), aby utworzyć pasek narzędzi systemu Windows i dołączyć go do CToolBar obiektu.

  3. Wywołaj metodę LoadBitmap ładowania mapy bitowej zawierającej obrazy przycisków paska narzędzi.

  4. Wywołaj metodę SetButtons , aby ustawić styl przycisku i skojarzyć każdy przycisk z obrazem na mapie bitowej.

Wszystkie obrazy przycisków na pasku narzędzi są pobierane z jednej mapy bitowej, która musi zawierać jeden obraz dla każdego przycisku. Wszystkie obrazy muszą mieć taki sam rozmiar; wartość domyślna to 16 pikseli szerokości i 15 pikseli wysokości. Obrazy muszą znajdować się obok siebie na mapie bitowej.

Funkcja SetButtons przyjmuje wskaźnik do tablicy identyfikatorów kontrolek i liczby całkowitej, która określa liczbę elementów w tablicy. Funkcja ustawia identyfikator każdego przycisku na wartość odpowiedniego elementu tablicy i przypisuje każdy przycisk indeksu obrazu, który określa położenie obrazu przycisku na mapie bitowej. Jeśli element tablicy ma wartość ID_SEPARATOR, nie przypisano żadnego indeksu obrazu.

Kolejność obrazów na mapie bitowej jest zwykle kolejnością, w jakiej są rysowane na ekranie, ale można użyć SetButtonInfo funkcji , aby zmienić relację między kolejnością obrazu i kolejnością rysunku.

Wszystkie przyciski na pasku narzędzi mają ten sam rozmiar. Wartość domyślna to 24 x 22 piksele zgodnie z wytycznymi interfejsu systemu Windows dotyczącymi projektowania oprogramowania. Wszelkie dodatkowe odstępy między wymiarami obrazu i przycisku służą do tworzenia obramowania wokół obrazu.

Każdy przycisk ma jeden obraz. Różne stany i style przycisków (naciśnięty, w górę, w dół, wyłączony, wyłączony i nieokreślony) są generowane na podstawie tego jednego obrazu. Chociaż mapy bitowe mogą być dowolnym kolorem, można uzyskać najlepsze wyniki z obrazami w kolorze czarnym i odcieniach szarości.

Ostrzeżenie

CToolBar obsługuje mapy bitowe z maksymalnie 16 kolorami. Podczas ładowania obrazu do edytora paska narzędzi program Visual Studio automatycznie konwertuje obraz na 16-kolorową mapę bitową, jeśli jest to konieczne, i wyświetla komunikat ostrzegawczy, jeśli obraz został przekonwertowany. Jeśli używasz obrazu z więcej niż 16 kolorami (przy użyciu edytora zewnętrznego do edycji obrazu), aplikacja może zachowywać się nieoczekiwanie.

Przyciski paska narzędzi domyślnie naśladują przyciski push. Jednak przyciski paska narzędzi mogą również naśladować przyciski pola wyboru lub przyciski radiowe. Przyciski pola wyboru mają trzy stany: zaznaczone, wyczyszczone i nieokreślone. Przyciski radiowe mają tylko dwa stany: zaznaczone i wyczyszczone.

Aby ustawić pojedynczy przycisk lub styl separatora bez wskazywania tablicy, wywołaj metodę w celu pobrania stylu, a następnie wywołaj GetButtonStyle metodę SetButtonStyle zamiast SetButtons. SetButtonStyle jest najbardziej przydatna, gdy chcesz zmienić styl przycisku w czasie wykonywania.

Aby przypisać tekst do wyświetlenia na przycisku, wywołaj metodę GetButtonText , aby pobrać tekst do wyświetlenia na przycisku, a następnie wywołaj metodę SetButtonText , aby ustawić tekst.

Aby utworzyć przycisk pola wyboru, przypisz go do stylu TBBS_CHECKBOX lub użyj CCmdUI funkcji składowej obiektu SetCheck w procedurze ON_UPDATE_COMMAND_UI obsługi. Wywołanie SetCheck powoduje zmianę na przycisk pola wyboru. Przekaż SetCheck argument 0 dla niezaznaczonego, 1 dla wartości zaznaczonej lub 2 dla nieokreślonej wartości.

Aby utworzyć przycisk radiowy, wywołaj CCmdUI funkcję składową obiektu SetRadio z ON_UPDATE_COMMAND_UI programu obsługi. Przekaż SetRadio argument 0 dla niezaznaczonego lub niezerowego dla zaznaczenia. Aby zapewnić wzajemnie wykluczające się zachowanie grupy radiowej, musisz mieć ON_UPDATE_COMMAND_UI programy obsługi dla wszystkich przycisków w grupie.

Aby uzyskać więcej informacji na temat korzystania z programu CToolBar, zobacz artykuł Implementacja paska narzędzi MFC i Uwaga techniczna 31: Paski sterowania.

Hierarchia dziedziczenia

CObject

CCmdTarget

CWnd

CControlBar

CToolBar

Wymagania

Nagłówek: afxext.h

CToolBar::CommandToIndex

Ta funkcja składowa zwraca indeks pierwszego przycisku paska narzędzi, zaczynając od pozycji 0, którego identyfikator polecenia jest zgodny z nIDFind.

int CommandToIndex(UINT nIDFind) const;

Parametry

nIDFind
Identyfikator polecenia przycisku paska narzędzi.

Wartość zwracana

Indeks przycisku lub -1, jeśli żaden przycisk nie ma podanego identyfikatora polecenia.

CToolBar::Create

Ta funkcja składowa tworzy pasek narzędzi systemu Windows (okno podrzędne) i kojarzy go z obiektem CToolBar .

virtual BOOL Create(
    CWnd* pParentWnd,
    DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_TOP,
    UINT nID = AFX_IDW_TOOLBAR);

Parametry

pParentWnd
Wskaźnik do okna nadrzędnego paska narzędzi.

dwStyle
Styl paska narzędzi. Obsługiwane są dodatkowe style paska narzędzi:

  • CBRS_TOP Pasek sterowania znajduje się w górnej części okna ramki.

  • CBRS_BOTTOM Pasek sterowania znajduje się w dolnej części okna ramki.

  • CBRS_NOALIGN Pasek sterowania nie jest zmieniany po zmianie rozmiaru elementu nadrzędnego.

  • CBRS_TOOLTIPS Pasek sterowania wyświetla porady dotyczące narzędzi.

  • CBRS_SIZE_DYNAMIC Pasek sterowania jest dynamiczny.

  • CBRS_SIZE_FIXED Pasek sterowania jest stały.

  • CBRS_FLOATING Pasek sterowania jest zmienny.

  • CBRS_FLYBY Pasek stanu wyświetla informacje o przycisku.

  • CBRS_HIDE_INPLACE Pasek sterowania nie jest wyświetlany użytkownikowi.

nID
Identyfikator okna podrzędnego paska narzędzi.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Ustawia również wysokość paska narzędzi na wartość domyślną.

Przykład

// This code fragment is taken from CMainFrame::OnCreate
// CMainFrame is derived from CMDIFrameWnd.

//This example creates a dockable toolbar.
if (!m_wndToolBar.Create(this) ||
   !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
   TRACE0("Failed to create toolbar\n");
   return -1;      // fail to create
}

//Make the toolbar dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);

CToolBar::CreateEx

Wywołaj tę funkcję, aby utworzyć pasek narzędzi systemu Windows (okno podrzędne) i skojarzyć go z obiektem CToolBar .

virtual BOOL CreateEx(
    CWnd* pParentWnd,
    DWORD dwCtrlStyle = TBSTYLE_FLAT,
    DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP,
    CRect rcBorders = CRect(
    0,
    0,
    0,
    0),
    UINT nID = AFX_IDW_TOOLBAR);

Parametry

pParentWnd
Wskaźnik do okna nadrzędnego paska narzędzi.

dwCtrlStyle
Dodatkowe style tworzenia obiektu osadzonego CToolBarCtrl . Domyślnie ta wartość jest ustawiona na TBSTYLE_FLATwartość . Aby uzyskać pełną listę stylów paska narzędzi, zobacz dwStyle.

dwStyle
Styl paska narzędzi. Aby uzyskać listę odpowiednich stylów, zobacz Style kontrolek i przycisków paska narzędzi w zestawie WINDOWS SDK.

rcBorders
CRect Obiekt, który definiuje szerokość obramowania okna paska narzędzi. Te obramowania są domyślnie ustawione na 0,0,0,0, co powoduje, że okno paska narzędzi nie ma obramowań.

nID
Identyfikator okna podrzędnego paska narzędzi.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Ustawia również wysokość paska narzędzi na wartość domyślną.

Użyj elementu CreateEx, a nie Create, jeśli podczas tworzenia osadzonej kontrolki paska narzędzi muszą być obecne pewne style. Na przykład ustaw wartość dwCtrlStyle na , aby TBSTYLE_FLAT | TBSTYLE_TRANSPARENT utworzyć pasek narzędzi przypominający paski narzędzi programu Internet Explorer 4.

Przykład

// This example demonstrates CToolBar::CreateEx by creating a 
// toolbar as part of a child frame window. It also calls the 
// LoadToolbar and EnableDocking functions
int CChildFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
   if (CMDIChildWnd::OnCreate(lpCreateStruct) == -1)
      return -1;

   if (!m_wndMyToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
      | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
      !m_wndMyToolBar.LoadToolBar(IDR_MYTOOLBAR))
   {
      TRACE0("Failed to create toolbar\n");
      return -1;      // fail to create
   }

   m_wndMyToolBar.EnableDocking(CBRS_ALIGN_ANY);
   EnableDocking(CBRS_ALIGN_ANY);
   DockControlBar(&m_wndMyToolBar);

   return 0;
}

CToolBar::CToolBar

Ta funkcja składowa konstruuje CToolBar obiekt i ustawia rozmiary domyślne.

CToolBar();

Uwagi

Wywołaj funkcję składową, Create aby utworzyć okno paska narzędzi.

CToolBar::GetButtonInfo

Ta funkcja składowa pobiera identyfikator kontrolki, styl i indeks obrazu przycisku lub separatora paska narzędzi w lokalizacji określonej przez nIndex.

void GetButtonInfo(
    int nIndex,
    UINT& nID,
    UINT& nStyle,
    int& iImage) const;

Parametry

nIndex
Indeks przycisku lub separatora paska narzędzi, którego informacje mają zostać pobrane.

nID
Odwołanie do interfejsu UINT ustawionego na identyfikator polecenia przycisku.

nStyle
Odwołanie do interfejsu UINT ustawionego na styl przycisku.

iImage
Odwołanie do liczby całkowitej ustawionej na indeks obrazu przycisku w mapie bitowej.

Uwagi

Te wartości są przypisywane do zmiennych, do których odwołuje się nIDelement , nStylei iImage. Indeks obrazu to pozycja obrazu w mapie bitowej, która zawiera obrazy dla wszystkich przycisków paska narzędzi. Pierwszy obraz znajduje się na pozycji 0.

Jeśli nIndex określa separator, iImage jest ustawiony na szerokość separatora w pikselach.

CToolBar::GetButtonStyle

Wywołaj tę funkcję składową, aby pobrać styl przycisku lub separatora na pasku narzędzi.

UINT GetButtonStyle(int nIndex) const;

Parametry

nIndex
Indeks przycisku paska narzędzi lub stylu separatora do pobrania.

Wartość zwracana

Styl przycisku lub separatora określonego przez nIndex.

Uwagi

Styl przycisku określa sposób wyświetlania przycisku i sposób reagowania na dane wejściowe użytkownika. Zobacz SetButtonStyle przykłady stylów przycisków.

CToolBar::GetButtonText

Wywołaj tę funkcję składową, aby pobrać tekst wyświetlany na przycisku.

CString GetButtonText(int nIndex) const;

void GetButtonText(
    int nIndex,
    CString& rString) const;

Parametry

nIndex
Indeks tekstu do pobrania.

rString
Odwołanie do CString obiektu, który będzie zawierać tekst do pobrania.

Wartość zwracana

CString Obiekt zawierający tekst przycisku.

Uwagi

Druga forma tej funkcji składowej wypełnia CString obiekt tekstem ciągu.

CToolBar::GetItemID

Ta funkcja składowa zwraca identyfikator polecenia przycisku lub separatora określonego przez nIndex.

UINT GetItemID(int nIndex) const;

Parametry

nIndex
Indeks elementu, którego identyfikator ma zostać pobrany.

Wartość zwracana

Identyfikator polecenia przycisku lub separatora określonego przez nIndex.

Uwagi

Separatory zwracają wartość ID_SEPARATOR.

CToolBar::GetItemRect

Ta funkcja składowa wypełnia RECT strukturę, której adres znajduje się we lpRect współrzędnych przycisku lub separatora określonego przez nIndex.

virtual void GetItemRect(
    int nIndex,
    LPRECT lpRect) const;

Parametry

nIndex
Indeks elementu (przycisk lub separator), którego współrzędne prostokąta mają zostać pobrane.

lpRect
RECT Adres struktury, która będzie zawierać współrzędne elementu.

Uwagi

Współrzędne znajdują się w pikselach względem lewego górnego rogu paska narzędzi.

Służy GetItemRect do pobierania współrzędnych separatora, który ma zostać zastąpiony polem kombi lub inną kontrolką.

Przykład

Zobacz przykład dla elementu CToolBar::SetSizes.

CToolBar::GetToolBarCtrl

Ta funkcja składowa umożliwia bezpośredni dostęp do podstawowej wspólnej kontroli.

CToolBarCtrl& GetToolBarCtrl() const;

Wartość zwracana

Odwołanie do CToolBarCtrl obiektu.

Uwagi

Użyj GetToolBarCtrl polecenia , aby skorzystać z funkcji wspólnej kontrolki paska narzędzi systemu Windows i skorzystać z obsługi CToolBarCtrl dostosowywania paska narzędzi.

Aby uzyskać więcej informacji na temat używania wspólnych kontrolek, zobacz artykuł Controls and Common Controls in the Windows SDK (Kontrolki i typowe kontrolki w zestawie WINDOWS SDK).

Przykład

// This code fragment is taken from CMainFrame::OnCreate
// CMainFrame is derived from CMDIFrameWnd.

//This example shows how to add text to toolbar buttons.
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE
   | CBRS_TOP) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
   TRACE0("Failed to create toolbar\n");
   return -1;      // fail to create
}

//Show text on toolbar buttons.
VERIFY(m_wndToolBar.SetButtonText(0, _T("New")));
VERIFY(m_wndToolBar.SetButtonText(1, _T("Open")));
VERIFY(m_wndToolBar.SetButtonText(2, _T("Save")));
VERIFY(m_wndToolBar.SetButtonText(4, _T("Cut")));
VERIFY(m_wndToolBar.SetButtonText(5, _T("Copy")));
VERIFY(m_wndToolBar.SetButtonText(6, _T("Paste")));
VERIFY(m_wndToolBar.SetButtonText(8, _T("Print")));
VERIFY(m_wndToolBar.SetButtonText(9, _T("About")));

CRect temp;
m_wndToolBar.GetItemRect(0, &temp);
m_wndToolBar.GetToolBarCtrl().SetButtonSize(CSize(temp.Width(),
   temp.Height()));

CToolBar::LoadBitmap

Wywołaj tę funkcję składową, aby załadować mapę bitową określoną przez lpszResourceName lub nIDResource.

BOOL LoadBitmap(LPCTSTR lpszResourceName);
BOOL LoadBitmap(UINT nIDResource);

Parametry

lpszResourceName
Wskaźnik do nazwy zasobu mapy bitowej do załadowania.

nIDResource
Identyfikator zasobu mapy bitowej do załadowania.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Mapa bitowa powinna zawierać jeden obraz dla każdego przycisku paska narzędzi. Jeśli obrazy nie mają standardowego rozmiaru (16 pikseli szerokości i 15 pikseli wysokości), wywołaj metodę SetSizes , aby ustawić rozmiary przycisków i ich obrazy.

Ostrzeżenie

CToolBar obsługuje mapy bitowe z maksymalnie 16 kolorami. Podczas ładowania obrazu do edytora paska narzędzi program Visual Studio automatycznie konwertuje obraz na 16-kolorową mapę bitową, jeśli jest to konieczne, i wyświetla komunikat ostrzegawczy, jeśli obraz został przekonwertowany. Jeśli używasz obrazu z więcej niż 16 kolorami (przy użyciu edytora zewnętrznego do edycji obrazu), aplikacja może zachowywać się nieoczekiwanie.

CToolBar::LoadToolBar

Wywołaj tę funkcję składową, aby załadować pasek narzędzi określony przez lpszResourceName lub nIDResource.

BOOL LoadToolBar(LPCTSTR lpszResourceName);
BOOL LoadToolBar(UINT nIDResource);

Parametry

lpszResourceName
Wskaźnik do nazwy zasobu paska narzędzi do załadowania.

nIDResource
Identyfikator zasobu paska narzędzi do załadowania.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Aby uzyskać więcej informacji na temat tworzenia zasobu paska narzędzi, zobacz edytor paska narzędzi w programie .

Przykład

Zobacz przykład dla elementu CToolBar::CreateEx.

CToolBar::SetBitmap

Wywołaj tę funkcję składową, aby ustawić obraz mapy bitowej dla paska narzędzi.

BOOL SetBitmap(HBITMAP hbmImageWell);

Parametry

hbmImageWell
Uchwyt obrazu mapy bitowej skojarzonego z paskiem narzędzi.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Na przykład wywołaj metodę SetBitmap zmiany obrazu z mapą bitową po wykonaniu akcji w dokumencie, który zmienia akcję przycisku.

CToolBar::SetButtonInfo

Wywołaj tę funkcję składową, aby ustawić identyfikator polecenia przycisku, styl i numer obrazu.

void SetButtonInfo(
    int nIndex,
    UINT nID,
    UINT nStyle,
    int iImage);

Parametry

nIndex
Zerowy indeks przycisku lub separatora, dla którego należy ustawić informacje.

nID
Wartość, do której ustawiono identyfikator polecenia przycisku.

nStyle
Nowy styl przycisku. Obsługiwane są następujące style przycisków:

  • TBBS_BUTTON Standardowy przycisk pushbutton (wartość domyślna)

  • TBBS_SEPARATOR Separator

  • TBBS_CHECKBOX Przycisk automatycznego pola wyboru

  • TBBS_GROUP Oznacza początek grupy przycisków

  • TBBS_CHECKGROUP Oznacza początek grupy przycisków pola wyboru

  • TBBS_DROPDOWN Tworzy przycisk listy rozwijanej.

  • TBBS_AUTOSIZE Szerokość przycisku zostanie obliczona na podstawie tekstu przycisku, a nie na rozmiarze obrazu.

  • TBBS_NOPREFIX Tekst przycisku nie będzie miał skojarzonego prefiksu akceleratora.

iImage
Nowy indeks obrazu przycisku w mapie bitowej.

Uwagi

W przypadku separatorów, które mają styl TBBS_SEPARATOR, ta funkcja ustawia szerokość separatora w pikselach na wartość przechowywaną w iImagepliku .

Uwaga

Można również ustawić stany przycisków przy użyciu parametru nStyle , jednak ze względu na to, że stany przycisków są kontrolowane przez ON_UPDATE_COMMAND_UI program obsługi, każdy stan ustawiony przy użyciu SetButtonInfo zostanie utracony podczas następnego przetwarzania bezczynności. Aby uzyskać więcej informacji, zobacz Jak zaktualizować obiekty interfejsu użytkownika i TN031: paski sterowania.

Aby uzyskać informacje na temat obrazów i przycisków mapy bitowej, zobacz CToolBar Omówienie i CToolBar::LoadBitmap.

CToolBar::SetButtons

Ta funkcja składowa ustawia identyfikator polecenia każdego przycisku paska narzędzi na wartość określoną przez odpowiedni element tablicy lpIDArray.

BOOL SetButtons(
    const UINT* lpIDArray,
    int nIDCount);

Parametry

lpIDArray
Wskaźnik do tablicy identyfikatorów poleceń. Może to być wartość NULL, aby przydzielić puste przyciski.

nIDCount
Liczba elementów w tablicy wskazywanych przez lpIDArray.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Jeśli element tablicy ma wartość ID_SEPARATOR, separator jest tworzony w odpowiedniej pozycji paska narzędzi. Ta funkcja ustawia również styl każdego przycisku na TBBS_BUTTON i styl każdego separatora na TBBS_SEPARATOR, i przypisuje indeks obrazu do każdego przycisku. Indeks obrazu określa położenie obrazu przycisku w mapie bitowej.

Nie musisz uwzględniać separatorów w mapie bitowej, ponieważ ta funkcja nie przypisuje indeksów obrazów dla separatorów. Jeśli pasek narzędzi ma przyciski na pozycjach 0, 1 i 3 oraz separator na pozycji 2, obrazy na pozycjach 0, 1 i 2 na mapie bitowej są przypisane do przycisków odpowiednio na pozycjach 0, 1 i 3.

Jeśli lpIDArray ma wartość NULL, ta funkcja przydziela miejsce dla liczby elementów określonych przez nIDCount. Służy SetButtonInfo do ustawiania atrybutów każdego elementu.

CToolBar::SetButtonStyle

Wywołaj tę funkcję składową, aby ustawić styl przycisku lub separatora albo przycisków grupy.

void SetButtonStyle(
    int nIndex,
    UINT nStyle);

Parametry

nIndex
Indeks przycisku lub separatora, którego informacje mają być ustawione.

nStyle
Styl przycisku. Obsługiwane są następujące style przycisków:

  • TBBS_BUTTON Standardowy przycisk pushbutton (wartość domyślna)

  • TBBS_SEPARATOR Separator

  • TBBS_CHECKBOX Przycisk automatycznego pola wyboru

  • TBBS_GROUP Oznacza początek grupy przycisków

  • TBBS_CHECKGROUP Oznacza początek grupy przycisków pola wyboru

  • TBBS_DROPDOWN Tworzy przycisk listy rozwijanej

  • TBBS_AUTOSIZE Szerokość przycisku zostanie obliczona na podstawie tekstu przycisku, a nie na rozmiarze obrazu

  • TBBS_NOPREFIX Tekst przycisku nie będzie miał skojarzonego prefiksu akceleratora

Uwagi

Styl przycisku określa sposób wyświetlania przycisku i sposób reagowania na dane wejściowe użytkownika.

Przed wywołaniem SetButtonStylewywołania wywołaj funkcję składową GetButtonStyle , aby pobrać styl przycisku lub separatora.

Uwaga

Można również ustawić stany przycisków przy użyciu parametru nStyle , jednak ze względu na to, że stany przycisków są kontrolowane przez ON_UPDATE_COMMAND_UI program obsługi, każdy stan ustawiony przy użyciu SetButtonStyle zostanie utracony podczas następnego przetwarzania bezczynności. Aby uzyskać więcej informacji, zobacz Jak zaktualizować obiekty interfejsu użytkownika i TN031: paski sterowania.

CToolBar::SetButtonText

Wywołaj tę funkcję, aby ustawić tekst na przycisku.

BOOL SetButtonText(
    int nIndex,
    LPCTSTR lpszText);

Parametry

nIndex
Indeks przycisku, którego tekst ma zostać ustawiony.

lpszText
Wskazuje tekst do ustawienia na przycisku.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Przykład

Zobacz przykład dla elementu CToolBar::GetToolBarCtrl.

CToolBar::SetHeight

Ta funkcja składowa ustawia wysokość paska narzędzi na wartość w pikselach określonych w elemencie cyHeight.

void SetHeight(int cyHeight);

Parametry

cyHeight
Wysokość w pikselach paska narzędzi.

Uwagi

Po wywołaniu SetSizesmetody użyj tej funkcji składowej, aby zastąpić standardową wysokość paska narzędzi. Jeśli wysokość jest za mała, przyciski zostaną obcięte u dołu.

Jeśli ta funkcja nie jest wywoływana, struktura używa rozmiaru przycisku, aby określić wysokość paska narzędzi.

CToolBar::SetSizes

Wywołaj tę funkcję składową, aby ustawić przyciski paska narzędzi na rozmiar w pikselach określonych w elemencie sizeButton.

void SetSizes(
    SIZE sizeButton,
    SIZE sizeImage);

Parametry

sizeButton
Rozmiar w pikselach każdego przycisku.

sizeImage
Rozmiar w pikselach każdego obrazu.

Uwagi

Parametr sizeImage musi zawierać rozmiar w pikselach obrazów na mapie bitowej paska narzędzi. Wymiary w sizeButton obiekcie muszą być wystarczające do przechowywania obrazu oraz 7 pikseli dodatkowych szerokości i 6 pikseli dodatkowej wysokości. Ta funkcja ustawia również wysokość paska narzędzi tak, aby pasowała do przycisków.

Wywołaj tę funkcję składową tylko w przypadku pasków narzędzi, które nie są zgodne z wytycznymi interfejsu systemu Windows dotyczącymi zaleceń dotyczących projektowania oprogramowania dla rozmiarów przycisków i obrazów.

Przykład

// This code fragment is taken from CMainFrame::OnCreate
// CMainFrame is derived from CMDIFrameWnd

// This example shows how to add text to toolbar buttons.
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE 
   | CBRS_TOP) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
   TRACE0("Failed to create toolbar\n");
   return -1;      // fail to create
}

//Show text on toolbar buttons.
VERIFY(m_wndToolBar.SetButtonText(0, _T("New")));
VERIFY(m_wndToolBar.SetButtonText(1, _T("Open")));
VERIFY(m_wndToolBar.SetButtonText(2, _T("Save")));
VERIFY(m_wndToolBar.SetButtonText(4, _T("Cut")));
VERIFY(m_wndToolBar.SetButtonText(5, _T("Copy")));
VERIFY(m_wndToolBar.SetButtonText(6, _T("Paste")));
VERIFY(m_wndToolBar.SetButtonText(8, _T("Print")));
VERIFY(m_wndToolBar.SetButtonText(9, _T("About")));

CRect temp;
m_wndToolBar.GetItemRect(0,&temp);
m_wndToolBar.SetSizes(CSize(temp.Width(),
   temp.Height()),CSize(16,15));

Zobacz też

Przykład MFC CTRLBARS
Przykład MFC DLGCBR32
Przykład MFC DOCKTOOL
CControlBar Klasa
Wykres hierarchii
CToolBarCtrl Klasa