VicoTas
Câu hỏi
avatar Uni2805
26/04/2013 21:00

Xin hướng dẫn cách tạo menu bằng lệnh trong VC++ 6.0, tôi mới bắt đầu lập trình C trên môi trường Win32?



Danh sách câu trả lời (1)
vietnamconnection vnconnection 26/04/2013 21:00
Viết code thủ công để hiển thị và quản lý sự tương tác của các menu, toolbar,... là khá khó khăn, tốn nhiều thời gian và công sức. Nhờ các môi trường thiết kế trực quan giao diện, ta sẽ thiết kế và quản lý các đối tượng giao diện dễ dàng và nhanh chóng. Cụ thể VC++ là 1 trong những môi trường thiết kế trực quan các ứng dụng viết bằng C++. Nó cho phép ta chọn 1 trong 3 'Style' giao diện cho ứng dụng: dialog based, SDI (Single Document Interface) và MDI (Multiple Document Interface), trong đó nếu bạn chọn loại SDI hay MDI thì VC++ sẽ tạo sẵn cho ứng dụng menubar và toolbar, bạn chỉ cần hiệu chỉnh lại menubar và toolbar để đáp ứng yêu cầu riêng của mình. Ở đây chúng tôi chỉ giới thiệu sơ lược các bước để viết 1 ứng dụng SDI tiêu biểu:

1. Chạy VC++ (nhanh nhất là từ icon shortcut của VC++ trên desktop).

2. Chọn menu File.New, khi cửa sổ New hiển thị, chọn tab Project, chọn mục MFC AppWizard (exe), chọn vị trí thư mục trên đĩa chứa Project phần mềm ở comboBox Location, nhập tên của Project phần mềm vào textbox Project Name. Tên của Project sẽ trở thành thư mục nằm ở tại vị trí thư mục Location, tất cả các file được tạo ra để cấu thành ứng dụng đều được lưu ở thư mục Project này. Cuối cùng chọn button Ok để bắt đầu qui trình Wizard hầu khai báo các thông số cho Project.

3. Khi cửa sổ Wizard đầu tiên hiển thị, bạn có thể ấn button Finish để kết thúc qui trình Wizard với các thông số mặc định, còn nếu muốn xem và hiệu chỉnh các thông số thì dùng button Next trên từng cửa sổ Wizard, trên mỗi cửa sổ sẽ có 1 số thông số cần khai báo.

4. Sau khi qui trình Wizard kết thúc, Project chính thức được tạo ra, lúc này ứng dụng đã có sẵn menubar và toolbar. Chọn tab Resource View trong cửa sổ Project, vào folder Menu và nhấn đúp chuột vào phần tử IDR_MAINFRAME để hiển thị menubar của ứng dụng. Khi menubar đã được hiển thị, bạn có thể thêm/bớt/hiệu chỉnh từng menu hay từng option trong menu. Lưu ý với mỗi option trong menu, bạn cần nhấn phải chuột trên nó, chọn mục Properties để hiển thị cửa sổ thuộc tính của nó hầu thiết lập lại 1 số thuộc tính, thí dụ ID là tên nhận dạng option đó.

5. Để xem và hiệu chỉnh toolbar, bạn vào folder Toolbar trong cửa sổ Project, nhấn kép chuột vào phần tử IDR_MAINFRAME. Khi toolbar đã được hiển thị, bạn có thể thêm/bớt/hiệu chỉnh từng icon của nó. Lưu ý rằng với mỗi icon trong toolbar, bạn cần vẽ đồ họa gợi nhớ chức năng và phải đặt thuộc tính ID trùng với ID của option miêu tả chức năng tương ứng trong menubar. Việc vẽ đồ họa cho icon có thể được thực hiện nhanh bằng cách copy đồ họa của icon có sẵn của ứng dụng khác và dán vào.

6. Khai báo các hàm xử lý sự kiện cho các menu option và toolbar icon. Chọn menu View.ClassWizard, khi cửa sổ ClassWizard hiển thị, bạn chọn tab Message Map, chọn tên project, chọn tên class chứa hàm xử lý sự kiện sắp tạo ra, chọn từng ID trong listbox Object IDs, chọn tên message cần xử lý rồi nhấn button Add Function để tạo hàm xử lý sự kiện được chọn trên đối tượng được chọn hiện hành. Lập lại bước 6 nhiều lần, mỗi lần cho 1 hàm xử lý sự kiện cần quan tâm.

