Monday, March 23, 2009

Bác Hy "râu" với phương thuốc bí truyền trị ung thư

Một bệnh nhân bị ung thư thực quản, hy vọng sống rất mong manh dù chấp nhận tốn kém để xạ trị, chỉ bằng một bài thuốc dân gian đơn giản đã tự chữa với kết quả khả quan.

Bác Hy cuối năm 2002 còn nguyên râu tóc

Đó là bác Trần Văn Hy - biệt danh Hy Râu - nhà ở số 188 đường Nguyễn Công Trứ TP Buôn Ma Thuột, người mấy năm qua đã liên tục lui tới các bệnh viện để điều trị chứng bệnh đã được các kết quả chẩn đoán y học thống nhất là ung thư thực quản.

Tháng 12/2002 bác Hy bắt đầu ho khan, khó thở , lần lượt đến nhiều bệnh viện (BV) ở Đăk Lăk và TP Hồ Chí Minh để khám chữa. Bác đã được các BV này cho uống thuốc đau dạ dày và thuốc chữa tổn thương phổi do lao nhưng vẫn bị rụng sạch râu tóc lông toàn thân và biến dạng mặt mày.

Sau đó lại có bản xét nghiệm đờm khẳng định bác không lao của Viện Vệ sinh dịch tễ Tây Nguyên, rồi một BV lại khẳng định bác chẳng bị gì ngoài bệnh rụng tóc. Tháng 1/2004, Thanh tra Bộ y tế chuyển đơn khiếu nại về việc các bác sĩ chỉ định điều trị sai làm sức khỏe bệnh nhân suy sụp của bác Hy về cho Giám đốc BV Đại học Y Dược TP HCM giải quyết.

Sau đó, bác đã được các chuyên gia đầu ngành hội chẩn, đưa lên bàn nội soi và phát hiện bác bị ung thư thực quản. Những diễn biến bi hài này đã được Báo Tiền Phong số 60 ra ngày 24/3/2004 phản ánh qua bài “Vì sao bác Hy Râu rụng râu tóc ?”, chốt lại ở đoạn lãnh đạo bệnh viện ngồi lại cùng bác Hy bàn bạc xem chọn cách nào điều trị cho hiệu quả …

Ở thời điểm đó thể trạng bác Hy đã rất suy kiệt. Các bức ảnh nội soi cho thấy khối u như một con đỉa lớn bám dài và chẹn gần kín thực quản khiến bác không còn ăn uống bình thường, chỉ có thể nuốt từng giọt sữa một cách khó khăn.

Bác Hy tháng 3/2004: Cơ mặt nhẽo sệ, tóc râu rụng hết

Các giáo sư, bác sĩ lãnh đạo BV Y Dược, Chợ Rẫy đều khẳng định với bác Hy : phương pháp tối ưu và duy nhất trong trường hợp này là đặt ống tiếp nhận thực phẩm để nuôi cơ thể, khi sức khỏe ổn định sẽ bắt đầu xạ trị. Bác Hy hỏi dò thì được biết: Điều trị cách này tốn chừng 150 triệu đồng, nhưng “5 sống 5 chết” nhất là ở tuổi cao như bác.

Bác nằm vắt tay suy nghĩ: Nếu chữa khỏi thì 150 triệu đối với gia đình 1 vợ 13 đứa con đều đã phương trưởng thành đạt của bác không là “vấn đề” gì. Nhưng tới tuổi này mà còn phải nuốt bằng ống, chịu đựng các tia xạ độc hại, thà chết sướng hơn! Gặp trường hợp bệnh nhân nghèo, phải tốn kém vậy họ đành bó tay đầu hàng hết sao?

Bác quyết định không điều trị theo Tây y nữa nhưng cũng chưa tìm được thầy được thuốc… Trong khi sức khỏe bác thì ngày càng suy sụp.

Vậy mà thật bất ngờ, một hôm đang ngồi làm việc tại cơ quan tôi lại nghe vọng tới tiếng bác nói cười oang oang như lệnh vỡ. Bác tự chạy xe máy, cầm mấy bài thơ tình nhanh nhẹn bước lên cầu thang vào thẳng phòng tôi.

