Section courante

A propos

Section administrative du site

ANIMATEPALETTE

Anime la palette
Turbo Pascal pour Windows WINPROCS

Syntaxe

Procedure AnimatePalette(Palette: HPalette; StartIndex, NumEntires: Word; var PaletteColors);

Paramètres

Nom Description
Palette Ce paramètre permet d'indiquer la palette logique.
StartIndex Ce paramètre permet d'indiquer le premier entrée dans la palette devant être animé.
NumEntires Ce paramètre permet d'indiquer le nombre d'entrée dans un tableau de structures «TPALETTEENTRY».
PaletteColors Ce paramètre permet d'indiquer la palette de couleur.

Description

Cette procédure permet de fixer la valeur des palettes de couleur logique.

Exemple

Voici quelques exemples typiques de l'utilisation de cette fonction :

  1. Program AnimatePaletteSamples;
  2.  
  3. Uses WinTypes,WinProcs;
  4.  
  5. Const
  6.  CrtWindow: HWnd = 0;
  7.  
  8. Var
  9.  DC: HDC;
  10.  PS: TPaintStruct;
  11.  Message: TMsg;
  12.  
  13. Function CrtWinProc(Window: HWnd; Message, WParam: Word; LParam: LongInt): LongInt;Export;
  14. Var
  15.  Palette:HPalette;
  16.  PaletteColors:TPaletteEntry;
  17.  LogPalette:TLogPalette;
  18. Begin
  19.  CrtWinProc := 0;
  20.  CrtWindow := Window;
  21.  Case Message of
  22.   wm_Paint:Begin
  23.    DC := BeginPaint(Window, PS);
  24.  
  25.    LogPalette.palVersion             := $0300;
  26.    LogPalette.palNumEntries          := 1;
  27.    LogPalette.palPalEntry[0].peRed   := 255;
  28.    LogPalette.palPalEntry[0].peGreen := 0;
  29.    LogPalette.palPalEntry[0].peBlue  := 0;
  30.    LogPalette.palPalEntry[0].peFlags := PC_RESERVED;
  31.    Palette:=CreatePalette(LogPalette);
  32.    PaletteColors := LogPalette.palPalEntry[0] ;
  33.    AnimatePalette(Palette,0,1,PaletteColors);
  34.     { Affectation des objets ... }
  35.  
  36.    EndPaint(Window, PS);
  37.   End;
  38.   wm_Destroy: PostQuitMessage(0);
  39.   Else CrtWinProc := DefWindowProc(Window, Message, WParam, LParam);
  40.  End;
  41. End;
  42.  
  43. Const
  44.  CrtClass: TWndClass = (
  45.   style: cs_HRedraw + cs_VRedraw;
  46.   lpfnWndProc: @CrtWinProc;
  47.   cbClsExtra: 0;
  48.   cbWndExtra: 0;
  49.   hInstance: 0;
  50.   hIcon: 0;
  51.   hCursor: 0;
  52.   hbrBackground: 0;
  53.   lpszMenuName: NIL;
  54.   lpszClassName: 'TPWDraw'
  55.  );
  56.  
  57. BEGIN
  58.   If HPrevInst = 0 Then Begin
  59.   CrtClass.hInstance := HInstance;
  60.   CrtClass.hIcon := LoadIcon(0, idi_Application);
  61.   CrtClass.hCursor := LoadCursor(0, idc_Arrow);
  62.   CrtClass.hbrBackground := color_Window + 1;
  63.   RegisterClass(CrtClass);
  64.  End;
  65.  CrtWindow := CreateWindow(
  66.   CrtClass.lpszClassName,
  67.   'AnimatePalette',
  68.   ws_OverlappedWindow + ws_HScroll + ws_VScroll,
  69.   cw_UseDefault, cw_UseDefault,
  70.   cw_UseDefault, cw_UseDefault,
  71.   0,0,
  72.   HInstance,
  73.   NIL
  74.  );
  75.  ShowWindow(CrtWindow, CmdShow);
  76.  UpdateWindow(CrtWindow);
  77.  While GetMessage(Message, 0, 0, 0) do Begin
  78.   TranslateMessage(Message);
  79.   DispatchMessage(Message);
  80.  End;
  81. END.

Voir également

Langage de programmation - Turbo Pascal pour Windows - Référence de procédures et fonctions - CREATEPALETTE
Langage de programmation - C pour OS/2 - Support de Windows 3.1 - AnimatePalette

Dernière mise à jour : Dimanche, le 10 décembre 2017