Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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:
Utwórz zasób paska narzędzi.
Skonstruuj
CToolBarobiekt.Wywołaj
Createfunkcję (lubCreateEx), aby utworzyć pasek narzędzi systemu Windows i dołączyć go doCToolBarobiektu.Wywołaj metodę
LoadToolBarładowania zasobu paska narzędzi.
W przeciwnym razie wykonaj następujące kroki:
Skonstruuj
CToolBarobiekt.Wywołaj
Createfunkcję (lubCreateEx), aby utworzyć pasek narzędzi systemu Windows i dołączyć go doCToolBarobiektu.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_TOPPasek sterowania znajduje się w górnej części okna ramki.CBRS_BOTTOMPasek sterowania znajduje się w dolnej części okna ramki.CBRS_NOALIGNPasek sterowania nie jest zmieniany po zmianie rozmiaru elementu nadrzędnego.CBRS_TOOLTIPSPasek sterowania wyświetla porady dotyczące narzędzi.CBRS_SIZE_DYNAMICPasek sterowania jest dynamiczny.CBRS_SIZE_FIXEDPasek sterowania jest stały.CBRS_FLOATINGPasek sterowania jest zmienny.CBRS_FLYBYPasek stanu wyświetla informacje o przycisku.CBRS_HIDE_INPLACEPasek 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_BUTTONStandardowy przycisk pushbutton (wartość domyślna)TBBS_SEPARATORSeparatorTBBS_CHECKBOXPrzycisk automatycznego pola wyboruTBBS_GROUPOznacza początek grupy przyciskówTBBS_CHECKGROUPOznacza początek grupy przycisków pola wyboruTBBS_DROPDOWNTworzy przycisk listy rozwijanej.TBBS_AUTOSIZESzerokość przycisku zostanie obliczona na podstawie tekstu przycisku, a nie na rozmiarze obrazu.TBBS_NOPREFIXTekst 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_BUTTONStandardowy przycisk pushbutton (wartość domyślna)TBBS_SEPARATORSeparatorTBBS_CHECKBOXPrzycisk automatycznego pola wyboruTBBS_GROUPOznacza początek grupy przyciskówTBBS_CHECKGROUPOznacza początek grupy przycisków pola wyboruTBBS_DROPDOWNTworzy przycisk listy rozwijanejTBBS_AUTOSIZESzerokość przycisku zostanie obliczona na podstawie tekstu przycisku, a nie na rozmiarze obrazuTBBS_NOPREFIXTekst 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