Trying to put a finishing hand to my editor control. This involves
implementing some NM_ notifications. In simple test program, no other
includes and suddenly, "%NM_RCLICK has not been declared."
A quick search finds it in COMMCTRL.INC. Don't understand the logic
there. Why is %NM_RCLICK regarded as different from for example
%WM_NOTIFY? Means slight trouble, must use the values (%NM_FIRST-5),
etc. instead. No big deal, but..
So for main thing: Sending %WM_NOTIFY to DDT dialog, negative values
like %NM_RCLICK seems to have to be tracked by using something like
"IF CLNG(@nmh.code) = %NM_RCLICK THEN". When trying without CLNG, no
response - negative %NM_RCLICK has wrapped over.
To me, this indicates that internal DDT dialog callback uses DWORD
for CBLPARAM? Could this really be the case? If so, think R&D maybe
should think again. lParam is often used for negative values, which
DWORD variables obviously cannot handle without wrapping.
------------------
implementing some NM_ notifications. In simple test program, no other
includes and suddenly, "%NM_RCLICK has not been declared."
A quick search finds it in COMMCTRL.INC. Don't understand the logic
there. Why is %NM_RCLICK regarded as different from for example
%WM_NOTIFY? Means slight trouble, must use the values (%NM_FIRST-5),
etc. instead. No big deal, but..
So for main thing: Sending %WM_NOTIFY to DDT dialog, negative values
like %NM_RCLICK seems to have to be tracked by using something like
"IF CLNG(@nmh.code) = %NM_RCLICK THEN". When trying without CLNG, no
response - negative %NM_RCLICK has wrapped over.
To me, this indicates that internal DDT dialog callback uses DWORD
for CBLPARAM? Could this really be the case? If so, think R&D maybe
should think again. lParam is often used for negative values, which
DWORD variables obviously cannot handle without wrapping.
------------------
Comment