Tôi kinh ngạc nhìn bác hồng hào phương phi, râu và lông mày lẫn lộn đen trắng mọc ra rậm rạp, tóc cũng đang đâm tua tủa muối tiêu khắp quanh đầu. Trời, đúng bác Hy Râu đây rồi nhưng phương thuốc nào kỳ diệu đến thế? Bác không quản ngại phóng xe về, gom góp các loại giấy tờ có liên quan làm bằng chứng cho tôi xem.

Toa chỉ gồm 2 vị: Bán chỉ liên 1 lạng, Bạch hoa xà thiết thảo 2 lạng.
Hướng dẫn: ngâm, rửa sạch đất cát, cho vào siêu nấu cho sôi bùng, đảo thuốc rồi vặn lửa riu riu sao cho trong gần 2 tiếng đồng hồ từ 4 chén nước cạn còn 1 chén. 1 thang sắc 2 lần sáng chiều, uống nguội lúc bụng đói.

Thì ra năm ngoái, bác buồn buồn giở lại chồng sáng tác thơ ca lộn xộn ra xem, bất chợt bắt gặp xấp giấy chép mấy bài thuốc chữa nhiều loại bệnh từ 5 năm trước một người bạn (nay đã qua đời) gửi tặng song lúc khỏe bác chẳng để ý.

Giở bài “Thuốc bí truyền chữa bệnh ung thư” thấy quá đơn giản, bác nghĩ: Thôi thì lấy tấm thân này ra làm vật thí nghiệm xem sao. Lời giới thiệu cho biết đây là phương thuốc dược thảo thiên nhiên do một tù nhân Trung Hoa hiến lại cho đời trước khi bị xử tử, tuy đơn sơ nhưng “chữa được mọi chứng bệnh nội thương ngoại cảm mà đặc biệt là các loại ung thư.

Bác Hy tháng 4/2005: Khối u đã tan biến, tóc râu đang mọc

Một mặt nó giúp ta đề phòng bệnh tật, tăng cường sinh lực, kháng độc, miễn nhiễm. Mặt khác nó có thể trị dứt các chứng bệnh ung thư vú, lở loét nơi dạ dày, ruột gan, dạ con, tử cung, não, phổi. Đối với bệnh ung thư nặng có lở loét sau khi uống nếu đại tiểu tiện có ra máu mủ là dấu hiệu tốt…”.

2 vị thuốc này khá dễ tìm, song ở Buôn Ma Thuột bác Hy mua vừa mắc vừa mốc nên phân công cho cậu út tới các quầy thuốc đường Hải Thượng Lãn Ông, chợ Lớn TP Hồ Chí Minh mua mỗi thang có 8.000đ, gửi lên.

Ngày 17/5/2004, bác xuống BV ĐH Y Dược nội soi dạ dày, phiếu ghi : “Đoạn thực quản giữa cách cung răng 28 cm là 1 khối u cứng nham nhở dễ chảy máu làm hẹp lòng thực quản, không luồn máy qua khối u được”. Ngày 18/5/2004 bác bắt đầu sắc thuốc uống.

Những chén đầu tiên, vì phải nhỏ từng giọt vào cổ, bác uống cả buổi mới hết. Thấy đại tiểu tiện ra máu mủ giống như lời dặn, đến thang thứ 6 đã nuốt nhanh được, bác mừng, tạm ngưng, xuống BV Chợ Rẫy nội soi lại, phiếu ghi : “Cách cung răng từ 28-33cm có 1 khối u sùi to, bở, dễ chảy máu, làm hẹp lòng gần hoàn toàn. Giữa khối sùi có 1 lỗ giống đường dò”.

