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 GetToolBarCtrl
metody można nadać pasków narzędzi jeszcze więcej cech pasków narzędzi systemu Windows 95/98. Wywołanie GetToolBarCtrl
metody 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:
Utwórz zasób paska narzędzi.
Skonstruuj
CToolBar
obiekt.Wywołaj
Create
funkcję (lubCreateEx
), aby utworzyć pasek narzędzi systemu Windows i dołączyć go doCToolBar
obiektu.Wywołaj metodę
LoadToolBar
ładowania zasobu paska narzędzi.
W przeciwnym razie wykonaj następujące kroki:
Skonstruuj
CToolBar
obiekt.Wywołaj
Create
funkcję (lubCreateEx
), aby utworzyć pasek narzędzi systemu Windows i dołączyć go doCToolBar
obiektu.Wywołaj metodę
LoadBitmap
ładowania mapy bitowej zawierającej obrazy przycisków paska narzędzi.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
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_FLAT
wartość . 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ę nID
element , nStyle
i 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
SeparatorTBBS_CHECKBOX
Przycisk automatycznego pola wyboruTBBS_GROUP
Oznacza początek grupy przyciskówTBBS_CHECKGROUP
Oznacza początek grupy przycisków pola wyboruTBBS_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 iImage
pliku .
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
SeparatorTBBS_CHECKBOX
Przycisk automatycznego pola wyboruTBBS_GROUP
Oznacza początek grupy przyciskówTBBS_CHECKGROUP
Oznacza początek grupy przycisków pola wyboruTBBS_DROPDOWN
Tworzy przycisk listy rozwijanejTBBS_AUTOSIZE
Szerokość przycisku zostanie obliczona na podstawie tekstu przycisku, a nie na rozmiarze obrazuTBBS_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 SetButtonStyle
wywoł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 SetSizes
metody 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