VicoTas
Câu hỏi
avatar anhchangdepzaj
25/05/2013 20:38

Hướng dẫn cho mình cách xây dựng menubar trong C++. ?



Danh sách câu trả lời (1)
avatar deviant 25/05/2013 20:38
Hiện ngôn ngữ C++ được dùng phổ biến nhất trên Windows là Visual C++ 6.0 của Microsoft (gọi tắt là VC++). VC++ có thể hiểu theo 2 nghĩa khác nhau tùy ngữ cảnh: hoặc là bản thân ngôn ngữ lập trình hoặc là môi trường phát triển ứng dụng bằng C++ của Microsoft. Để sử dụng môi trường VC++, bạn cần cài đặt bộ CD tên là 'Visual Studio 6.0'. Môi trường VC++ rất mạnh và dễ dùng, nó cho phép bạn tạo ra nhiều loại thành phần phần mềm khác nhau như thư viện liên kết động DLL, thành phần COM, ActiveX Control, phần mềm dạng console, dạng Windows... Để tạo 1 ứng dụng đồ họa có giao diện phổ biến gồm titlebar, menubar, toolbar, statusbar... một cách dễ dàng và trực quan, bạn có thể dùng loại Project 'MFC AppWizard (exe)'. Để tạo loại Project phần mềm này, bạn hãy chạy VC++, chọn menu File.New để hiển thị cửa sổ New, trên cửa sổ này bạn chọn tab 'Project', chọn mục 'MFC AppWizard', chọn vị trí thư mục chứa Project, nhập tên Project phần mềm rồi OK để máy bắt đầu qui trình Wizard giúp bạn. Khi cửa sổ 'Step 1' hiển thị, bạn chọn loại ứng dụng là 'Single Document' rồi OK. Đây là loại Project mà VC++ tạo sẵn dùm bạn giao diện ứng dụng phổ biến nhất gồm 1 titlebar, menubar, toolbar, statusbar. Sau khi các phần tử giao diện chuẩn của ứng dụng được tạo ra tự động (thường không khớp với yêu cầu riêng của bạn), bạn chỉ cần hiệu chỉnh trực quan chúng theo yêu cầu riêng của mình rồi viết code các hàm xử lý sự kiện kèm theo. Để có được menubar theo yêu cầu, sau khi qui trình Wizard kết thúc, bạn hãy chọn tab 'ResourceView' trong cửa sổ cây Project của ứng dụng (thường nằm bên trái), duyệt và mở mục Menu, nhấn kép chuột vào phần tử IDR_MAINFRAME để hiển thị menubar chính của ứng dụng. Quá trình hiệu chỉnh trực quan menubar gồm 3 thao tác chính sau đây:

- Thêm 1 menu-popup mới vào thanh menubar: nhấn chuột phải vào hình chữ nhật phía cực phải của thanh menubar, chọn mục Properties và nhập vào thuộc tính 'Caption' cũng như một số thuộc tính khác nếu muốn. Việc thêm 1 option mới trong 1 menu-popup tương tự như việc thêm menu-popup.

- Bớt 1 menu-popup có sẵn: chọn nó và chọn chức năng 'Cut'. Việc bớt 1 option có sẵn trong 1 menu-popup tương tự như việc bớt menu-popup.

- Thay đổi vị trí của 1 menu-popup: chọn nó và kéo chuột về vị trí mong muốn trong thanh menubar. Việc thay đổi vị trí của 1 option trong 1 menu-popup tương tự như việc thay đổi vị trí của menu-popup.

Tóm lại, nếu bạn dùng VC++ để tạo Project 'MFC AppWizard (exe)' thì việc thiết kế trực quan menubar và nhiều phần tử giao diện khác rất dễ dàng, an toàn, nhanh chóng, bạn không cần viết code khó nhọc vì VC++ sẽ tạo tự động đoạn code này cho bạn, bạn chỉ đóng vai trò họa sĩ chỉ bảo cho VC++ làm mà thôi.
Trả lời câu hỏi
Tải lại mã
Câu hỏi lĩnh vực Lập trình
nophoto Nên viết trình điều khiển scanner và quản lý dữ liệu của scanner bằng ngôn ngữ gì là thích hợp nhất? Có thể dùng Visual C++ 6.0 không?