Bác uống tiếp. Các kết quả nội soi sau đó cho thấy khối u nhanh chóng teo lại, rồi tiêu biến hết vào cuối năm 2004, chỉ để lại vết sẹo trong thực quản sau khi bác uống hết 40 thang thuốc, tổng cộng có 320.000 đồng. Bác Hy khỏe hẳn, lên cân đều đều nay đã 57 ký, da dẻ hồng hào, tóc râu mọc lại. Và bác lại làm thơ, sáng tác nhạc, tới lui chơi với các “thi sĩ” câu lạc bộ Bốn Mùa…

Bác cẩn thận dặn: Phương thuốc bí truyền đó đối với tôi quả là tuyệt vời hiệu nghiệm. Tôi có phổ biến cho vài người, họ uống thấy cũng hiệu quả lắm. Nhưng thuốc có thể hợp với người này mà không hợp với người nọ, vả chăng bài thuốc chưa được giới chuyên môn kiểm chứng, nên để các nhà khoa học chú ý mà nghiên cứu, hồi âm. Bài thuốc mà được công nhận, phổ biến rộng rãi thì đỡ cho bệnh nhân ung thư, nhất là bệnh nhân nghèo biết bao nhiêu.

Hoàng Thiên Nga

Việt Báo (Theo_Tien_Phong)

Saturday, March 14, 2009

10 Rules for All Students Applying to College


1.) Talk To Your Counselor. Between the books in the counselor’s office, and the knowledge in your counselor’s head, he or she will be a virtual treasure trove of information. Take advantage of the opportunities you have to work with a counselor to make plans for your future. Many counselors know more than any one book or website, and they are generally always willing to share their knowledge.

2.) Stay In Touch With Your Counselor. Selecting a college is not a one-step operation. In order to really help you make a decision, the counselor is going to need to get to know you. The only way for the counselor to do that is for you to take initiative and go meet with him or her. Also, most counselors are not just there for information. They really are truly counselors, and they are also there to help you with your decision, help you solve your crises, or to just calm you down when you're really stressed out.

3.) Do Research. The way to begin the college process is to get online or crack some books and start discovering what's out there. Use the resources in your counselor’s office. There are great websites such as www.myroad.com that, if you have taken the PSAT/NMSQT, are free opportunities to begin your college search. (On MyRoad, you start by taking a personality test. The site then generates a list of suggested majors and career possibilities, complete with a ranking system for how well they think this career will work for you. Then you can browse through their college index and find the right colleges with the right majors for you.) Visit www.makingitcount.com and take the My College Style and All About Me tests. Like MyRoad, these resources are free with registration, but these tools are not limited to students who have taken the PSAT. Don’t forget to research ways to pay for college by visiting sites like www.fastweb.com, a free scholarship search engine.

4.) Get Started Early. It's never too early to start researching colleges, even if you don't have a clue where to start. Just get out there and research something. Start now!

5.) Don't Procrastinate. This is one of the greatest decisions you'll ever make, and you could end up missing a great opportunity. You shrug this off like it could never happen, but it does happen all the time. Case in point: Last summer I toured a highly selective college near the nation’s capital and instantly fell in love. As the year progressed, and I applied to other colleges, it became apparent that it was very unlikely that I would ever go there, but I did keep the January 10th deadline in the back of my mind. However, at around 11:00 p.m. on Jan. 9th, when I hadn't even looked at the application, I realized that I might have just let a great possibility slip through my fingers. I'll be alright, since I might attend a military academy anyway, but there will always be that "what if?" factor at the back of my mind.

6.) Listen To Your Parents. I know you never do this (trust me, I’m like everybody else - I don't want to either), but they're there to help you. Having help makes it easier to handle all of this pressure and responsibility—and means you don’t have to handle it on your own. Also, remember that even though this is your future, your parents, in most cases, are the ones paying and the ones who got you where you are. They're part of the decision too.

7.) Don't Let Your Parents Do Your Work For You. They're there to help you, but not to pick up your slack. The most they should ever do for you is research. Let them look up some information for you and go over it with you. It's then your job to apply that information, fill out the forms, and write the essays yourself.

8.) Open Up Your Mind. Talk to reps of colleges you've never heard of. Don't be fooled by big names and Ivy Leagues. There are so many more great opportunities out there. IN ORDER TO FIND THE PERFECT PLACE FOR YOU, YOU WILL HAVE TO OPEN UP YOUR MIND.

