[Mono-bugs] [Bug 412849] HelpProvider control does not work

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue Jul 29 20:31:35 EDT 2008


https://bugzilla.novell.com/show_bug.cgi?id=412849

User contact at i-nz.net added comment
https://bugzilla.novell.com/show_bug.cgi?id=412849#c1


Ivan Zlatev <contact at i-nz.net> changed:

           What    |Removed                                         |Added
----------------------------------------------------------------------------
                 CC|                                                |contact at i-nz.net
             Status|NEW                                             |RESOLVED
         Resolution|                                                |WONTFIX




--- Comment #1 from Ivan Zlatev <contact at i-nz.net>  2008-07-29 18:31:33 MDT ---
AFAIK there is absolutely no way we can do that on Linux. We have absolutely no
control over the window manager and the buttons and there is no concept of a
help button unfortunately.

You could however workaround that by say a custom button somewhere or a menu
that sends the WM_HELP message to the control clicked under cursor with the
LParam a HELPINFO struct[1] with the MousePos field set in screen coordinates
(get them from Control.MousePosition). This will be handled by as if the "?"
button was clicked in Windows.

I am sorry, but I will have to close this bug as WONTFIX due to the
circumstances.

[1]
        [StructLayout(LayoutKind.Sequential)]
        internal struct HELPINFO {
                internal uint           cbSize;
                internal int            iContextType;
                internal int            iCtrlId;
                internal IntPtr         hItemHandle;
                internal uint           dwContextId;
                internal POINT          MousePos;
        }

        [StructLayout(LayoutKind.Sequential)]
        internal struct POINT {
                internal int x;
                internal int y;

                internal POINT (int x, int y)
                {
                        this.x = x;
                        this.y = y;
                }

                internal Point ToPoint ()
                {
                        return new Point (x, y);
                }

                public override string ToString ()
                {
                        return "Point {" + x.ToString () + ", " + y.ToString ()
+ "}";
                }
        }


-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list