代码如下:在OnInitDialog()中我这样写的:
CRect rectParentDlg;
this->GetWindowRect(&rectParentDlg);
CRect rectFuck;
m_bfuck.GetWindowRect(&rectFuck);//m_bfuck为CButton 的一个变量
m_bfuck.MoveWindow(rectParentDlg.left,rectParentDlg.top,rectFuck.Width(),rectFuck.Height(),TRUE);我要将这个控件放到对话框的左上角去,可是运行之后m_bfuck控件却在对话框上不见了,真奇怪,我以前也是这样写的都不会,代码一样,却结果不对了,为什么呀,真他妈的难过!
CRect rectParentDlg;
this->GetWindowRect(&rectParentDlg);
CRect rectFuck;
m_bfuck.GetWindowRect(&rectFuck);//m_bfuck为CButton 的一个变量
m_bfuck.MoveWindow(rectParentDlg.left,rectParentDlg.top,rectFuck.Width(),rectFuck.Height(),TRUE);我要将这个控件放到对话框的左上角去,可是运行之后m_bfuck控件却在对话框上不见了,真奇怪,我以前也是这样写的都不会,代码一样,却结果不对了,为什么呀,真他妈的难过!
解决方案 »
- 设置List Control字体颜色
- 咱搞程序的,难道就只能生女儿!!
- 将“前进”、“后退”、“向上一级”三个命令添加到资源管理器的右键菜单?百分求教!
- 进来讨论讨论(放分)!
- 为什么有些类在 class Wizard里面的add newclass里的Base class里选不到?
- 我在创建不规则窗口时遇到的问题!!谁能帮我!!!100分!!
- 各位大哥大姐帮帮我,这究竟是怎么会事啊?
- 到底为什么要学vc++??
- 关于容器求帮助
- 使用Neo SDK的程序,从VS6.0移植到VS 2008后,刻录cd的速度变慢了两三倍,疑惑不解,请教大家,
- 关于异步事件WSAAsyncSelect的问题
- 请问高手客户端程序多线程异步非阻塞编程(sdk)问题
CRect rec;
CPoint btnpt;
CPoint refpt;
CPoint ctrlpt;
CSize offset;
GetClientRect(clirect);
refpt = clirect.BottomRight();
CButton* button; button = (CButton*)GetDlgItem(IDC_CLOSE);
if( button != NULL) {
button->GetWindowRect( rec );
ScreenToClient(rec);
int len = rec.right - rec.left;
rec.right = clirect.right - m_btn.x;
rec.left = clirect.right - m_btn.x - len;
button->MoveWindow(rec, TRUE);
}
GetWindowRect(&rectParentDlg);
得到的是对话框的整个区域,应该用
GetClientRect(clirect);
换成:
this->GetClientRect(&rectParentDlg);
就会这样,去掉就不会了,不过我觉得zhb1284(zhb1284) ( ) 信誉:100
说得对,应该用GetClientRect();
谢谢!