9.) Visit, And Visit Early. How can you make such a huge decision without ever having seen the college? You could fall in love with Hendrix College in Arkansas, even after thinking “no way” when someone told you what state it was in. Or, you could get up to Boston and realize that Harvard is way too uptight for your taste. You have to experience colleges first hand. If you can’t visit, getting good information is critical to making the right decision for you.

10.) Don't Let The Pressure Get To You. Yes, this is a big decision, but it's not the end of the world if you make a mistake. People transfer and switch majors much more often than you think. There's still plenty of time for all of you to find the right place for you. Just keep your options open and always have a back up plan. With a little effort on your part, things will work themselves out for the best.

Tuesday, March 10, 2009

Hướng dẫn sử dụng Google Group

HƯỚNG DẪN SỬ DỤNG TÀI NGUYÊN GOOGLE GROUP

1. Mở chương trình duyệt web



Từ menu START, chọn All Programs, và click vào Internet Explorer (Hình 1.1)
Lưu ý: Trong trường hợp Windows là Windows 2000 hoặc được cấu hình khác thì hình 1 có thể sẽ khác.

Hình 1.1

2. Mở trang web của môn học KNGTNN:

+ (1) : gõ địa chỉ trang web vào thanh Address trên trình duyệt web (Hình 2.1)
URL: http://groups.google.com/group/hcmut_cokhi_kngtnn

+ (2) : Phần đánh số (2) là phần giới thiệu về môn học cũng như chỉ mục ngắn gọn và các thông báo ngắn.

+ (3) : Phần đánh số (3) là phần menu của toàn bộ các tài nguyên của môn KNGTNN.
(Pages - các trang web, Files - các file bài giảng, Discussions - các mục thảo luận)


Hình 2.1
Trong phần còn lại bên dưới của trang, là danh sách các cập nhật mới nhất (Hình 2.2).

+ (4) : Phần đánh số (4) là các trang bài viết được cập nhật mới nhất
+ (5) : Phần đánh số (5) là các file bài giảng, tài liệu mới nhất được upload lên
+ (6) : Phần đánh số (6) là các thảo luận mới nhất gửi đến group
+ (7) : Phần đánh số (7) là là địa chỉ email để thảo luận và gửi thảo luận đến group môn học


Hình 2.2

3. Mở các PAGES của môn học KNGTNN



Từ phần menu (3) bên phải của trang, click vào mục PAGES (Hình 3.1) để mở lên danh sách các pages có trong tài nguyên trực tuyến của môn học.

Hoặc mở link

URL: ttp://groups.google.com/group/
hcmut_cokhi_kngtnn/pages



Hình 3.1
Khi đó, cửa sổ danh sách các pages của tài nguyên trực tuyến của môn học (Hình 3.2).

Hình 3.2
Tiếp tục click vào mục Bài Giảng Điện tử, trang web toàn bộ các file bài giảng điện tử được liệt kê ra tại đây (Hình 3.3)

Hình 3.3

4. Mở các FILES của môn học KNGTNN:



Từ phần menu (3) bên phải của trang, click vào mục FILES (Hình 4.1) để mở lên danh sách các files bài giảng, các file hướng dẫn và tài liệu tham khảo có trong tài nguyên trực tuyến của môn học.

Hoặc mở link

URL: http://groups.google.com/group/
hcmut_cokhi_kngtnn/files


Hình 4.1
Danh sách các file được upload làm tài nguyên môn học.

Hình 4.2

Trong trường hợp cần download file Chuong1-T.doc, hãy thực hiện như sau:

+ (1) : Click chuột phải trên file cần download (Chuong1-T.doc) (Hình 4.3)
+ (2) : Chọn Save Link As… trên menu hiện ra.
+ (3) : Chọn vị trí và tên file lưu trữ trên ổ cứng của máy.


Hình 4.3

5. Mở các DISCUSIONS của môn học KNGTNN:


Từ phần menu (3) bên phải của trang, click vào mục Discussions (Hình 5.1) để mở lên danh sách các thảo luận về môn học này.

Hoặc mở link

URL: http://groups.google.com/group/
hcmut_cokhi_kngtnn/topics


Hình 5.1
Danh sách các thảo luận được gửi đến group môn học.

Hình 5.2
Để tham gia thảo luận, hãy email đến địa chỉ email của group:
hcmut_cokhi_kngtnn@googlegroups.com

Zip và Split file

Trong nhiều trường hợp, chúng ta cần chia một file (có kích thước lớn) ra thành nhiều file nhỏ. Khi đó, chúng ta có thể sử dụng chương trình WinRar để tiến hành vừa nén file, vừa chia nhỏ file nén thành nhiều phần theo kích thước chúng ta chọn:

Các bước thực hiện như sau:

1. Click chuột phải trên file cần nén (và chia nhỏ).
Chọn Add to Archive... trong menu ngữ cảnh vừa mở ra. (Hình 1)


Hình 1.

2. Trong cửa sổ Archive name and paramaters (Hình 2),
(1) chọn tên file nén và dạng file nén là RAR/ZIP
(2) chọn kích thước file chia nhỏ (có thể chọn trong danh sách có sẵn hoặc tham số nhập vào như 1MB, 5MB, 10MB, 100MB...)
(3) click OK để bắt đầu nén file và chia nhỏ.


Hình 2.
3. File kết quả:
Là những file được tạo ra như ở hình 3.


Hình 3.

Lưu ý: Trong trường hợp chưa có chương trình WinRar trên máy của bạn, bạn cần download và cài đặt chương trình này từ
URL: http://www.soft32.com/Download/free-trial/WinRAR/4-175-1.html

Monday, March 9, 2009

Tạo hiệu ứng ảnh xưa trực tuyến


Hiện nay, với máy ảnh kỹ thuật số, chúng ta có thể dễ dàng chụp và lưu giữ những tấm ảnh màu đẹp mắt và có chất lượng cao. Tuy nhiên, những tấm ảnh đen trắng hay bị ố vàng thời xa xưa vẫn có giá trị riêng về tính nghệ thuật và kỷ niệm. Do vậy, không ít người đã dùng kỹ xảo đồ họa để chỉnh sửa ảnh màu thành ảnh đen trắng, làm chúng trông như những tấm ảnh cũ đã được chụp lâu lắm rồi. Cho dù không biết chút gì về đồ họa, bạn vẫn có thể dễ dàng tạo ra những tấm ảnh xưa cũ kỹ chỉ có 2 màu đen trắng như vậy với một dịch vụ trực tuyến miễn phí http://labs.wanokoto.jp/olds.

Cách thực hiện rất đơn giản. Truy cập trang web và cung cấp hình ảnh muốn tạo hiệu ứng, hình ảnh này có thể lấy từ máy tính hoặc từ một địa chỉ trên Internet. Sau đó nhấn nút Convert và theo dõi hình ảnh tạo ra trên trang web. Sau cùng, nhấn chuột phải trên hình ảnh này và chọn lưu về đĩa cứng là xong.

Kết quả cũng được tấm hình thú vị :

http://soft911.blogspot.com/2008/06/to-hiu-ng-nh-xa-trc-tuyn.html

Friday, March 6, 2009

Sử dụng Flickr đăng bài cho Blogger

Flickr, một dịch vụ quản lý ảnh trực tuyến được Yahoo mua lại, cái tên quá quen thuộc đối với cộng đồng chia sẻ ảnh trực tuyến và giới blogger Yahoo! 360. Dịch vụ này nổi tiếng đến mức Yahoo! Photo (một dịch vụ quản lý ảnh cũng của hãng này) đã tuyên bố chính thức đóng cửa ngày 20/09/2007 vừa qua. Với người dùng Blogger làm sao để sử dụng dịch vụ này, xin đọc bài hướng dẫn sau sẽ giúp bạn biết cách đăng ảnh và bài viết trực tiếp vào blog.

