怎么将客户区分成9块?

如何将客户区分成9块??????????
我先说说我的理解,dialog的客户区就是除了最上面的蓝条,剩下的就是客户区了吧,我想把客户区分成3 * 3 九块,鼠标滑过每一块的时候有不同的响应,问题来了,我在客户区还有一个picturectrl控件,用于封装OpenGL,每次鼠标滑过picturectrld的时候,并没有产生响应,但滑到其他地方却有响应,不知道应该怎么解决,下面是dlg.cpp中OnInitDialog()的部分代码。rect,dlg,rect1都是CRECT类型,在.h文件里已经定义好了。rect1是9个小格子最左上角的那个。

C/C++ code


//控件显示
    GetDlgItem(IDC_OPENGL)->GetWindowRect(rect);//屏幕坐标
    ScreenToClient(rect);//控件的客户区坐标

    rect.top=0;
    rect.left=0;
    rect.bottom-=rect.top;
    rect.right-=rect.left;

    m_openGL.Create(rect, GetDlgItem(IDC_OPENGL));

    this->GetClientRect(dlg);
    
    //客户区划分
    ScreenToClient(rect1);
    rect1.left = 0;
    rect1.top = 0;
    rect1.right = 1.0/3.0 * dlg.right;
    rect1.bottom = 1.0/3.0 * dlg.bottom;





------解决方案--------------------
确保是在你的 picturectrl控 里处理的!你描述的现象好像不是
------解决方案--------------------
你做的是自定义控件吧
最好不要用PictureCtrl
这篇文章你或许可以参考一下
http://blog.****.net/xianglitian/article/details/6164103
------解决方案--------------------
在窗口中处理WM_NCMOUSEMOVE消息。