--- In [email protected], "brucexs" <bswit...@...> wrote:

> >  
> > > Rainlendar adds this:
> > > 
> > > case WM_WINDOWPOSCHANGING: {
> > >  ...
> > >  LPWINDOWPOS wp=(LPWINDOWPOS)lParam;
> > >  wp->flags|=SWP_NOZORDER;
> > >  ...
> > > }
> 
> I uploaded a new exe with the setwindowpos after mouse up after a drag move 
> and also with the above suggestion with windowposchanging.
>

I figured out how to tie into the WndProc of the ppro bar in the plugin and 
handle the WINDOWPOSCHANGING case.  The only trouble I had was when I Apply/Ok 
in Config the Bar would be recreated with a new HWND. I couldn't find a trigger 
event to use to remove the hook from the old HWND and apply it to the new one.

Would you consider building BottomMost in to ppro as a per bar toggle like the 
TopMost toggle or should it say in a plugin/external exec?  I hope to try it 
all out on another Win7 machine soon and track down the mystery desktop areas.

LONG lpPrevWndFunc;
LRESULT CALLBACK MyWindowProc (HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam) 
{
        switch (uMsg) {
                case WM_WINDOWPOSCHANGING: {
                        LPWINDOWPOS wp=(LPWINDOWPOS)lParam;
                        wp->flags|=SWP_NOZORDER;
                        break;
                }
        }
        return CallWindowProc((WNDPROC) lpPrevWndFunc, hwnd, uMsg, wParam, 
lParam);
};
...
lpPrevWndFunc = SetWindowLong(myBarHandle, GWL_WNDPROC, (LONG) MyWindowProc);



Reply via email to