My Opera is closing 1st of March

QUANG HOANG'S BLOG

Welcome to everybody !

Hướng dẫn thực hành môn C++ for Windows

, ,

Bài tập thực hành

1. Bài tập về Windows GDI.
2. Bài tập về xử lý các Message bàn phím, Mouse, và Timer.
3. Bài tập về Menu, Dialog và các control.
- Tạo Menu (Video).
- Tạo Dialog và các control (Video).
4. Bài tập về Bitmap và Region.



Tài liệu tham khảo
1. Giáo trình Lập trình C trên Windows (ThS Vũ Thanh Hiền)
2. Lập trình C trên Windows
3. Lý thuyết C for Windows
4. Khám phá Windows API
5. Wrox Press - Professional MFC
6. VC++ 21 day
7. Advanced MFC Programming
8. Programming Windows Fifth Edition



Tips
1. Một số thủ thuật lập trình VC++ (MFC)

Link
1. Đề cương thực hành C4Win của trường KHTN (các bạn chọn Đăng nhập như khách để vào)
2. Visual C++ tutorial (MFC)




Tạo tổ hợp phím tắt cho ứng dụng trong C#Tìm đường đi ngắn nhất A* trên đồ thị có thông tin định hướng

Comments

Unregistered user Monday, November 13, 2006 3:52:33 AM

Trung writes: Ban co tai leu rat hay. Ban la sinh vien DHKHTN ha? Chuc ban vui.

Unregistered user Tuesday, December 5, 2006 12:50:43 PM

Andriy writes: Anh Quang oi cho em hoi dia cau liet ke font vni trong he thong voi phan dialog. thanx anh nhieu nha!

Unregistered user Friday, December 22, 2006 10:46:22 AM

Nguyet hang writes: chao` anh ! anh co' the chi giup' em cach' hoc lap trinh` vien nhanh nhat' va` re nhat' khong a? em rat' muon' hoc nhung do dieu` kien ko cho phep' ,anh co' the tu van' cho em dc ko a? em cam on nhieu`!

Unregistered user Saturday, February 10, 2007 4:23:47 PM

Manzaa writes: great site I have some gifts for u. Here some tremandous sites which u gonna love: http://shahid-tutesworld.blogspot.com http://alltutes.blogspot.com http://rapidshare-links.blogspot.com http://mzworld.com/wp/ebooks http://mzworld.com/AutoIndex http://arbizaa-softwareworld.blogsopt.com http://kitab-ghar.blogspot.com http://rapidshare-library.blogsopt.com http://shahidzain.blogsopt.com http://mahek-kutubkhana.blogspot.com

Quang Hoanghodawa Saturday, February 10, 2007 5:47:23 PM

thx u very much, it's really useful 4 me !

Unregistered user Thursday, August 2, 2007 1:02:34 PM

misel writes: ban oi!sao minh` khong xem duoc tai` lieu cua ban?

Unregistered user Thursday, August 9, 2007 9:01:12 AM

hangtt writes: Anh oi! A co giao trinh can ban gi ve C++ ko? Em moi bat dau vao hoc no ma kho va la lam qua! Neu co thi giup em voi nha. Hoac co the gui vo Email:Em_khong_biet_tin_ai@yahoo.com giup E nha! Cam on A nhieu nhieu

Quang Hoanghodawa Saturday, August 11, 2007 5:15:27 PM

minh co gioi thieu cho ban 1 so tai lieu o tren do, ban down ve xem thu xem...

Unregistered user Saturday, October 13, 2007 3:17:58 AM

lion writes: Mình đang lập trình c++ trong turbo c 3.0 mình không bết cách nào để hiển thị được tiếng việt trong c++ và sử dụng mouse trong c++,, các bạn co thể giúp mình không? Cám ơn trước nha các bạn!!!!

Quang Hoanghodawa Saturday, October 13, 2007 5:17:56 AM

