2008-10-17 66 views
11

Bạn có biết một phương tiện tốt để học C++ win32 (không phải .Net/MFC/ATL/Wx/Qt ..) Lập trình GUI không? Sách, hướng dẫn, dự án hiện có, tốt nhất là phương pháp thực hành với ví dụ thực tế .. Tôi không phải là người mới bắt đầu, vì vậy tôi không quan tâm đến điểm bắt đầu "nâng cao" ..C++ win32 GUI lập trình, con đường ngắn nhất?

Xin cảm ơn.

+0

Cho đến nay, nó nhất trí! Nói về việc nhận được câu trả lời trực tiếp rõ ràng cho một câu hỏi! – dicroce

+0

có, hãy hỏi bất cứ ai đủ tuổi để nhớ. Bản sửa đổi cuối cùng là vào năm 1998. – gbjbaanb

+0

Tôi đang bối rối là tại sao mọi người đề xuất "Lập trình Windows". Nó thậm chí không chứa bất kỳ C++ nào! – ilitirit

Trả lời

25

Sách Charles Petzolds là tốt nhất.

Programming Windows

+1

"Lập trình Windows" KHÔNG chứa các ví dụ C++. Đó là một cuốn sách hướng dẫn C/Win32 nghiêm ngặt. – ilitirit

+1

Nếu bạn có thể học cách làm điều đó trong C, và bạn biết C++, bước nhảy thực sự là tầm thường. – Eclipse

+0

Đó là C - nhưng đó là những gì mà Win32 SDK về cơ bản là, một API kiểu C. Bất cứ điều gì với C++ bắt đầu trở thành một "khuôn khổ" (rác trên API thô) - mà OP nói rằng anh ta không muốn. Giá trị chỉ ra, tuy nhiên ... – Aardvark

4

Cửa sổ lập trình của Petzold nếu bạn có thể tìm thấy bản sao. Tất cả những thứ win32 gui vẫn còn đó bên dưới MFC/Winforms, vv http://www.charlespetzold.com/pw5/index.html

chỉnh sửa - như ai đó đã đề cập, các win32 api hoàn toàn là 'C' như là tất cả các ví dụ trong Petzold. Điều này không thực sự quan trọng nếu bạn đang gọi chúng từ C++ ngoại trừ việc bạn sẽ phải hiểu các chuỗi C thông thường.

4

Kinh Thánh của tất cả lập trình Win32 (bao gồm, nhưng không giới hạn đối với chủ đề GUI) là Petzold's book.

Đảm bảo bạn nhận được version 4 trở lên như các phiên bản trước là 16 bit!

+0

Vì vậy, các phiên bản trước 3 không bao gồm win32? –

+0

* ahem *, đó là phiên bản 4 trở lên. Không, trước đó không có Win32. Xem câu trả lời đã chỉnh sửa của tôi. – gbjbaanb

1

Tôi đã học được rất nhiều về win32 GUI từ Iczelion tutorials. Về cơ bản chúng là để lắp ráp win32, vì vậy các mẫu mã nguồn nằm trong MASM chứ không phải C++, nhưng cơ chế của các giao diện windows được mô tả khá tốt. Và bản thân API cũng không phụ thuộc vào ngôn ngữ.

12

Không có điều như "Lập trình GUI Win32 C++". C++ được sử dụng cho nhiều thư viện wrapper mà bạn thấy xung quanh (QT và MFC đến tâm trí). Tuy nhiên, lập trình Win32 thuần túy hoàn toàn là thủ tục trong kỹ thuật, nếu không có khái niệm. Nó bắt đầu trong Pascal, sau đó có recast trong C, và nó đã không đi bất cứ nơi nào kể từ đó.

+2

TITCR. Câu hỏi của OP là vô nghĩa, bạn không thể lập trình win32 trong C++ vì win32 là một API C. – Roel

+1

Điều này thật sai. Win32 rất hướng đối tượng và hướng sự kiện, không phải là thủ tục. Có subtyping ở khắp mọi nơi, polymorhpism, tái sử dụng mã, bạn đặt tên cho nó. (Và tôi không chỉ nói về API được thực hiện bằng cách sử dụng COM, mặc dù có rất nhiều trong số đó) –

+1

Đó là ý tôi là "nếu không có khái niệm". – Arkadiy

2

Bạn cũng có thể muốn xem mã nguồn WTL.

3

Tôi đoán tôi đã học được điều đó một cách khó khăn - hoàn toàn thông qua việc nghiên cứu các tệp trợ giúp của VC6. :-) Tôi tìm thấy các tập tin của VC8 ít hữu ích hơn cho lập trình Win32 nói chung, mặc dù, bởi vì họ đang riddled với MFC, COM, WinCE, và những thứ khác mà bạn không thể luôn luôn lọc ra.

(Tôi biết câu trả lời này không phải là tất cả những gì hữu ích, tôi chỉ nói thế nào tôi học.)

1
  • Petzold

  • MSDN

  • nâng cao Win32 api newsgroup comp.os.ms-windows.programmer.win32 (apis không có giấy tờ và bất kỳ mã nguồn api Win32 nào)

2

Dưới đây là danh sách một số online Win32 tutorials và đây là danh sách các liên kết đến WIN32 SDK các tệp trợ giúp.

Tôi cá nhân như Borland Win32 SDK ở định dạng WinHelp (từ liên kết ở trên) vì nó bao gồm tất cả những điều cơ bản của Win32 và dễ dàng hơn để tìm kiếm hơn một cái gì đó giống như MSDN.

MSDN thật tuyệt vời khi bạn biết bạn đang làm gì nhưng tôi nghi ngờ có thể khá khó hiểu với người mới.

2

lý do tại sao C++ tại sao không chỉ thẳng C và WIN32? Dễ dàng hơn rất nhiều ... Petzold là câu trả lời của bạn.

5

theForger's Win32 API Programming Tutorial tự mô tả là "các nỗ lực giúp bạn bắt đầu phát triển với API Win32 nhanh chóng và rõ ràng nhất có thể" và rằng các dự án và giải pháp của nó được viết cho Visual C++. Nó cũng có sẵn dưới dạng PDF chỉ dài 108 trang.

3

Tôi nhận được trải nghiệm Win32 từ hướng dẫn winprog của Forger. Tôi mất gần một năm để làm chủ được điều đó, và hãy để tôi nói cho bạn biết, tôi không phải là lập trình viên C vào thời điểm đó, nhưng bây giờ là tôi. Ngoài ra, trong khi đi mặc dù họ, mua một bản sao của chương trình ANSI C bởi Ritchie và Kernighan II edition.

Sử dụng Visual C Express để bắt đầu. Tôi viết các chương trình Win32/C của mình bằng cách sử dụng thiết bị đầu cuối Windows SDK ngay bây giờ.

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