Metoda IVsGradient.DrawGradient — (IntPtr, IntPtr, RECT[], RECT )
Rysuje danego gradientu w określonej lokalizacji.
Przestrzeń nazw: Microsoft.VisualStudio.Shell.Interop
Zestaw: Microsoft.VisualStudio.Shell.Interop.8.0 (w Microsoft.VisualStudio.Shell.Interop.8.0.dll)
Składnia
int DrawGradient(
IntPtr hwnd,
IntPtr hdc,
RECT[] gradientRect,
RECT[] sliceRect
)
int DrawGradient(
IntPtr hwnd,
IntPtr hdc,
array<RECT>^ gradientRect,
array<RECT>^ sliceRect
)
abstract DrawGradient :
hwnd:nativeint *
hdc:nativeint *
gradientRect:RECT[] *
sliceRect:RECT[] -> int
Function DrawGradient (
hwnd As IntPtr,
hdc As IntPtr,
gradientRect As RECT(),
sliceRect As RECT()
) As Integer
Parametry
- hwnd
[w] Uchwyt okna zawierającego regionu jest narysowanie gradientem.
- hdc
[w] Dojście kontekstu urządzenia używane w rysunku gradientu.
- gradientRect
[w] Prostokąt gradientu lub regionu zawierający, definiowanie pełnego zakresu i geometrii, przez który można zastosować gradient.
- sliceRect
[w] Prostokąt plasterka Definiowanie region, w którym faktycznie malowane gradient.
Wartość zwracana
Type: System.Int32
Jeśli metoda się powiedzie, zwraca S_OK.Jeśli nie powiedzie się, zwraca kod błędu.
Uwagi
Podpis COM
Z vsshell80.idl:
HRESULT IVsGradient::DrawGradient(
[in] HWND hwnd,
[in] HDC hdc,
[in] RECT * gradientRect,
[in] RECT * sliceRect
);
Obie gradientRect i sliceRect musi być zdefiniowana w układzie współrzędnych określonych przez określone przez uchwyt, okno hwnd.
SDK środowiska obsługuje dwa typu gradienty statycznych i -statycznej.
Informacji co do których gradienty są statyczne i -statycznej, konsekwencje tego, zobacz __GRADIENTTYPE.
Dla statycznego gradienty środowiska utrzymuje stały definicji gradientu prostokąt i gradientRect parametr jest ignorowany.
Prostokąt plasterka, określonej przez sliceRect parametr zawsze powinny być zawarte w obrębie prostokąta o wymiarach zdefiniowanych przez prostokąt, określony przez gradientRect parametru.
Dwa prostokątne regionów gradientRect i sliceRect zdefiniować sposób, w jaki DrawGradient metoda farby gradientu na element interfejsu użytkownika.
gradientRect Prostokąt gradientu lub regionu zawierający nazywa się prostokąta.Określa ona pełnego zakresu i lokalizacji, w którym można zastosować gradient.
sliceRect Prostokąt nazywa się prostokąt plasterek i spec Określa region, gdzie jest faktycznie malowane gradientu.
Maskowanie gradienty można osiągnąć za pomocą inaczej średnich gradientu i plasterka prostokąty, gdzie prostokąt plasterka znajduje się w prostokącie gradientu.W tym przypadku tylko część elementów interfejsu użytkownika jest malowany gradient, ale gradientu wzorzec jest zachowywany, tak jakby był pomalowany całego gradientu prostokąta.
Na przykład malowanie ramki szerokości 10 pikseli na 100 x 100 pikseli szerokości region może być wykonana
Definiowanie gradientu prostokąt z RECT struktury narożniki z lewym górnym rogu na (0,0) oraz prawego dolnego narożnika w (100,100).
Definiowanie cztery 10 pikseli szerokości plasterka RECT struktur,
jeden z lewym górnym rogu na (0,0) i prawego dolnego narożnika w (100,10)
jeden z lewym górnym rogu na (0,0) i prawego dolnego narożnika w (10,100)
jeden z lewym górnym rogu na (90,0) i prawego dolnego narożnika w (100,100)
jeden z lewym górnym rogu na (0,90) i prawego dolnego narożnika w (100,10)
wywołanie IVsGradient.DrawGradient cztery razy, raz dla każdego plasterków prostokąt i zawsze przy użyciu tej samej prostokąt gradientu.
Ponadto prostokątne malowanie nie może zadowalające w niektórych okolicznościach dla instancji przy zaokrąglaniu malowanie kontroli z corners, kartę fin rekinów lub innych niż prostokątny obszar, który nie jest łatwo jest przycięty lub maskowane.
W tych przypadkach, VSPackages, należy utworzyć pędzla za malowanie dany gradient, na podstawie array lub vector kolory zwrócony przez GetGradientVector metody.
Na przykład karty pliku skomplikowane wyraźnego rozróżnienia trzech składników na karcie--fin, obszar tekstu i end – gdzie składniki będą ustalane poprzez zastępowanie kolorów, i rozciągnięcie.Każdego piksela określonego koloru będzie zastąpiony przez element w tablicy zwracanej przez GetGradientVector odpowiadającego jej położenie na osi poziomej.
Aby uzyskać więcej informacji, zobacz How to: Use Visual Studio Gradient Support.
Zobacz też
Interfejs IVsGradient
Przestrzeń nazw Microsoft.VisualStudio.Shell.Interop
Powrót do początku