BƯỚC 1: ĐĂNG KÝ FLICKR VÀ THIẾT LẬP KẾT NỐI ĐẾN BLOGGER

Đầu tiên bạn hãy đăng nhập vào Flickr, nếu chưa đăng ký hãy nhấn vào đây (Dùng ID và password của Yahoo! Mail). Đăng nhập xong chọn menu You -> Your Account.



Trang quản lý tài khoản của bạn hiện ra, chọn Extending Flickr. Tiếp tục chọn Configure your Flickr-to-blog settings.



Tiếp theo click Set up your blog, bạn sẽ được đưa đến trang chọn nhà cung cấp blog, hãy chọn Blogger Blog và click Next.



BƯỚC 2: CẤP QUYỀN CHO FLICKR

Bấm Head over to Google now để cho phép đăng từ Flickr vào Blogger.



Bạn sẽ được yêu cầu đăng nhập Blogger (nếu chưa đăng nhập) hoặc yêu cầu cấp quyền bằng cách click trên nút Grant Access.



Bây giờ bạn chọn blog định đăng (nếu có nhiều blog) và nhấn Next.



Màn hình sẽ hiển thị thông tin về blog của bạn và đặt nhãn (Lưu ý: Đây không phải là nhãn bài đăng trên Blogger, nhãn này để phân biệt blog trong trường hợp bại cài đặt Flickr với nhiều blog ở Blogger).

Photo Sharing and Video Hosting at Photobucket

Bạn sẽ được thông báo hoàn tất và nhấn create a custom posting template để chọn kiểu trình bày (layout).



Click trên hình để chọn và nhấn USE THIS khi trang hướng dẫn chọn layout tương ứng hiện ra. Nếu bạn biết về HTML/CSS có thể click CUSTOMIZE để thay đổi. Bạn sẽ được thông báo chọn xong layout. Bạn có thể thêm nhiều blog vào Flickr bằng cách click Add another blog và làm tương tự như trên. Nếu muốn kiểm tra thử hãy nhấn TEST POST và mở blog để xem.



BƯỚC 3: ĐĂNG HÌNH VÀ VIẾT BÀI

Quay lại trang quản lý ảnh (You -> Your Photos), bạn chọn hình muốn xuất bản. Khi trang quản lý hình được chọn hiển thị hiện đầy đủ hãy nhấn BLOG THIS và chọn blog muốn đăng bài (có tên tương ứng với Label mà lúc nãy bạn đặt).



Sau đó nhập tiêu đề (Title), nội dung (Your Post) và nhấn POST ENTRY để xuất bản.


Thursday, March 5, 2009

OOP: ObjPaint-03 - Xử Lý Sự Kiện Chuột

PHẦN 3: XỬ LÝ SỰ KIỆN CHUỘT


1. Chặn sự kiện chuột WM_LBUTTONDOWN trên vùng Client
1.1. Gọi cửa sổ ClassWiazrd

Có thể thực hiện bước này ở 2 dạng:
+ Menu: View / ClassWizard
+ Phím tắt: Ctrl + W


Hình 1.1: Gọi cửa sổ ClassWizard

1.2. Bổ sung hàm chặn xử lý WM_LBUTTONDOWN.



Hình 1.2: Cửa sổ ClassWizard để thêm hàm chặn sự kiện

Có thể thực hiện bước này ở 2 dạng:
+ Double click trực tiếp lên message WM_LBUTTONDOWN
+ Để con trỏ chuột lên WM_LBUTTONDOWN, rồi nhấn button AddFunction, rồi nhấn button EditCode.
Hàm chặn sự kiện chuột mới tạo ra năm trong vùng viền đỏ của Hình 1.3.


Hình 1.3: Hàm CObjPaintView::OnLButtonDown


Việc chặn xử lý sự kiện WM_LBUTTONDOWN sẽ tạo ra 3 đoạn lện sau:
CODE1: Khai báo hàm chặn sự kiện trong file HEADER ObjPaintView.h.


// Generated message map functions
protected:
//{{AFX_MSG(CObjPaintView)
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
//}}AFX_MSG
DECLARE_MESSAGE_MAP
()


