提问:调整ATL控件大小的问题 我创建了一个ATL的Composite Controls类型控件, 在主程序里添加了这个控件,在主程序里用MoveWindow()函数改变了控件的大小,为什么用鼠标点击控件时,控件自动改变大小啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 鼠标点击控件时控件就回复到初始大小,就是Create时传入的Rect大小, 我知道窗口都保存着当前的窗口的位置和大小的信息,不知道ATL中是如何更新这些信息的上面的情况就是在调用MoveWindow时,控件保存的窗口位置和大小的信息没有同步更新,所以在点击时重给还是用的Create时的位置和大小操作步骤用ATL创建一个Compositive Control.编译创建一个对话框程序,在对话框中插入刚刚创建的控件,在重载对话框的OnSize()OnSize()中的代码如下:RECT rcClient;::GetClientRect(GetSafeHwnd(), &rcClient);CWnd * pWnd = GetDlgItem(IDC_ATLSIMPLEIMPL);if(pWnd == NULL){ return;}::MoveWindow(pWnd->GetSafeHwnd(), 12, 12, rcClient.right - rcClient.left - 24, rcClient.bottom - rcClient.top - 70, TRUE); 上面写错了,是 "所以在点击时重绘窗口还是用的Create时的位置和大小" teli_eurydice(哭泣的仙人掌。) 没有碰到过,自己检查下相应事件 可以试一下嘛,这样子对ATL的一些内部机制更清楚一些啊 我知道怎么解决了,看MFC的原代码就能找到出错的地方了 帮忙看一段函数,看不懂要怎么改进,非常急啊,谢谢啦 VC写的程序,窗口没有系统样式,求帮助 MFC中如何打开对话框控件窗口? 数组作为函数的参数,大家帮我理理思路 请问如何得到MSFlexGrid里的某个单元格的值 我是菜鸟,一个很easy的问题,大侠帮忙 高手止步几分钟!!!重载运算符问题!!! 如何做网络过滤软件?过滤掉非法网站!! Google Earth COM API 请各位大神帮忙解答:如何解决mfc子窗口移动时对主窗口的不断刷新 视频流运动物体检测的算法或者代码 如何实现windows里的自带画图工具的裁剪功能?
用ATL创建一个Compositive Control.编译创建一个对话框程序,在对话框中插入刚刚创建的控件,在重载对话框的OnSize()
OnSize()中的代码如下:RECT rcClient;
::GetClientRect(GetSafeHwnd(), &rcClient);CWnd * pWnd = GetDlgItem(IDC_ATLSIMPLEIMPL);
if(pWnd == NULL)
{
return;
}::MoveWindow(pWnd->GetSafeHwnd(), 12, 12, rcClient.right - rcClient.left - 24,
rcClient.bottom - rcClient.top - 70, TRUE);
没有碰到过,自己检查下相应事件
可以试一下嘛,这样子对ATL的一些内部机制更清楚一些啊