home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / Delphi.5 / Doc / Other / DX_DELPH.exe / L13.TXT < prev    next >
Encoding:
Text File  |  1998-12-05  |  4.0 KB  |  83 lines

  1. ╚π≡εΓεΘ SDK
  2. ├δαΓα 32
  3.  
  4. if Result = DD OK then begin
  5. Result := Image-Restore ;
  6. if Result = DD_OK then DrawSurfaces
  7. end ;
  8. end ;
  9.  
  10. ─αΓαΘ≥σ ≥σ∩σ≡ⁿ ≡α±±∞ε≥≡Φ∞ Γαµφεσ ±≡σΣ±≥Γε Γ ∩≡επ≡α∞∞Φ≡εΓαφΦΦ Φπ≡: ∩≡ετ≡α≈φε±≥ⁿ.
  11.  
  12. ┴Φ≥εΓ√Θ ∩σ≡σφε± ±ε ±ΓεΘ±≥Γε∞ ∩≡ετ≡α≈φε±≥Φ
  13.  
  14. ┴εδⁿ°Φφ±≥Γε Φπ≡ ±≥≡ε ≥ ±ΓεΦ ²Ω≡αφφ√σ ΩαΣ≡√ ∞σ≥εΣε∞ ≤±≥αφεΓΩΦ ⌠εφα Φ τα≥σ∞ ΣεßαΓδσφΦσ∞ ∩εΓσ≡⌡ Φτεß≡αµσφΦ  π≡α-
  15. ⌠Φ≈σ±ΩΦ⌡ ±Φ∞ΓεδεΓ φσ≡σπ≤δ ≡φεΘ ⌠ε≡∞√. ╬ß√≈φε ≥αΩα  φσ≡σπ≤δ ≡φα  π≡α⌠ΦΩα φατ√Γασ≥±  ±∩≡ΦΘ≥Φ∞Φ. ╩αΩ ∩≡αΓΦδε, ±∩≡αΘ-
  16. ≥√ ΣΓΦπα■≥±  ∩ε ²Ω≡αφ≤ Φ αφΦ∞Φ≡≤■≥± , ⌡ε≥  ²≥ε ΓεΓ±σ φσ εß τα≥σδⁿφε. ╬φΦ ∞επ≤≥ ß√≥ⁿ ∩≡ε±≥ε ±≥α≥Φ≈σ±ΩΦ∞Φ Φτεß≡αµσφΦ -
  17. ∞Φ, φα≡Φ±εΓαφφ√∞Φ ∩εΓσ≡⌡ ⌠εφεΓεπε Φτεß≡αµσφΦ .
  18.  
  19. ╤∩≡αΘ≥√ εß√≈φε εßδαΣα■≥ Ωε∞∩δσΩ±φεΘ φσ≡σπ≤δ ≡φεΘ π≡αφΦ÷σΘ Φ ∞επ≤≥ ≥αΩµσ Φ∞σ≥ⁿ Γφ≤≥≡Φ ±σß  ε≥Γσ≡±≥Φ  Γ ∩≡σΣσδα⌡
  20. εßδα±≥Φ, ε∩≡σΣσδσφφεΘ ²≥εΘ π≡αφΦ÷σΘ. ╨Φ±εΓα≥ⁿ ≥αΩεσ φσ≡σπ≤δ ≡φεσ Φτεß≡αµσφΦσ Γ∞σ±≥σ ± ≡α±±≈Φ≥αφφ√∞ φα φσπε ΩεΣε∞
  21. ß√δε ß√ ≤≥ε∞Φ≥σδⁿφε Φ ±δΦ°Ωε∞ ∞σΣδσφφε. ┬∞σ±≥ε ²≥επε ∞√ ±ετΣασ∞ ≡α±≥≡εΓεσ Φτεß≡αµσφΦσ ±∩≡αΘ≥α. ╬ΣφαΩε, ≡α±≥≡εΓεσ
  22. Φτεß≡αµσφΦσ ù ²≥ε Γ±σπΣα τα∩εδφσφφ√Θ ∩≡ ∞ε≤πεδⁿφ√Θ ßδεΩ, α ±∩≡αΘ≥√, ΩαΩ   ≤µσ πεΓε≡Φδ, ≡σΣΩε τα∩εδφ ■≥±  ∩εδφε±≥ⁿ■.
  23. ╥αΩΦ∞ εß≡ατε∞, φα∞ φσεß⌡εΣΦ∞ ∞σ⌡αφΦτ∞, ∩ε±≡σΣ±≥Γε∞ Ωε≥ε≡επε ∞√ ∞επδΦ ß√ ε∩≡σΣσδ ≥ⁿ ∩≡ετ≡α≈φ√σ εßδα±≥Φ ≡α±≥≡εΓεπε
  24. ßδεΩα. ╬ΣφΦ∞ Φτ ±∩ε±εßεΓ ε±≤∙σ±≥ΓδσφΦ  ²≥επε  Γδ σ≥±  ε∩≡σΣσδσφΦσ ÷Γσ≥α ΦδΦ ΣΦα∩ατεφα ÷Γσ≥εΓ, Ωε≥ε≡√σ ∞επ≤≥ ß√≥ⁿ
  25. Φ±∩εδⁿτεΓαφ√ Σδ  ταΣαφΦ  ∩≡ετ≡α≈φ√⌡ ∩ΦΩ±σδσΘ. ╦■ßεΘ ∩ΦΩ±σδⁿ ± ²≥Φ∞ ÷Γσ≥ε∞ φσ ≡Φ±≤σ≥±  Γε Γ≡σ∞  ∩σ≡σφε±α, ε±≥αΓδ  
  26. ∩ΦΩ±σδⁿ ⌠εφα φα ±Γεσ∞ ∞σ±≥σ. ▌≥ε ±ετΣασ≥ ²⌠⌠σΩ≥ ΓΦΣΦ∞ε±≥Φ Φτεß≡αµσφΦ  ⌠εφα Γ ∩≡ε±Γσ≥α⌡ Φ φα π≡αφΦ÷α⌡ ±∩≡αΘ≥α. ▌≥α
  27. ≥σ⌡φΦΩα ΦτΓσ±≥φα ΩαΩ ∞αφΦ∩≤δΦ≡εΓαφΦσ ± Φ±⌡εΣφ√∞ ÷Γσ≥ε∞.
  28.  
  29. DirectDraw Φ∞σσ≥ ßεπα≥εσ εßσ±∩σ≈σφΦσ Σδ  Σ≡≤πΦ⌡ ≥Φ∩εΓ ∞αφΦ∩≤δΦ≡εΓαφΦ  ± ÷Γσ≥ε∞, εΣφαΩε Σδ  ²≥εΘ Σσ∞εφ±≥≡α÷ΦεφφεΘ
  30. ∩≡επ≡α∞∞√ (Φ, Γσ≡ε ≥φε, Σδ  ßεδⁿ°σΘ ≈α±≥Φ ΩεΣα, Ωε≥ε≡≤■ Γ√ φα∩Φ°σ≥σ) Γ∩εδφσ ∩εΣ⌡εΣΦ≥ ßατεΓ√Θ ≥Φ∩ ∞αφΦ∩≤δΦ≡εΓαφΦ .
  31. ┬±σ, ≈≥ε Γα∞ φσεß⌡εΣΦ∞ε ±Σσδα≥ⁿ. ù ±εεß∙Φ≥ⁿ DirectDraw ÷Γσ≥, Ωε≥ε≡√Θ Γ√ ⌡ε≥σδΦ ß√ ±Σσδα≥ⁿ ∩≡ετ≡α≈φ√∞. ┬ΓΦΣ≤ ≥επε, ≈≥ε
  32. Γ√ Φ±∩εδⁿτ≤σ≥σ τΣσ±ⁿ 256-÷Γσ≥φ√Θ ≡α±≥≡, Γ√ ⌠αΩ≥Φ≈σ±ΩΦ ≤Ωατ√Γασ≥σ ΦφΣσΩ± ÷Γσ≥α Γ ∩αδΦ≥≡σ; ≥ε σ±≥ⁿ, ΦφΣσΩ± ÷Γσ≥α Γ ≥αßδΦ÷σ
  33. ÷Γσ≥εΓ DIB. ╫≥εß√ ²≥ε ±Σσδα≥ⁿ, τα∩εδφΦ≥σ Σε±≥α≥ε≈φε ∩≡ε±≥≤■ τα∩Φ±ⁿ TDDColorKey, ╬φα ±ε±≥εΦ≥ Φτ φα≈αδⁿφεπε Φ Ωεφσ≈φε-
  34. πε ÷Γσ≥εΓ Σδ  ÷Γσ≥φεπε Ωδ■≈α. ┬√ Φ±∩εδⁿτ≤σ≥σ ≥εδⁿΩε εΣΦφ ÷Γσ≥, ∩ε²≥ε∞≤ φα≈αδⁿφεσ Φ Ωεφσ≈φεσ τφα≈σφΦ  εΣΦφαΩεΓ√. ═α
  35. Γ≡σ∞  φα∩Φ±αφΦ  ²≥ε∩ ΩφΦπΦ εΩαταδε±ⁿ, ≈≥ε DirectDraw Γ δ■ßε∞ ±δ≤≈ασ ∩εΣΣσ≡µΦΓασ≥ ≥εδⁿΩε εΣφε÷Γσ≥φ√Θ Φ±⌡εΣφ√Θ Ωδ■≈.
  36. ╩αΩ ≥εδⁿΩε ÷Γσ≥εΓ√σ τφα≈σφΦ  ß≤Σ≤≥ τα∩εδφσφ√, Γ√τεΓΦ≥σ ∞σ≥εΣ SetColorKey IDirectDrawSurface, ±εεß∙α■∙ΦΘ σ∞≤, ≈≥ε Γ√
  37. ⌡ε≥Φ≥σ Φ±∩εδⁿτεΓα≥ⁿ σπε Γ Ωα≈σ±≥Γσ Φ±⌡εΣφεπε Ωδ■≈α ∩≡Φ ∩σ≡σφε±σ. ─εßαΓⁿ≥σ ²≥Φ ±≥≡εΩΦ Ω FormShow:
  38.  
  39. ColorKey.dwColorSpaceLowValue := 0 ;
  40. ColorKey.dwColorSpaceHighValue := 0 ;
  41.  
  42. if Image. SetColorKey ( DDCKEY_SRCBLT, ColorKey ) <> DD_OK then
  43. Raise Exception. Create ( ' SetColorKey failed ' ) ;
  44.  
  45. ColorKey  Γδ σ≥±  δεΩαδⁿφεΘ ∩σ≡σ∞σφφεΘ ≥Φ∩α TDDColorKey.
  46. ┬√ Σεδµφ√ φσ ταß√Γα≥ⁿ ε±ΓεßεµΣα≥ⁿ ∩εΓσ≡⌡φε±≥ⁿ Image, Σδ  ≈σπε ±δσΣ≤σ≥ ΣεßαΓΦ≥ⁿ ±≥≡εΩ≤ FormDestroy Σδ  ≥επε, ≈≥εß√
  47.  
  48. ε±ΓεßεΣΦ≥ⁿ σσ ∩ε±δσ ε±ΓεßεµΣσφΦ  ε±φεΓφεΘ ∩εΓσ≡⌡φε±≥Φ.
  49. ╟α≥σ∞ Φτ∞σφΦ≥σ DrawSurface σ∙σ ≡ατ. ═α ²≥ε≥ ≡ατ Γ√ Σεδµφ√ ∩σ≡σταπ≡≤τΦ≥ⁿ ≡α±≥≡εΓεσ Φτεß≡αµσφΦσ. ▀ ≥αΩµσ ΣεßαΓΦδ
  50.  
  51. φσΩε≥ε≡√Θ Ωε∞∞σφ≥α≡ΦΘ Σδ  ≥σ⌡, Ω≥ε τα∩≤±Ωασ≥ Σσ∞εφ±≥≡α÷Φεφφ≤■ ∩≡επ≡α∞∞≤, ΩαΩ ∩≡σΣ±≥αΓδσφε Γ δΦ±≥Φφπσ 32.21.
  52.  
  53. ╦Φ±≥Φφπ 32.21 ─εßαΓδσφΦσ Ωε∞∞σφ≥α≡Φ  Ω ⌠εφ≤.
  54.  
  55. procedure TFormI. DrawSurfaces ;
  56. begin
  57.  
  58. // ∩σ≡σπ≡≤τΦ≥ⁿ ⌠εφεΓεσ Φτεß≡αµσφΦσ
  59. DDReloadBitmap( Image, GetBitmapName ) ;
  60.  
  61. // Γ√Γσ±≥Φ φσΩε≥ε≡√σ Σε∩εδφΦ≥σδⁿφ√σ ±εΓσ≥√ ε ΩδαΓΦ°α⌡ ≤∩≡αΓδσφΦ  Ω≤≡±ε≡ε∞
  62. with TDDCanvas. Create ( Image ) do try
  63. Font. Name := 'Arial' ;
  64. Font. Size òòò= 14 ;
  65. Font. Color := clWhite ;
  66. Brush. Style := bsClear ;
  67.  
  68. Text0ut( 0, 0, 'Try cursor keys with and without Shift.' )     ;
  69. TextOutt 0, TextHeight( 'A' ),
  70.  
  71. ' Use combinations such as Left+Up for diagonal movement. ' ) ;
  72. Text0ut( 0, TextHeight( 'A' ) * 2,
  73.  
  74. 1-3 selects the torus to move, 0 selects all.' )               :
  75. finally
  76.  
  77. Free ;
  78. end ;
  79. end ;
  80.  
  81. ┼∙σ ≡ατ, τα∞σ≥ⁿ≥σ Φ±∩εδⁿτεΓαφΦσ try...Finally ΓεΩ≡≤π TDDCanvas Σδ  πα≡αφ≥ΦΦ ε±ΓεßεµΣσφΦ  TDDCanvas.
  82.  
  83.