5778|19

73

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

在wince下(解决马上给分):如何自画对话框上的标题栏?如何让话框上有标题栏而没有边框? [复制链接]

响应wm_NcPaint会产生编译错误?
此帖出自WindowsCE论坛

最新回复

用鼠标(触摸)去移吗 在DIALOG的OnLButtonDown事件里 PostMessage (WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x,point.y));  详情 回复 发表于 2009-4-21 17:28
点赞 关注
 

回复
举报

59

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
自己重写一个标题栏控件,我的就是这么做的
此帖出自WindowsCE论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用 1 楼 liangxd09 的回复:
自己重写一个标题栏控件,我的就是这么做的

标题栏不是独立的控件?
重写一个标题栏控件,又怎么替换话框的标题栏?
提供你的代码参考
此帖出自WindowsCE论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

4
 
自己没有标题栏的就行了,然后自己画
此帖出自WindowsCE论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

5
 
引用 3 楼 ultrapro 的回复:
自己没有标题栏的就行了,然后自己画

这我知道,我就是针对标题栏,而不是自己画个
此帖出自WindowsCE论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 3 楼 ultrapro 的回复:
自己没有标题栏的就行了,然后自己画

这个我知道,但不是我要的
此帖出自WindowsCE论坛
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

7
 
WinCE与windows编程还是有点区别的,在winCE里好像没有WM_NCPAINT这个消息.建议你把对话框设置成无标题栏,然后自再画一个标题栏.这样你可以在标题栏的WM_PAINT消息里自画了.
此帖出自WindowsCE论坛
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

8
 
引用 6 楼 ceFighter 的回复:
WinCE与windows编程还是有点区别的,在winCE里好像没有WM_NCPAINT这个消息.建议你把对话框设置成无标题栏,然后自再画一个标题栏.这样你可以在标题栏的WM_PAINT消息里自画了.

那样就要自己处理标题的拖动了,有什么另外的方式自画标题栏吗
此帖出自WindowsCE论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

9
 
处理窗口的拖动也不是很复杂的。
此帖出自WindowsCE论坛
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(初级)

10
 
对话框隐藏标题栏,自己画标题栏,并且处理拖动。虽然麻烦,但不复杂,只要解决了一次,以后就随时照搬了。
此帖出自WindowsCE论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 9 楼 shuiyan 的回复:
对话框隐藏标题栏,自己画标题栏,并且处理拖动。虽然麻烦,但不复杂,只要解决了一次,以后就随时照搬了。


只能这样处理
此帖出自WindowsCE论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

12
 
SetWindowRgn把边框裁剪掉。
此帖出自WindowsCE论坛
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

13
 
问题是我的对话框是disable的,如何使之move?我在代码中发送消息给对话框却无效,不知道怎么办
此帖出自WindowsCE论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

14
 
在enable时可以如下移动对话框:
1、CDialog::OnNcHitTest中: return HTCAPTION;

2、PostMessage(WM_NCLBUTTONDOWN,   HTCAPTION,   MAKELPARAM(point.x,   point.y));
3、SendMessage( WM_SYSCOMMAND,0xF012,0)

disable时如何做?
此帖出自WindowsCE论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

15
 
首先窗口不要标题:
然后给窗口贴背景图:

给自绘标题栏贴 背景就是下面的 CRect()指定的地方。

在onpaint函数里加入下       
m_MemDC.DrawText(m_strCaption,CRect(0,0,长,高),DT_CENTER|DT_VCENTER);

然后bitbilt的就可以了。
此帖出自WindowsCE论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

16
 
其中 CRect() 中指定你标题栏的起始位置(x,y,w,h)就是0,0,长,高, 然后strCaption 就是你的自绘标题内容。

自己实现下,就几行代码。
此帖出自WindowsCE论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

17
 
引用 14 楼 papapa123123 的回复:
首先窗口不要标题:
然后给窗口贴背景图:

给自绘标题栏贴 背景就是下面的 CRect()指定的地方。

在onpaint函数里加入下
m_MemDC.DrawText(m_strCaption,CRect(0,0,长,高),DT_CENTER|DT_VCENTER);

然后bitbilt的就可以了。


问题不是自绘标题栏了,是disable的,如何使之move?
此帖出自WindowsCE论坛
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

18
 
自画,然后处理需要move到的地方,在move到的地方重新paint 不可以了?
此帖出自WindowsCE论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

19
 
引用 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结贴
此帖出自WindowsCE论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

20
 
用鼠标(触摸)去移吗
在DIALOG的OnLButtonDown事件里
PostMessage (WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x,point.y));
此帖出自WindowsCE论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表