W tym artykule opisano krok po kroku, jak ustawić właściwości
Mask oraz
Picture formantu
CommandBar pakietu Microsoft Office 2003 z rozszerzenia zarządzanego kodu utworzonego za pomocą narzędzi Visual Studio Tools for the Microsoft Office System. Właściwości
Picture pozwalają określić obraz pojawiający się na formancie
CommandBar. Właściwości
Mask można używać do tworzenia przezroczystego tła obrazu.
Tworzenie nowego projektu skoroszytu programu Excel w programie Visual Basic .NET
- W menu File (Plik) programu Microsoft Visual Studio .NET 2003 wskaż polecenie New (Nowy), a następnie kliknij polecenie Project (Projekt).
Pojawi się okno dialogowe New Project (Nowy projekt).- Na liście Project Types (Typy projektów) rozwiń pozycję Microsoft Office System Projects (Projekty pakietu Microsoft Office System), a następnie kliknij pozycję Visual Basic Projects (Projekty programu Visual Basic).
- Na liście Templates (Szablony) kliknij pozycję Excel Workbook (Skoroszyt programu Excel).
- W polu Name (Nazwa) wpisz ExcelCommandbar, a następnie kliknij przycisk OK.
Pojawi się kreator Microsoft Office Project Wizard. - Kliknij przycisk Finish (Zakończ).
- W menu Project (Projekt) kliknij polecenie Add Reference (Dodaj odwołanie).
Pojawi się okno dialogowe Add Reference (Dodawanie odwołania).- Kliknij kartę .NET. Na liście składników kliknij pozycję System.Drawing.dll, a następnie kliknij przycisk Select (Wybierz).
- Na liście składników kliknij pozycję stdole, a następnie kliknij przycisk Select (Wybierz).
- Kliknij przycisk OK.
- Na początku pliku ThisWorkbook.vb dodaj następującą dyrektywę:
Imports System.Reflection
Dodawanie zasobów obrazu do projektu
W tej sekcji zostaną dodane do projektu dwa zasoby obrazu. Jeden zasób jest przeznaczony dla właściwości
Picture formantu
paska poleceń. Drugi zasób jest przeznaczony dla właściwości
Mask.
Dodawanie do projektu zasobu obrazu służącego jako obraz formantu paska poleceń- W menu Project (Projekt) kliknij polecenie Add Component (Dodaj składnik). Pojawi się okno dialogowe Add New Item (Dodawanie nowego elementu).
- Na liście Templates (Szablony) kliknij pozycję Bitmap File (Plik mapy bitowej).
- Nadaj obrazowi nazwę Picture.bmp, a następnie kliknij przycisk Open (Otwórz).
Mapa bitowa zostanie otwarta do edycji w programie Bitmap Editor. - W menu View (Widok) kliknij polecenie Properties Window (Okno właściwości). Nadaj obu właściwościom Width (Szerokość) oraz Height (Wysokość) mapy bitowej wartość 16.
- Wypełnij cały obszar mapy bitowej czerwonym kolorem, a następnie narysuj zielone kółko w środku mapy bitowej.
- W oknie Solution Explorer kliknij prawym przyciskiem myszy plik Picture.bmp, a następnie kliknij polecenie Properties (Właściwości). Zmień wartość właściwości Build Action na Embedded Resource.
- W menu File (Plik) kliknij polecenie Save Picture.bmp (Zapisz plik Picture.bmp).
Dodawanie do projektu zasobu obrazu służącego jako maska dla obrazu formantu paska poleceń- W oknie Solution Explorer kliknij plik Picture.bmp.
- W menu File (Plik) kliknij polecenie Copy (Kopiuj).
- W menu File (Plik) kliknij polecenie Paste (Wklej).
Do projektu zostanie dodany nowy plik o nazwie Copy of Picture.bmp. - W oknie Solution Explorer kliknij prawym przyciskiem myszy plik Mask.bmp, a następnie kliknij polecenie Rename (Zmień nazwę). Zmień nazwę na Mask.bmp.
- W oknie Solution Explorer kliknij prawym przyciskiem myszy plik Mask.bmp, a następnie kliknij polecenie Open (Otwórz). Zmień kolor tła obrazu na biały, a kolor kółka na czarny.
Uwaga Gdy do formantu paska poleceń zostanie dodany obraz z maską, widoczne są czarne obszary maski. Białe obszary są przezroczyste. - W menu File (Plik) kliknij polecenie Save Mask.bmp (Zapisz plik Mask.bmp).
Dodawanie kodu tworzącego pasek poleceń i formant paska poleceń
W tej sekcji do projektu zostanie dodany kod ładujący osadzone zasoby obrazu, tworzący pasek poleceń oraz formant paska poleceń oraz ustawiający właściwości
Picture oraz
Mask formantu
CommandBar.
- Dodaj następującą zmienną poziomu klasy do klasy OfficeCodeBehind:
WithEvents CBarButton As Office.CommandBarButton
- W pliku ThisWorkbook.vb do procedury obsługi zdarzenia ThisWorkbook_Open dodaj następujący kod:
'Pobierz odwołanie do tego zestawu.
Dim ThisAssembly As [Assembly]
ThisAssembly = [Assembly].GetExecutingAssembly()
'Załaduj zasoby Picture oraz Mask obrazu.
Dim imgStreamPic As System.IO.Stream, imgStreamMask As System.IO.Stream
imgStreamPic = ThisAssembly.GetManifestResourceStream("ExcelCommandBar.Picture.bmp")
imgStreamMask = ThisAssembly.GetManifestResourceStream("ExcelCommandBar.Mask.bmp")
'Uzyskaj odwołania właściwości do IPictureDisp dla obu obrazów.
Dim ax As New MyAxHost
Dim Pic As stdole.IPictureDisp, Mask As stdole.IPictureDisp
Pic = ax.IPictureDisp(Drawing.Image.FromStream(imgStreamPic))
Mask = ax.IPictureDisp(Drawing.Image.FromStream(imgStreamMask))
'Dodaj tymczasowy pasek poleceń oraz przycisk paska poleceń.
Dim CBar As Office.CommandBar
CBar = ThisApplication.CommandBars.Add("Mój pasek poleceń", , , True)
CBarButton = CType(CBar.Controls.Add(Office.MsoControlType.msoControlButton), _
Office.CommandBarButton)
CBarButton.Style = Office.MsoButtonStyle.msoButtonIconAndCaption
CBarButton.Caption = "Mój przycisk"
CBarButton.Tag = "Mój_przycisk"
CBarButton.Picture = Pic
CBarButton.Mask = Mask
CBar.Visible = True
- Do pliku ThisWorkbook.vb dodaj następującą klasę MyAxHost zaraz za procedurą obsługi zdarzenia ThisWorkbook_Open:
Public Class MyAxHost
Inherits System.Windows.Forms.AxHost
Public Sub New()
MyBase.New("59EE46BA-677D-4d20-BF10-8D8067CB8B33")
End Sub
Public Shared Function IPictureDisp(ByVal Image As System.Drawing.Image) As stdole.IPictureDisp
IPictureDisp = CType(AxHost.GetIPictureDispFromPicture(Image), stdole.IPictureDisp)
End Function
End Class - Dodaj następującą funkcję do klasy OfficeCodeBehind:
Private Sub CBarButton_Click(ByVal Ctrl As Microsoft.Office.Core.CommandBarButton, _
ByRef CancelDefault As Boolean) Handles CBarButton.Click
MessageBox.Show("Został kliknięty mój przycisk!")
End Sub - Naciśnij klawisz F5, aby zbudować, a następnie uruchomić projekt.
Okaże się, że w programie Excel zostanie otwarty plik ExcelCommandBar.xls. Gdy zostanie otwarty skoroszyt, pojawi się Mój pasek poleceń. Mój pasek poleceń ma jeden formant CommandButton z przezroczystym obrazem.
Aby uzyskać dodatkowe informacje, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base.
286460
(http://support.microsoft.com/kb/286460/PL/
)
HOWTO: Set the Mask and Picture Properties for Office XP CommandBars