2010-09-16 47 views
12

Tôi đang cố gắng tìm hiểu cách viết chương trình Windows GUI * trong C++, sử dụng Visual Studio 2008, nhưng tôi chưa tìm thấy bất kỳ hướng dẫn toàn diện hơn cho người mới bắt đầu.Hướng dẫn toàn diện cho người mới bắt đầu về cách viết chương trình Windows GUI

Hướng dẫn toàn diện hơn mà tôi đã tìm thấy chỉ là về cách tạo các nút, menu, v.v. HOẶC chỉ về cách viết các chương trình điều khiển C++ cơ bản.

Điều tôi chưa tìm thấy là hướng dẫn toàn diện hơn cho người mới bắt đầu về cách kết hợp các nút, menu, v.v. với mã C++.

Nói cách khác, tôi đang tìm câu trả lời cho câu hỏi: Làm cách nào để liên kết các menu, nút, v.v. với mã C++?

Nếu bạn biết nơi tôi có thể tìm thấy câu trả lời cho câu hỏi đó, hãy đăng chúng tại đây, vui lòng!

Lưu ý: "Giao diện người dùng đồ họa (GUI): Bao gồm những thứ như biểu tượng, bảng và cửa sổ tương tác, để cho phép người dùng thực hiện các tác vụ như mở tệp và tạo ứng dụng bằng cách nhấp chuột" (intoweb.co.za/et-linux-tips.html).


tôi đang đọc một C# hướng dẫn tại techotopia.com, mà dường như bao gồm không chỉ C cơ bản # mà còn thông tin hữu ích về cách sử dụng C# để có được các nút, menu. vv để thực sự làm điều gì đó. Tuy nhiên, tôi chỉ mới bắt đầu đọc hướng dẫn, vì vậy nó thực sự hữu ích đến mức nào mà tôi chưa biết.


Tôi đã đọc xong hướng dẫn C# techotopia.com và tìm hiểu một số thông tin cơ bản về cách thực sự tạo điều khiển trên biểu mẫu cửa sổ. Tôi đã biết những gì bây giờ tôi biết về C# trước đó, tôi rất có thể sẽ chọn để học ngôn ngữ đó trước khi tôi bắt đầu học C++.

Nó vượt ra ngoài lý do tại sao mỗi và mọi chương trình C++ GUI hướng dẫn cho người mới bắt đầu không được viết theo cùng một kiểu như hướng dẫn tại techotopia.com. Tôi thấy không có lý do tại sao C++ GUI chương trình hướng dẫn cho người mới bắt đầu không thể được nhồi nhét với các sự kiện cơ bản và giải thích ngay cả những điều đơn giản nhất cho những người như tôi, cần giải thích như vậy để hiểu một chủ đề mới. Vâng, có lẽ có những lời dạy kèm như vậy, chỉ có tôi đã không tìm thấy chúng.


Bây giờ là thời điểm đó, tôi nghĩ rằng, để thực hiện một danh sách ngắn của những bước tôi đã thực hiện để có được nơi tôi ngày hôm nay khi nói đến kỹ năng máy tính nói chung và khả năng để viết chương trình máy tính nói riêng. Tôi đăng danh sách ở đây vì lợi ích của những người muốn trở nên giỏi viết các chương trình máy tính nhưng không biết cách đạt được mục tiêu đó hoặc đã lừa dối bản thân, vì tôi có thời gian và thời gian một lần nữa. Nó không phải là một danh sách cuối cùng trong bất kỳ cách nào. Nó chỉ là một tài khoản ngắn về những gì đã làm việc cho tôi.

Bước 1. Sử dụng nhiều chương trình máy tính (bộ xử lý văn bản, trình chỉnh sửa hình ảnh và những thứ khác bạn quan tâm) để xem có thể làm gì với máy tính.

Bước 2. Viết các trang web có HTML và CSS. HTML, Ngôn ngữ đánh dấu siêu văn bản, được sử dụng để thông báo cho các trình duyệt những thứ như bắt đầu và kết thúc các đoạn văn, cấu trúc của bảng và vị trí bao gồm hình ảnh. CSS, Cascading Style Sheets, được sử dụng để thêm những thứ như kích thước văn bản và màu nền cho các trang web.