CODE2: Khai báo MACRO chặn xử lý sự kiên trong file implementation ObjPaintView.CPP.

BEGIN_MESSAGE_MAP(CObjPaintView, CView)
//{{AFX_MSG_MAP(CObjPaintView)

ON_WM_LBUTTONDOWN()
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()


CODE3:
Định nghĩa xử lý hàm xử lý sự kiên trong file implementation ObjPaintView.CPP.

///////////////////////////////////////////////////////////////////
// CObjPaintView message handlers

void CObjPaintView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call
CView
::OnLButtonDown(nFlags, point);

}


1.3 Bổ sung xử lý cho sự kiện WM_LBUTTONDOWN.


Dữ kiện ban đầu: Trong hướng dẫn Phần 2, chúng ta đã có được một đối tượng CLine m_ln1 được lưu trữ trong lớp CObjPaintDoc.

Giả định: Khi nhấn chuột, chúng ta sẽ thay đổi tọa độ bắt đầu của đối tượng CLine m_ln1 trong lớp CObjPaintDoc và để cập nhật hình vẽ thì gọi hàm cập nhật vùng CLIENT.

///////////////////////////////////////////////////////////////////////// CObjPaintView message handlers

void CObjPaintView::OnLButtonDown(UINT nFlags, CPoint point)
{

// TODO: Add your message handler code here and/or call
//Khoi gan gia tri bat dau cua LINE
GetDocument()->m_ln1.m_pt1.x = point.x;
GetDocument()->m_ln1.m_pt1.y = point.y;

//Goi cap nhat vung CLIENT ==> MFC tu dong goi ham OnDraw
Invalidate();

CView
::OnLButtonDown(nFlags, point);
}

Như vậy, sau khi thêm các lệnh cho sự kiện click chuột, chương trình cuối cùng đã có thể vẽ đối tượng linh động một phần (PT1 trong LINE). Để đối tượng LINE linh động hoàn toàn theo thao tác vẽ, cần phải xử lý tiếp sự kiện WM_LBUTTONUP.

WM_LBUTTONUP sẽ xác định điểm PT2 của Line để có một đối tượng LINE hoàn toàn linh hoạt.



Hình 1.4: Hàm xử lý sự kiện WM_LBUTTONDOWN


2. Chặn sự kiện chuột WM_LBUTTONUP trên vùng Client

Tiếp trục thực hiện chặn sự kiện chuột WM_LBUTTONUP thao các bước tiến hành như phần 1.


Giả định:
Khi nhấn chuột, chúng ta sẽ thay đổi tọa độ bắt đầu của đối tượng CLine m_ln1 trong lớp CObjPaintDoc và để cập nhật hình vẽ thì gọi hàm cập nhật vùng CLIENT.

///////////////////////////////////////////////////////////////////////// CObjPaintView message handlers
void CObjPaintView::OnLButtonUp(UINT nFlags, CPoint point)
{

// TODO: Add your message handler code here and/or call
//Khoi gan gia tri ket thuc cua LINE

GetDocument
()->m_ln1.m_pt2.x = point.x;
GetDocument()->m_ln1.m_pt2.y = point.y;
//Goi cap nhat vung CLIENT ==> MFC tu dong goi ham OnDraw
Invalidate
();
CView:: OnLButtonUp (nFlags, point);
}

OOP: ObjPaint-02 - Tạo lớp & Sử dụng đối tượng

PHẦN 2: TẠO LỚP và SỬ DỤNG ĐỐI TƯỢNG
1. Add lớp mới
1.1. Tạo lớp



Hình 1.1: Click và tạo mới lớp



Hình 1.2: Cửa sổ tạo lớp CLine



Hình 1.3: File Header của CLine

1.2 Bổ sung thuộc tính cho lớp đối tượng



Hình 1.4: Click và bổ sung thêm biến thành viên cho CLine



Hình 1.5: Cửa sổ thêm biến thành viên


1.3 Add phương thức cho lớp đối tượng



