Lập trình phần mềm bằng C++ APIs
Chào cả làng !
Làng mình có bác nào lập trình phần mềm bang C++ WINAPI chỉ giáo mình vài bài với.
Mình đang làm theo kiểu mỗi Form nằm trong 1 class. Và có nhiều Form.
-
Hàm xử lý sự kiện WndProc thì đặt ở đâu ? Có 1 hàm WndProc rồi các WindowClassex của mỗi Form sẽ link tới nó hay mỗi Form có 1 WndProc.
-
Mình đang để hàm WndProc chung cho các WindowClassex gọi tới. Nhưng bất kỳ một Form nào Close ( sự kiện Destroy xảy ra ) mình gọi PosQuitMessage(0) thì ứng dung thoát luôn. Có cách nào xử lý không nhỉ.
-
Có thư viện nào để tạo mấy cái control nó đẹp đẹp chút. Nhìn control mặc định thấy nó “thô thiển” quá
Nhà mình không có ai dùng C++ để làm phần mềm sao
C++ khó quá không thích hợp làm dịch vụ nên ít người Việt quan tâm
WndProc đặt đâu chả được, miễn là gọi được là dùng được, xài chung cũng được.
PosQuitMessage sẽ gửi sự kiện WM_QUIT, message loop của bạn sẽ dừng luôn, chưa rõ bạn muốn đạt điều gì đây?
Bạn có thể bật Visual Style:
http://stackoverflow.com/questions/4308503/how-to-enable-visual-styles-without-a-manifest
https://msdn.microsoft.com/en-us/library/windows/desktop/bb773175(v=vs.85).aspx
Mình đang viết ứng dụng theo OOP. Mỗi Form được tạo ra trong 1 class. Trong mỗi class đó thì phải gán hàm xử lý Message cho WINCLASSEX.
Vậy thì chắc bạn phải chia ra nhiều WndProc thôi, mỗi WndProc xử lý riêng cho sự kiện WM_CLOSE. Hoặc tìm cách nhận biết cửa sổ thông qua các parameter của WndProc rồi xử lý tương ứng trong WM_CLOSE, đừng để bị gửi WM_QUIT.
Còn vụ báo lỗi thì chịu, bạn gửi lỗi lên đây, hay bạn thử làm code mới, tái tạo lại lỗi rồi gửi lên đây xem.
Chờ mình chút
Mình vừa dùng VS2015 để code còn dính cái lỗi nếu khai báo class thì có lỗi :
mà không thông báo lỗi ở dòng nào.
Nghi ngờ do sử dụng C chứ không phải C++ mình đã chỉnh trong Option mục C/C++ Compile = C++ rồi vẫn không được.