Tôi hiện đang cố gắng phát triển một dự án dựa trên Firemonkey. Tôi đang sử dụng Firemonkey cho các tính năng giao diện người dùng của nó vì dự án bao gồm nhiều ứng dụng nhỏ hơn, mỗi ứng dụng đều có khía cạnh 3D. Tôi hiện đang chỉ phát triển/triển khai cho Windows với khung công tác FMX, nhưng có thể chuyển sang nền tảng chéo sau này.Firemonkey - Xử lý tin nhắn
Tôi đã gặp phải hầu hết các vấn đề tôi gặp phải khi xây dựng ứng dụng Windows VCL trong nền để thực hiện một hành động rất cụ thể và sau đó xây dựng giao diện FMX. Tuy nhiên, điều này chỉ phù hợp khi bạn chỉ muốn thực thi ứng dụng để thực hiện hành động đó mà nó được thiết kế để làm, và do đó có thể thực thi ứng dụng với các tham số. Trong một trong các ứng dụng, tôi đã đến khi cần phải sử dụng tin nhắn (hoặc một cái gì đó tương tự). Ví dụ, trong ứng dụng FMX của tôi, nếu tôi nhấp vào "button1", tôi muốn nó gửi một tin nhắn đến ứng dụng nền VCL để thực hiện "action1", thay vì thực hiện nó với các tham số.
Một ví dụ điển hình có thể đang sử dụng ứng dụng nền VCL TMediaPlayer, với ứng dụng FMX mặt trước đang được sử dụng để hiển thị thông tin và kiểm soát phát, tạm dừng, v.v. Giao diện người dùng với khả năng VCL.
Tôi đã cho đến nay đã không thể tìm thấy bất cứ điều gì về cách thông báo (ví dụ như trong VCL, họ sẽ được thực hiện với "SendMessage" hoặc "PostMessage" hoặc một cái gì đó tương tự) được xử lý với Firemonkey, hoặc thông qua các địa phương tệp trợ giúp hoặc thông qua Googling mở rộng. Tất cả mọi thứ tôi đã bật lên có liên quan đến email (có lẽ vì từ "Message" trong hầu hết các từ tìm kiếm của tôi).
Can anyone point me in the right direction on how messages would be handled with Firemonkey/FMX?
Kính trọng, Scott Pritchard
Bạn biết rằng bạn có thể sử dụng VCL và FMX trong cùng một quy trình ứng dụng, phải không? Vâng, nó có một số công việc phụ, nhưng nó là kỹ thuật có thể, và có thư viện của bên thứ ba và bài viết cho bạn thấy làm thế nào để làm điều đó. Vì vậy, bạn sẽ không cần phải xử lý trực tiếp các thông báo cửa sổ nếu bạn có thể chỉ cần gọi phương thức 'Click() 'của nút VCL từ trình xử lý sự kiện UI FMX (hoặc tốt hơn, cô lập mã chia sẻ của bạn theo chức năng riêng của nó mà cả VCL và FMX gọi khi cần). –