7. Viết code cho các hàm xử lý sự kiện vừa tạo ra.

8. Dịch, sửa lỗi, debug phần mềm đến khi nó chạy tốt.
Trả lời câu hỏi
Tải lại mã
Câu hỏi lĩnh vực Lập trình
Thu Trang Xin chỉ cách thể hiện công thức toán học trong lập trình C và PHP?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Lê Văn Tùng Xin hỏi cách lập trình giao tiếp với phần cứng trong Windows? Trực tiếp hay thông qua API?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Ngô Minh Tùng Để vẽ hình vuông trong VC++ thì phải làm những bước gì?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Đức Việt Xin hỏi cách chuyển ứng dụng viết bằng Java được soạn bằng môi trường EditPlus sang môi trường JBuilder?

Đăng lúc: 20:59 - 26/04/2013 trong Lập trình

Link Sử dụng hàm nào trong C++, VB, JAVA ... để xác định được chuột và bàn phím có bấm nút?

Đăng lúc: 20:59 - 26/04/2013 trong Lập trình

nophoto Xin tư vấn nên học C# hay Java, và những ưu nhược điểm của 2 ngôn ngữ này?

Đăng lúc: 20:59 - 26/04/2013 trong Lập trình

Manh Linh Tôi biết căn bản về JAVASCRIPT và JSP/SERVLET, đang tự học VC++ và muốn viết chương trình tính thời gian truy cập Internet?

Đăng lúc: 20:59 - 26/04/2013 trong Lập trình

Phương Xin chỉ cách viết chương trình tính thời gian chạy của máy tính từ khi bắt đầu bật máy đến khi tắt máy bằng Visual Basic?

Đăng lúc: 20:59 - 26/04/2013 trong Lập trình

vietnamconnection Làm thế nào tạo các nút Back và Forward? Có cần sử dụng hàm API không?

Đăng lúc: 20:54 - 26/04/2013 trong Lập trình

Uk Huớng dẫn cho mình cách lập trình asp.net bằng VB?

Đăng lúc: 20:54 - 26/04/2013 trong Lập trình

MrTien Chương trình đồ hoạ Borland C++ 5.01 chạy không được dưới Windows, mặc dù code đúng?

Đăng lúc: 20:54 - 26/04/2013 trong Lập trình

Link Trong Pascal, lập chương trình tính cosin, sau đó tính được tang, dùng hàm arctg để đổi sang góc thì Pascal cho kết quả không phải là độ?

Đăng lúc: 20:53 - 26/04/2013 trong Lập trình

nophoto Xin hướng dẫn viết các hàm API để chương trình khoá chuột và bàn phím trên Windows?

Đăng lúc: 20:53 - 26/04/2013 trong Lập trình

nophoto Giới thiệu cho mình các phần mềm hỗ trợ lập trình game??

Đăng lúc: 20:53 - 26/04/2013 trong Lập trình

Đức Vân Tôi muốn dùng Java để hợp 3 file chứa định dạng của 3 loại màu (Red, Green, Blue) thành 1 file có format là RGB (file ảnh thông thường)?

Đăng lúc: 20:53 - 26/04/2013 trong Lập trình

nophoto Tôi đang viết chương trình quản lý công nợ sử dụng SQL Server và cần tạo 1 công cụ giống như PivotTable trong Excel, vậy tôi phải làm như thế nào?

Đăng lúc: 20:53 - 26/04/2013 trong Lập trình

Phương Hướng dẫn viết chương trình cho phép người dùng đặt lịch các công việc sẽ được thực hiện khi shutdown Windows (tương tự như mục Startup)?

Đăng lúc: 20:53 - 26/04/2013 trong Lập trình

nophoto Hướng dẫn viết chương trình làm toán với những phép tính nhân chia cộng trừ..., có những phần tính điểm và thời gian khi kết thúc?

Đăng lúc: 20:53 - 26/04/2013 trong Lập trình

Củ Chuối Hướng dẫn cách tạo chương trình C# đọc một số file như *.pdf, *.doc, text.?

Đăng lúc: 20:53 - 26/04/2013 trong Lập trình

Đức Vân Xin hướng dẫn lập trình macro để chèn thông tin ngày giờ hiện hành chính xác đến 1/100 giây.?

Đăng lúc: 20:53 - 26/04/2013 trong Lập trình

Rao vặt Siêu Vip