हाय मेरे पास कई फ्रेम के साथ एक रूप है।डेल्फी 7 - फॉर्म में एम्बेडेड फ्रेम्स के लिए माउसहेल ईवेंट हैंडलिंग?
कुछ फ्रेम के लिए, मैं सामग्री को स्क्रॉल करना चाहता हूं (या कम से कम mousewheel घटना को संभालना चाहता हूं)।
मैं कोशिश की है निम्नलिखित:
आप प्रत्येक फ्रेम
माता पिता फार्म के लिए माउसव्हील घटना ओवरराइड के लिए एक OnMouseWheel ईवेंट हैंडलर बताए:
procedure TFmReview.MouseWheelHandler(var Message: TMessage);
var Control: TControl;
begin
Control := ControlAtPos(ScreenToClient(SmallPointToPoint(TWMMouseWheel(Message).Pos)), False, True);
if Assigned(Control) and (Control <> ActiveControl) then
begin
ShowMessage(Control.Name);
Message.Result := Control.Perform(CM_MOUSEWHEEL, Message.WParam, Message.LParam);
if Message.Result = 0 then
Control.DefaultHandler(Message);
end else inherited MouseWheelHandler(Message);
end;
दुर्भाग्य से दोनों न काम करने के लिए लग रहे हैं।
- मामले में 1, ईवेंट कभी ट्रिगर नहीं होता है, हालांकि पैरेंट माउस माउस व्हील हैंडलर ट्रिगर होता है।
- 2 मामले में, फोकस प्राप्त करने वाला नियंत्रण वह पैनल है जो फ्रेम रखता है जिसे मैं mousewheel ईवेंट भेजना चाहता हूं।
तो, बस रखें, मैं माउस कर्सर खत्म होने वाले शीर्ष नियंत्रण के लिए mousewheel ईवेंट को कैसे निर्देशित कर सकता हूं (इस पर ध्यान दिए बिना कि कौन सा फ्रेम/पैरेंट/फॉर्म आदि कर्सर है)?
पर [इन अतः जवाब] एक नजर डालें [ 1] वे शायद मदद करेंगे। [1]: http://stackoverflow.com/questions/2472743/what-is-the-best-method-for-implementing-mouse-wheel-activity-in-delphi-vcl-form –
संभावित डुप्लिकेट [माउस व्हील इनपुट को ध्यान केंद्रित करने के बजाय कर्सर के नीचे नियंत्रण के लिए कैसे निर्देशित करें?] (http://stackoverflow.com/questions/2251019/how-to-direct-the-mouse-wheel-input-to-control -under-कर्सर-बदले में केंद्रित) – Kromster