Hình 1.6: Click và bổ sung thêm hàm thành viên



Hình 1.7: Cửa sổ thêm hàm thành viên Draw



Hình 1.8: Cửa sổ phần định nghĩa lớp

Ngoài ra, cần sửa hàm khởi tạo để có thể vẽ gì đó ra màn hình. (Hình vuông đỏ số 1)
Hàm Draw gọi vẽ một đoạn thẳng từ pt1 pt2. (Hình vuông đỏ số 2)
2. Khai báo đối tượng Line trong ứng dụng (CObjPaintDoc)

Đối tượng m_ln1 cần dược lưu trữ trong lớp CObjPaintDoc, vì đây là nơi lưu trữ dữ liệu cũa một document.



Hình 2.1: Click và bổ sung thêm biến thành viên cho CObjPaintDoc

Sau khi add thêm, file header sẽ có thêm 2 dòng này:

#include "Line.h" // Added by ClassView

CLine m_ln1;




Hình 2.2: Cửa sổ thêm biến thành viên m_ln1

3. Vẽ đối tượng LINE lên vùng Client

Hình 3.1: Cửa sổ định nghĩa hàm OnDraw trong lớp View


Việc vẽ lên CLIENT sẽ do hàm OnDraw của lớp CObjPaintView đảm nhận.

void CObjPaintView::OnDraw(CDC* pDC)
{

CObjPaintDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);


// TODO: add draw code for native data here
pDoc->m_ln1.Draw(pDC);

}


Ở đây, Document sẽ triệu gọi đễ lấy dữ liệu và in lên màn hình. Kết quả cuối cùng sẽ là:



Hình 3.2: Cửa sổ ứng dụng tạo ra khi OnDraw gọi vẽ đối tượng

Đối tượng chúng ta vẽ ra nằm trong hình vuông đỏ.

OOP: ObjPaint-01 - Tạo Project ObjPaint

PHẦN 1: TẠO PROJECTOBJPAINT


1. Mở ứng dụng Visual C++ 6.0

Hình 1.1: Cửa sổ chương trình Visual C++ 6.0

2. Tạo mới một project có tên ObjPaint theo dạng SDI

Chọn menu File / New (Ctrl + N)


Hình 2.1: Cửa sổ tạo mới một project



Hình 2.2: Chọn dạng ứng dụng là Single document (SDI)


Hình 2.3: Chọn dữ liệu hỗ trợ: None


Hình 2.4: Chọn dữ liệu hỗ trợ: None


Hình 2.5: Chọn các phần bổsung như toolbar, statusbar…


Hình 2.6: Chọn các phần bổ sung như toolbar, statusbar…



Hình 2.7: Kết quả các lớp được tạo ra.



Hình 2.8: Thông tin về project mới tạo ra.



Hình 2.9: Phần view của project đã tạo ra.

3. Biên dịch và chạy chương trình


Nhấn Ctrl+F5 để biên dịch và chạychương trình.



Hình 3.1: Cửa sổ chương trình đã xây dựng

4. Thông tin các lớp trong project:

4.1. CAboutDlg

Là lớp quản lý cửa sổ About của chương trình. Có thể xem dialog này bằng cách chọn menu Help / About.




Hình 4.1: Dialog About của chương trình.



Hình 4.2: Cửa sổ phần code của class CAboutDlg.



Hình 4.3: Cửa sổ phần resource của dialog About.

4.2. CMainFrame

CMainFrame quản lý các toolbar, statusbar và vùng client (CObjPaintView).



Hình 4.4: Cửa sổ code phần lớp CMainFrame


4.3. CObjPaintApp

CObjPaintApp là lớp khởi tạo toàn bộ ứng dụng.


4.4. CObjPaintDoc

CObjPaintDoc là lớp quản lý dữ liệu văn bản (nếu có) của project.

Trong trường hợp PAINT, các đối tượng có thể lưu trong lớp này.

4.5. CObjPaintView

CObjPaintView là lớp chính quản lý vùng client của SDI. Việc vẽ lên GUI đượcthông qua lớp đối tượng này.