M sgBox(Asc{"A” ) Xor 50)
1 34 C hưdng 5: Thẽm đổ họa vả cách iệu ứng hoạt hinh
SetBounds Phương thức này xác lập các biên của một đối
tượng sang một vị trí v à kích cỡ xác định. T rong các p h ầ n sau đây b ạn sẽ thử nghiệm với việc sử dụng các thuộc tín h Left, Top v à Location để di chuyển các đối tượng.
Đ ể di chuyển m ột đối tượng th eo m ột hướng n ằ m n g an g , sử dụng thuộc tín h Left, thuộc tín h n ày sử dụng cú pháp:
Object.Left = horizontal
tro n g đó object là tê n của đô'i tượng tr ê n form m à b ạ n m uôn di chuyển
v à h o riz o n ta l là trụ c n ằ m n g a n g m ới h o ặc trụ c X, tọ a độ m é p t r á i của đô'i
tượng được đo b ằ n g các pixel. Ví dụ câu lệ n h chương tr ìn h sau đây di chuyển m ột đối tượng picture box sa n g m ột vị tr í n ằ m b ên p h ả i m ép cửa sổ tr á i 300 pixel.
PictureBox1.Left = 300
6. T rong hộp th o ạ i O p e n , định hướng sa n g folder C :\V b l0 s b s \C h a p l5 . 7. T rong hộp d an h sách F ile s O f T y p e , chọn A ll F ile .
8. C họn Sun.ico v à sau dó n h ấ p o p e n .
9. N h ấp O K tro n g hộp th o ại S e le c t R e s o u r c e . Biểu tượng m ặ t trờ i xuất h iệ n tro n g P i c t u r e B o x .
10. Xác lậ p thuộc tín h SizeMode tr ê n PictureB ox s a n g S trechlm agẹ 11. N h ấ p đôi control T i m e r tr ê n ta b C o m p o n en ts củ a Toolbox để
th ê m nó vào com ponent tra y (khay th à n h p h ầ n ) b ê n dưới form. Đối tượng tim e r là cơ cấu điều k h iể n tốc độ của h o ạ t h ìn h . H ãy nhớ lạ i rằ n g b ả n th â n đô'i tượng tim e r không n h ìn th ấ y được trê n form, do đó nó được hiển th ị b ên dưới form tro n g co m p o n en t tra y d ành riên g cho nhữ ng đôl tượng không n h ìn th ấ y được.
12. Xác lậ p các thuộc tín h sau dây cho các dối tượng b u tto n , tim e r và
X ác lậ p "Move U p” "Move Down" 75 "Basic Animation" form Đ ối tưỢng T h u ộ c tín h B uttonl Text Button2 Text T im erl Interval F orm l Text
C h ư ơ n g 15: T h ê m đ ồ họ a và các hiệu ứng hoạt hinh 1 3 5
Sau k h i b ạ n xác lập những thuộc tín h này, form trô n g tương tự như sau:
a o ' kéÍMỈnỉ kÒA • Mkf«<«h U«I '
F í i t l ^ t t Vi«M P r o i r l ỉ ú l d 0 « b u 9 T « c n CMU F ^ f i i 4 Ì T « « f i w » u « ỉa « K iíp
jì -# ^ ^ • Í1 Ì 4 ỉ 'Ị k ■!
Ịíí^ml vh fĐniỊji»l* «
^nri*t0A Ịy>iị
HovrOiMn
13. N h ấ p đôi n ú t M o v e U p để biên tậ p th ủ tục sự kiện của nó.
Thủ tục sự k iệ n B uttonl_C lick xuất h iệ n tro n g Code Editor. 14. Gõ n h ậ p m ã chương tr ìn h sau đây:
GoingUp = True
T im e rl.E n a b le d = True
Thủ tục sự k iệ n đơn giản này xác lập biến GoingU p sang True và bật đô'i tượng tim e r. M ã chương tr ìn h th ậ t sự để di chuyển đối tượng picture box v à cảm n h ậ n đúng hướng được lưu trữ tro n g th ủ tục sự k iệ n T im erl_ T ick . Bây giờ biến GoingUp có m ộ t đường gạch dưới bởi vì b ạ n d ă chưa k h ai báo nó.
15. G ần p h ầ n tr ê n cùng của m ã chương tr ìn h của form (bên dưới câu lệ n h Public C lass F o rm l), gõ n h ập p h ầ n k h a i báo biến sau đây;
Dim GoingUp As Bũolean 'GoingUp stores current direction
P h ầ n k h a i báo biến sau đây làm cho G o in g ư p có sẵn cho t ấ t cả thủ tục sự k iệ n tro n g form, do đó dường gạch dưới gồ ghề tro n g th ủ tục sự k iệ n B u tto n l_ C lick được loại bỏ. M ột biến Boolean được sử dụng ở đây bởi vì chỉ có h a i hướng di chuyển tro n g chưcmg trìn h n ày - lên v à xuông.
16. H iển th ị lạ i form, n h ấ p đôi n ú t M o v e D o w n và sau đó gõ n h ập m ã chương tr ìn h sau đây tro n g th ủ tục sự k iệ n Button2_C lick;
GolngUp = False
Tim eM .Enabled = True
Thường tr ìn h n ày tương tự như th ủ tục sự k iệ n B u tto n l_ C lick ngoại tr ừ nó th a y đổi hướng từ lên sang xuống.
17. H iển th ị lại form, n h ấp đôi đối tượng T i m e r l và sau đó gõ n h ập m ă chương tr ìn h sau đây tro n g th ủ tục sự k iệ n T im erl_ T ick :
lf GoingUp = True Then
‘ move picture box toward the top lf P ictu re B oxU o p > 10 Then
PictureBoxl.Location = New Point _ (PictureBoxl.Location.X - 1 0 , _ PictureBoxl.Location.Y - 10) End lf
Else
‘move picture box toward the bottom
lf P ictu re B oxU o p < (MẹSize,Height - 75) Then P ictureB oxH ocation = New Point _
(P ictu re B oxllũca tỉo n .X + 10, _ PictureBoxl.Location.Y + 10) End lf
End It
Do đó m iễn là tim e r được b ật, cấu trúc quyết d ịn h I f ..Then n à y được thực th i cách 75 m ili giâỵ Dòng đầu tiê n tro n g th ủ tục k iểm t r a xem biến Boolean GoingUp có được xác lập sa n g T rue h a y k h ô n g biểu th ị rằ n g biểu tượng dang di chuyển tiế n đ ến p h ầ n tr ê n cùng của form. N ếu nó được xác lập sang True, th ủ tục di chuyển đối tượng picture box sa n g m ột vị trí tương đối gần với m ép đ ỉn h v à m ép đáy của form hơn 10 pixel.
N ếu b iế n GoingU p h iệ n được xác lập sa n g F alse, cấu trú c quyết đ ịn h di chuyển biểu tượng xuống th a y vào đó. T ro n g trư ờ ng hợp này đối tượng picture box di chuyển cho đến k h i m ép của form được p h á t