để xử lý mouse trong turbo C, bạn dùng các hàm sau:
int MouseReset()
{   uint r;
    asm	{
           mov ax,0; int 0x33
           mov r,ax
        }
    return (r==0xFFFF)?1:0;
}
//-------------------------------
void MouseShow()
{   asm{mov ax,1;int 0x33}      }
//-------------------------------
void MouseHide()
{   asm{ mov ax,2; int 0x33}    }
//-------------------------------
int MousePress(int &x, int &y)
{
   int button;
   struct REGPACK reg;
   reg.r_ax = 3;
   intr(0x33, &reg);
   x = reg.r_cx;
   y = reg.r_dx;
   button =  reg.r_bx;
   return button;
}
//-------------------------------
void MouseRect(uint x1,uint y1,uint x2,uint y2)
{
    asm{
        mov ax,7
        mov cx,x1
        mov dx,x2
        int 0x33
    }
    asm{
        mov ax,8
        mov cx,y1
        mov dx,y2
        int 0x33
    }
}


Để đọc font trong turbo C (trong chế độ Graphic), bạn dùng các hàm sau:

void FontOpen(char *filename)
{
	int f;
	if ((f = open(filename,O_RDONLY | O_BINARY | O_RDONLY)) == -1)
	   printf("Khong mo duoc tap tin %s\n",filename);
	else
	{
		read(f,&font,4096);
		close(f);
	}
}
//-----------------------------------------
void PutChar(int x, int y, uchar c, uchar color)
{
	int i,j, k;
	uchar m;
	for (i=0; i <=15; i++)
	{
		//s:=Addbin(Bin(Mem[Seg(MFont^):(Ord(c)*16)+i]));
		m = font[c*16+i];
		k=0;
		for (j=7; j >=0; j--)
		{
			k++;
			if ((m >> j) & 1)
			   putpixel(x+k-1,y+i,color);
		}
	}
}
//------------------------------------------
void PutStr(int x, int y, char *s, uchar color)
{
	for (int i=0; i < strlen(s); i++)
	{
		PutChar(x+i*8,y,s[i],color);
	}
}
//------------------------------------------


Bạn có thể dùng font này để sử dụng VNI-VR.FNT

Unregistered user Thursday, January 31, 2008 2:20:03 PM

Anonymous writes: Bài này thật có ích :up: cảm ơn bạn

Unregistered user Wednesday, April 30, 2008 4:05:51 PM