Bước 3. Cải thiện trang web của bạn bằng PHP. PHP, Hypertext Preprocessor, nhắc nhở về C# và C++ và là một ngôn ngữ kịch bản phía máy chủ.Phía máy chủ có nghĩa là một cái gì đó được thực hiện cho một trang web trước khi nó được gửi đến trình duyệt của khách truy cập, như thêm mã giúp bạn có thể gửi tin nhắn. PHP dễ dàng hơn cho người mới bắt đầu hơn C# và C++. Ngoài ra, nếu bạn đã viết một số trang HTML, bạn có thể dần dần thêm PHP vào các trang này. Nói cách khác, bạn có thể học cách sử dụng PHP trong một ngữ cảnh quen thuộc.

Bước 4. Tìm hiểu C#. Nhắc nhở của PHP và C++. Khó khăn hơn cho người mới bắt đầu so với PHP nhưng dễ hơn C++. Đây là nơi tôi đang ở ngay bây giờ. Các liên kết này có thể ít nhất là một số sử dụng:

Bước 5. Tìm hiểu C++. Nhắc nhở của PHP và C#. Khó khăn hơn cho người mới bắt đầu so với PHP và C#. Cho phép lập trình viên kiểm soát nhiều hơn C#. Một số người nói rằng nó nhanh hơn C#, trong khi những người khác thì không. Đây là nơi tôi hy vọng sẽ được trong vòng một năm hoặc lâu hơn.

Vì có nhiều đường như có lập trình viên vừa chớm nở, các bước này có thể không phù hợp với bạn. Hy vọng rằng, mặc dù, danh sách trên là ít nhất một số trợ giúp cho bạn khi bạn quyết định những bước cần thực hiện để đạt được mục tiêu của bạn.

Nếu bạn biết nhiều hơn về lập trình hơn là tôi và không đồng ý với danh sách ở trên, vui lòng cung cấp danh sách của riêng bạn. Nếu bạn làm thế, tôi nghĩ bạn cũng nên giải thích tại sao bạn nghĩ danh sách của mình tốt hơn.

+0

Khi bạn nói "Windows Forms", bạn sẽ được nói về .NET, đúng không? Bạn nên gắn thẻ lại câu hỏi của mình "C++ - cli" nếu đúng như vậy. –

+0

Tôi không biết. Như tôi đã nói, tôi là người mới bắt đầu. "Biểu mẫu Windows", tôi có nghĩa là các nút, menu, v.v., bạn có thể nhấp vào và nhận phản hồi, như tạo tất cả văn bản trong chữ hoa văn hoặc lưu tệp. Tôi muốn học cách làm những việc như thế với C++. – matsolof

+1

Windows Forms là một trình bao bọc .NET xung quanh giao diện người dùng Windows chuẩn. Nếu bạn không làm việc trong .NET, bạn thường sử dụng API Win32 và GDI. (Hoặc có lẽ Direct2D nếu bạn đang ở trên Vista/Win7, tùy thuộc vào nhu cầu của bạn) – jalf

Trả lời

3

Charles Petzold đã viết một cuốn sách về điều đó.

Tôi chưa đọc, nhưng cuốn sách giao diện người dùng Win32 của anh được biết đến rộng rãi như vui nhộn, vì vậy nó được cho là tốt cho người mới bắt đầu.

+0

AFAIK, Petzold đã viết về các API Windows gốc với C và C++ và một cuốn sách riêng về Windows Forms với C#, nhưng không có cuốn sách nào kết hợp cả hai. Đây là những gì OP quan sát được. –

+0

Tôi không muốn mua sách. Tôi đã mua nhiều sách máy tính rồi, quá dễ hoặc quá khó. Tôi đang tìm một hướng dẫn trực tuyến. – matsolof

+1

Bạn có thể nhận được một cuốn sách Petzold được sử dụng trên Amazon cho thông thường <$ 20. Đó là một đánh cắp xem xét sự giàu có của thông tin. Tôi đã giống như bạn tại một thời điểm - Tôi đã liên tục tìm kiếm các hướng dẫn về xây dựng Windows GUI trong bản địa C. Cuối cùng tôi đã có một tổ chức của "Lập trình Windows" và đó là những gì tôi đã tìm kiếm toàn bộ thời gian. – brady

2

