2012-07-15 3 views
5

The documentation for WM_NOTIFY says:एनएमएचडीआर में डब्ल्यूपीएआरएम WM_NOTIFY और idFrom के बीच क्या अंतर है?

  • wParam:
    आम नियंत्रण संदेश भेजने के पहचानकर्ता। यह पहचानकर्ता अद्वितीय होने की गारंटी नहीं है। नियंत्रण को पहचानने के लिए NMHDR संरचना (lParam पैरामीटर के रूप में पारित) के hwndFrom या idFrom सदस्य का उपयोग करना चाहिए।

And the documentation for NMHDR says:

  • idFrom
    नियंत्रण संदेश भेजने की एक पहचानकर्ता।

इन दोनों के बीच क्या अंतर है?

+0

मैंने हमेशा सोचा कि वे एक ही चीज़ थे। यदि आप WM_NOTIFY भेज रहे हैं, [दोनों कार्यों के लिए एक ही चीज़ भेजना] (http://stackoverflow.com/a/1272422/292432)। 'IdFrom' मान, एक नियंत्रण आईडी होने के नाते, निश्चित रूप से एक गारंटीकृत अद्वितीय पहचानकर्ता नहीं है। यदि आप सुनिश्चित करना चाहते हैं, तो hwndFrom का उपयोग करें। – arx

उत्तर

4

सामान्य रूप से कोई अंतर नहीं है। यह एक सुविधा है। WM_COMMAND संदेश में आपको वही सुविधा मिलती है, जो आईडी और विंडो दोनों हैंडल पास करती है, भले ही आप विंडो हैंडल से GetDlgCtrlID के माध्यम से आईडी प्राप्त कर सकें।