如何给对话框添加一个窗口,使新添加的窗口如同是对话框的一部分 就是说点击对话框,对话框的标题栏是激活的点击新添加的窗口,对话框的标题栏也是激活的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我是这样做的CTest* pDlg = new CTest;pDlg->Create(IDD_DIALOG1, this);pDlg->ShowWindow(SW_SHOW);但现在的问题是:我点击CTest窗口时,父窗口(即对话框)的标题栏没有激活感觉是两个窗口在互相切换我希望做成无论点哪个,父窗口的标题栏都是激活的 新窗口作为对话框的子窗口,WS_CHILD不知道你说的是不是这个意思? 这个…………………………俄………………首先请响应父对话框的WM_NCACTIVATE消息RETURN TRUE;OVER但是这么一来,父对话框的标题栏就只能一直都处于激活状态中了 5楼的办法也可以,就是将子窗口的对话框资源中的style从popup改成child,但是也有缺陷就是子窗口的标题栏总是未激活状态 OnNcActivate(BOOL bActive) 父窗口的消息响应return TRUE;父窗口总是激活的样子,但是子窗口的控件什么的照样可以用 LRESULT CTreeOnwerDrawDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam){ // TODO: Add your specialized code here and/or call the base class if(message==WM_NCACTIVATE) wParam=TRUE; if(message==WM_NCPAINT) this->SendMessage(WM_NCACTIVATE,TRUE,0); return CDialog::DefWindowProc(message, wParam, lParam);}改进了一下算法如果当前消息是WM_NCACTIVATE,那么就使其状态一直激活,当然如果目前要求重绘标题(非客户区),那么也确保一下标题栏的状态是激活这个代码很废,但是目的就是告诉楼主标题栏的状态绘图是由WM_NCACTIVATE来控制的,wParam为真代表当前状态激活,否则代表状态未激活,你可以通过在执行默认调用前修改这个参数来达到你想要的目的 自绘就是我前面说的假窗口就是用button什么的模拟一个窗口的动作ls的方法也很巧妙但是有点像是欺骗 回15楼你的DefWindowProc这个函数是在父窗口还是子窗口? Cool! XDialogHeaderhttp://blog.csdn.net/DavidHsing/archive/2008/04/15/2294380.aspx 关于宏_TEXT 如何将CreateFont()创建的字体保存到图片?? 如何编程实现USB MODEM读写传输数据 设置mysql数据库密码后连接不上? 问个批量读取文件的问题 哪位大哥有光盘的红皮书,黄皮书,白皮书啊? 以下代码为什么做不到互斥?? 分太多了!散分! 关于#include 同一个数据文件 的问题 大家请帮忙 急!求助!一个关于MFC中列表框的问题 哇 雨啊 暴雨
CTest* pDlg = new CTest;
pDlg->Create(IDD_DIALOG1, this);
pDlg->ShowWindow(SW_SHOW);
但现在的问题是:
我点击CTest窗口时,父窗口(即对话框)的标题栏没有激活
感觉是两个窗口在互相切换
我希望做成无论点哪个,父窗口的标题栏都是激活的
俄………………
首先请响应父对话框的WM_NCACTIVATE消息
RETURN TRUE;
OVER但是这么一来,父对话框的标题栏就只能一直都处于激活状态中了
return TRUE;
父窗口总是激活的样子,但是子窗口的控件什么的照样可以用
{
// TODO: Add your specialized code here and/or call the base class
if(message==WM_NCACTIVATE) wParam=TRUE;
if(message==WM_NCPAINT) this->SendMessage(WM_NCACTIVATE,TRUE,0);
return CDialog::DefWindowProc(message, wParam, lParam);
}
改进了一下算法
如果当前消息是WM_NCACTIVATE,那么就使其状态一直激活,当然如果目前要求重绘标题(非客户区),那么也确保一下标题栏的状态是激活
这个代码很废,但是目的就是告诉楼主标题栏的状态绘图是由WM_NCACTIVATE来控制的,wParam为真代表当前状态激活,否则代表状态未激活,你可以通过在执行默认调用前修改这个参数来达到你想要的目的
你的DefWindowProc这个函数是在父窗口还是子窗口?
http://blog.csdn.net/DavidHsing/archive/2008/04/15/2294380.aspx