Như bạn có thể đã biết từ các câu trả lời và nhận xét khác, thuật ngữ "Windows Forms" là tên cho một công nghệ .NET cụ thể.

Bạn dường như muốn hỏi một câu hỏi dọc theo dòng cách học cách viết các chương trình Windows có GUI (menu, nút, cửa sổ, v.v.).

Không có cách nào để viết chương trình Windows. Bản thân C++ không biết gì về Windows. Thay vào đó, bạn sẽ sử dụng một số API hoặc khung công tác. Vì vậy, những gì bạn cần làm là chọn một trong những cụ thể mà bạn muốn sử dụng và sau đó tìm hiểu điều đó.

  • Ở cấp thấp nhất có API cửa sổ chính. Tuy nhiên nó là một giao diện rất giống như C và một vài người sẽ khuyên bạn nên bắt đầu từ đó.
  • Khuôn khổ dựa trên C++ của Microsoft để xây dựng các chương trình Windows là MFC (Microsoft Foundation Classes). Nó được tạo ra từ lâu.NET và C++/CLI và như vậy. Quá già, có những khía cạnh của nó mà đã không thể thay đổi để giữ với thời gian và vì vậy một số người không thích nó. Nhưng nó vẫn được hỗ trợ và sử dụng. Trong thực tế, nếu bạn có một phiên bản đầy đủ (không phải là một phiên bản thể hiện) của Visual Studio thì bạn đã có sẵn MFC.
  • Có nhiều khung công tác C++ khác đã xuất hiện gần đây hơn. Qt và WxWidgets là một vài tên lớn hơn. Nhiều người trong số này không chỉ cung cấp cho bạn một cách để tạo các chương trình Windows, mà còn cố gắng trừu tượng hóa tất cả các chi tiết dành riêng cho hệ điều hành để mã của bạn có thể được biên dịch để hoạt động trên các hệ điều hành khác (như Linux hoặc Mac). Theo tôi, đây là những thường dễ chịu hơn để làm việc với hơn MFC một khi bạn tìm hiểu làm thế nào.
  • Mặc dù nó không phải là những gì bạn đang yêu cầu, nhiều người thực sự khuyên bạn nên sử dụng C# và .NET để tạo các chương trình GUI trong Windows. Có một số khía cạnh tốt đẹp của ngôn ngữ và khung làm cho lập trình GUI dễ dàng hơn.

Vì vậy, bạn có thể cần thực hiện một cuộc điều tra nhỏ để xác định công nghệ bạn thực sự muốn tìm hiểu và sử dụng. Sau đó, bạn có thể tìm kiếm các hướng dẫn thích hợp.

+0

Cảm ơn các ý kiến! Tôi không biết "Windows Forms" là tên cho một công nghệ .NET cụ thể. Dự đoán của bạn là tôi muốn học cách viết các chương trình Windows có GUI là chính xác. Tôi biết C++ không biết gì về Windows và tôi cần sử dụng một số API hoặc khung công tác. Tôi thậm chí còn biết về phần còn lại của các công nghệ mà bạn đề cập (Windows API, MFC, .NET, C++/CLI, Qt, WxWidgets, C#). – matsolof

+0

Tôi đã đọc một số hướng dẫn về C++ và đã được thử nghiệm rất nhiều với việc tạo biểu mẫu với Visual Studio 2008. Vấn đề là tôi không tìm thấy bất kỳ hướng dẫn toàn diện hơn cho người mới bắt đầu về cách kết hợp mã C++ với các biểu mẫu.Đó là những gì tôi đang tìm kiếm. – matsolof

+0

Tôi nhớ lại rằng lý do tôi muốn sử dụng C++ là nó được cho là nhanh hơn C#. Tôi cũng nhớ lại rằng tôi đã kiểm tra một số điểm chuẩn của C++, C# và các ngôn ngữ máy tính khác và theo các tiêu chuẩn này, C++ là ngôn ngữ máy tính nhanh nhất (bên cạnh Assembly, nhưng tôi không biết để học). – matsolof

0

Một chủ đề hơi cũ nhưng đây là những gì có thể cho là được thay thế Petzold Cập nhật: "Windows Lập trình hệ thống (4th Edition) (Addison-Wesley Microsoft Technology Series)"

Các vấn đề liên quan