1.对话弹出框位置
在主界面点击按钮,产生新的对话框,默认这个对话框是在主界面中间,要对弹出位置进行调整,在OnInitDialog()中调用SetWindowPos函数,原型为:
BOOL SetWindowPos(HWND hWnd, const CWnd* pWndInsertAfter, int x, int y,int cx, int cy, UINT nFlags),最后一个参数不能取SWP_NOMOVE(这个参数将会会忽略x,y),x,y设定对话框弹出位置(坐标为相对于屏幕左上角),若要设置相对于主菜单的位置,可采用如下代码:
CWnd* pWnd = AfxGetMainWnd();//获得主对话框句柄
pWnd->GetWindowRect(rectMain);//recMain为CRect类型变量,读取主对话框位置位置
SetWindowPos(NULL,rectMain.left,rectMain.top+30,rectsmall.Width(),rectsmall.Height(),SWP_NOZORDER);//在主对话框坐标基础上加减坐标即可
movewindow函数也可以实现这个功能,二者区别如下链接:
http://blog.csdn.net/happymawolf/article/details/6757928
2.扩展对话框,参考孙鑫的VC++深入详解第七章P248
3.设置按钮位图
3.1调整按钮Owner Draw属性为TRUE
3.2导入按钮位图
3.3为按钮添加CBitmap