--- 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);