Đăng lúc: 20:37 - 25/05/2013 trong Lập trình

nophoto Tôi muốn viết các games nhỏ như cờ caro hoặc cờ tướng dùng VC++ 6.0?

Đăng lúc: 20:37 - 25/05/2013 trong Lập trình

nophoto Tôi cần vẽ ra form trong C#, nhưng khi di chuyển form, các khối vẽ bị mất đi và phải vẽ lại. Xin hướng dẫn cách tạo form có tính năng Redraw giống VB?

Đăng lúc: 20:37 - 25/05/2013 trong Lập trình

Hương Xin hướng dẫn cách mã hóa 1 trường (cột) trong 1 bảng FoxPro để không cho người ngoài xem được nội dung?

Đăng lúc: 20:37 - 25/05/2013 trong Lập trình

nophoto Cho hỏi 3 ngôn ngữ lập trình C, C++ và C# khác nhau chỗ nào?

Đăng lúc: 20:37 - 25/05/2013 trong Lập trình

nophoto Xin hướng dẫn lập trình VB6 chặn các thông tin gửi từ máy tính lên mạng. Nếu chặn được thì có thể thay đổi thông tin đó không?

Đăng lúc: 20:37 - 25/05/2013 trong Lập trình

nophoto Có 1 số OCX hay DLL hỗ trợ đọc barcode, tôi có thể lập trình thử nghiệm mà không cần có máy đọc barcode được không?

Đăng lúc: 20:37 - 25/05/2013 trong Lập trình

nophoto Xin hỏi các đoạn script được “giấu” bằng cách nào?

Đăng lúc: 20:37 - 25/05/2013 trong Lập trình

nophoto Xin hướng dẫn cách kết nối CSDL MySQL từ chương trình VC# trong môi trường Visual Studio 2005?

Đăng lúc: 20:37 - 25/05/2013 trong Lập trình

nophoto Xin hướng dẫn cách "comment" một đoạn lệnh trong VB?

Đăng lúc: 20:37 - 25/05/2013 trong Lập trình

nophoto Khi chạy chương trình VB6.EXE thì bị tắt ngay (hiện lên cửa sổ rồi tự động tắt). Cố gắng mở liên tục thì chạy được?

Đăng lúc: 20:37 - 25/05/2013 trong Lập trình

nophoto Xin hướng dẫn kỹ thuật Override hàm API trong WinXP, ví dụ Override hàm SetSystemTime hoặc SetLocalTime của Windows bằng Delphi?

Đăng lúc: 13:47 - 08/07/2013 trong Lập trình

Link Phiên bản VB.Net mới nhất?

Đăng lúc: 20:37 - 25/05/2013 trong Lập trình

nophoto Em đang học lập trình hệ thống bằng hợp ngữ và C. Nhờcác anh/ chị giới thiệu một số tài liệu để tham khảo?

Đăng lúc: 20:37 - 25/05/2013 trong Lập trình

nophoto Sự kiện WM_LBUTTONUP là thả chuột trái, WM_LBUTONDOWN là nhấn chuột trái... Vậy có cách nào để hủy sự kiện nhấn và thả chuột không?

Đăng lúc: 20:37 - 25/05/2013 trong Lập trình

nophoto Trong lập trình VB, khi nhấn phím Enter, focus sẽ tự động nhảy sang control có index kế tiếp?

Đăng lúc: 20:36 - 25/05/2013 trong Lập trình

nophoto Xin giải thích từng toán tử trong ngôn ngữ VB 6.0 bao gồm toán tử số học, toán tử so sánh, toán tử logic?

Đăng lúc: 20:36 - 25/05/2013 trong Lập trình

nophoto Xin hướng dẫn cách tạo form có giao diện WinXP trong VB6?

Đăng lúc: 17:05 - 22/07/2013 trong Lập trình

nophoto Trong VB 6.0, có cách nào làm cho nội dung của textbox có nhiều màu sắc khác nhau?

Đăng lúc: 20:36 - 25/05/2013 trong Lập trình

nophoto Xin hướng dẫn viết chương trình đọc dữ liệu (điện áp, tốc độ động cơ...) từ cổng COM ?

Đăng lúc: 20:36 - 25/05/2013 trong Lập trình

Rao vặt Siêu Vip