thangngohockythuat writes: (Bài tập này sử dụng thư viện lập trình MFC) Ngày nộp bài: 04/05/2008 (nộp tại trang web môn học: http://courses.cs.hcmuns.edu.vn/2007) Mô tả Viết chương trình vẽ chữ ra màn hình sử dụng thư viện liên kết động. Chương trình bao gồm 2 phần: (1) thư viện liên kết động (chứa các hàm xử lý chuỗi), (2) ứng dụng minh hoạ việc hiển thị chữ. Câu 1. Thư viện liên kết động (1 điểm) Xây dựng thư viện liên kết động dạng Regular DLL gồm các hàm xử lý chuỗi sau đây (SV tự định nghĩa khai báo prototype của hàm). - Chuẩn hoá chuỗi: loại bỏ tất cả các khoảng trắng dư thừa ở đầu và cuối chuỗi. Các khoảng trắng ở giữa cũng được loại bỏ sao cho chỉ tồn tại một khoảng trắng duy nhất giữa hai tiếng bất kỳ. Sau đó, toàn bộ ký tự trong chuỗi sẽ được chuyển thành chữ thường. Ví dụ, chuỗi ‘ xIn chAO Cac BaN ’ được chuẩn hoá thành chuỗi ‘xin chao cac ban’. - Viết hoa chữ đầu của các tiếng của chuỗi. Ví dụ, chuỗi ‘xin chao cac ban’ sẽ được chuyển thành ‘Xin Chao Cac Ban’. - Tách chuỗi thành các tiếng riêng biệt. (Ranh giới để phân biệt các tiếng trong chuỗi là khoảng trắng). Ví dụ, chuỗi ‘Xin Chao Cac Ban’ được tách thành 4 tiếng khác nhau: ‘Xin’, ‘Chao’, ‘Cac’, ‘Ban’. Câu 2. Ứng dụng minh hoạ (1 điểm) Ứng dụng minh hoạ thực hiện vẽ chữ ra màn hình từ chuỗi ký tự được người dùng nhập vào. Chuỗi ký tự này được người dùng nhập tuỳ ý (không giới hạn về khoảng trắng, ký tự hoathường,…). Chuỗi này sẽ được xuất thành nhiều dòng khác nhau trên màn hình client của ứng dụng. Mỗi dòng chứa một tiếng khác nhau (của chuỗi trên). Trong đó, ở mỗi tiếng, chỉ ký tự đầu tiên được viết hoa, các ký tự còn lại phải viết thường. Ví dụ, người dùng nhập vào chuỗi ký tự ‘ ChUc tHaNh cONg ’. Trên màn hình có thể được nhìn thấy như sau: Chuc Ban Thanh Cong Ứng dụng phải sử dụng các hàm xử lý chuỗi được cung cấp trong thư viện liên kết động đi kèm. Đơn giản hoá • Số lượng tiếng tối đa trong chuỗi ký tự nhập vào là 10. • Có thể chọn một font chữ, kích thước chữ, màu chữ cố định (chẳng hạn, font Times New Roman, cỡ chữ 18, và màu xanh) để hiển thị các dòng chữ trên màn hình. • Nạp thư viện liên kết động sử dụng kiểu load-time. Tính đúng đắn của bài làm • Thư viện liên kết động dạng Regular DLL bao gồm đầy đủ tất cả các hàm xử lý chuỗi cần thiết. • Ứng dụng minh hoạ sử dụng dạng giao diện đồ hoạ Single Document. • Ứng dụng minh hoạ phải sử dụng thư viện liên kết động. • Khi ứng dụng được được thực thi, trên màn hình vùng client xuất hiện (các) dòng chữ mặc định (được định nghĩa sẵn trong ứng dụng). • Ứng dụng có hiển thị hộp thoại cho phép người dùng nhập vào chuỗi ký tự. • Các dòng chữ hiển thị trên màn hình không được trùng lắp lên nhau. • Mỗi dòng ký tự trên màn hình chỉ là một tiếng trong chuỗi ký tự nhập vào. • Chỉ ký tự đầu tiên của tiếng được viết hoa, các ký tự còn lại phải viết thường. • Nội dung của chuỗi ký tự hiện hành luôn tồn tại trên vùng client của cửa sổ khi người dùng thay đổi kích thước cửa sổ. Ghi chú Sinh viên phải nộp đầy đủ các project cần thiết (DLL và ứng dụng). Xoá bỏ các tập tin không cần thiết trong thư mục Debug. Nén tất cả lại vào một tập tin duy nhất. Đặt tên file này theo MSSV. HẾT

Unregistered user Thursday, October 9, 2008 6:12:55 PM

Anonymous writes: Anh ơi sao 2 tài liệu cuối ko dow được vậy. Mong anh check lại link. Cám ơn anh rất nhiều về các tài liệu tiếng việt C++.

Quang Hoanghodawa Saturday, October 11, 2008 3:28:57 PM

bạn có thể vào google de search, chỉ cần serach

<tên sách> + rapidshare

Ví dụ: "Advanced MFC Programming" rapidshare

nó ra nhiều lắm, tha hồ mà down.



Phung Nhãnarukami Thursday, September 2, 2010 8:39:04 AM

oi^'..em dang hoc mon nay..may qa:X
thanks a:D

Write a comment

New comments have been disabled for this post.

February 2014
S M T W T F S
January 2014March 2014
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28