可调整大小的侧窗

时间:2010-10-15 22:38:39

标签: c winapi

有没有办法创建一个只能在右边缘调整大小并覆盖父窗口左侧部分的子窗口?与Firefox的历史记录面板类似。

1 个答案:

答案 0 :(得分:0)

在一次打击AFAIK中无法做到这一点。但是,您可以像往常一样创建子窗口,并使用GetWindowRect()获取边界矩形的尺寸(在这种情况下,我们感兴趣的是RECT结构的顶部,底部和右侧);然后拦截WM_MOUSEMOVE消息并继续监控当前的x&来自lParam参数的鼠标坐标;

如果当前鼠标位置位于窗口框的右侧,请调用LoadCursor()LoadImage()将光标形状设置为IDC_SIZEWE;然后使用SetCapture()ReleaseCapture()收听拖放鼠标事件,并使用SetWindowPos()设置窗口的新大小。