在wince下(解决马上给分):如何自画对话框上的标题栏?如何让话框上有标题栏而没有边框?
引用: 引用 1 楼 liangxd09 的回复:
自己重写一个标题栏控件,我的就是这么做的
标题栏不是独立的控件?
重写一个标题栏控件,又怎么替换话框的标题栏?
提供你的代码参考
引用: 引用 3 楼 ultrapro 的回复:
自己没有标题栏的就行了,然后自己画
这我知道,我就是针对标题栏,而不是自己画个
引用: 引用 3 楼 ultrapro 的回复:
自己没有标题栏的就行了,然后自己画
这个我知道,但不是我要的
WinCE与windows编程还是有点区别的,在winCE里好像没有WM_NCPAINT这个消息.建议你把对话框设置成无标题栏,然后自再画一个标题栏.这样你可以在标题栏的WM_PAINT消息里自画了.
引用: 引用 6 楼 ceFighter 的回复:
WinCE与windows编程还是有点区别的,在winCE里好像没有WM_NCPAINT这个消息.建议你把对话框设置成无标题栏,然后自再画一个标题栏.这样你可以在标题栏的WM_PAINT消息里自画了.
那样就要自己处理标题的拖动了,有什么另外的方式自画标题栏吗
对话框隐藏标题栏,自己画标题栏,并且处理拖动。虽然麻烦,但不复杂,只要解决了一次,以后就随时照搬了。
引用: 引用 9 楼 shuiyan 的回复:
对话框隐藏标题栏,自己画标题栏,并且处理拖动。虽然麻烦,但不复杂,只要解决了一次,以后就随时照搬了。
只能这样处理
问题是我的对话框是disable的,如何使之move?我在代码中发送消息给对话框却无效,不知道怎么办
在enable时可以如下移动对话框:
1、CDialog::OnNcHitTest中: return HTCAPTION;
2、PostMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x, point.y));
3、SendMessage( WM_SYSCOMMAND,0xF012,0)
disable时如何做?
首先窗口不要标题:
然后给窗口贴背景图:
给自绘标题栏贴 背景就是下面的 CRect()指定的地方。
在onpaint函数里加入下
m_MemDC.DrawText(m_strCaption,CRect(0,0,长,高),DT_CENTER|DT_VCENTER);
然后bitbilt的就可以了。
其中 CRect() 中指定你标题栏的起始位置(x,y,w,h)就是0,0,长,高, 然后strCaption 就是你的自绘标题内容。
自己实现下,就几行代码。
引用: 引用 14 楼 papapa123123 的回复:
首先窗口不要标题:
然后给窗口贴背景图:
给自绘标题栏贴 背景就是下面的 CRect()指定的地方。
在onpaint函数里加入下
m_MemDC.DrawText(m_strCaption,CRect(0,0,长,高),DT_CENTER|DT_VCENTER);
然后bitbilt的就可以了。
问题不是自绘标题栏了,是disable的,如何使之move?
自画,然后处理需要move到的地方,在move到的地方重新paint 不可以了?
引用: 引用 13 楼 mydeardingxiaoli 的回复:
在enable时可以如下移动对话框:
1、CDialog::OnNcHitTest中: return HTCAPTION;
2、PostMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x, point.y));
3、SendMessage( WM_SYSCOMMAND,0xF012,0)
disable时如何做?
我本来是不想用moveWindow而达到move的效果,
这么就都没有答案,就只能处理moveWindow了唉
disable的对话框,如何使之像上面那三种方式简单一句代码就可以实现移动了?
5:00结贴
用鼠标(触摸)去移吗
在DIALOG的OnLButtonDown事件里
PostMessage (WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x,point.y));