5393|11

90

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请问EVC中怎么禁止一个不全屏的对话框被点住标题栏拖动? [复制链接]

如题,现需要做一个在屏幕右上角的小对话框,必须有标题栏,要求不能被拖动标题栏改变位置,但也不能改变大小,所以不能用全屏的方法来限制拖动。

尝试用操作NCLBUTTONDOWN的消息在EVC中好像行不通。

请高手指点,谢谢!!

最新回复

给分搞定了。再次感谢!  详情 回复 发表于 2007-7-4 18:33
点赞 关注

回复
举报

70

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
一个没有标题栏的窗体,标题栏自己画。
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
标题栏没有的话,又不能控制同一窗体被多次运行。

FindWindow(LPCTSTR lpClassName, LPCTSTR lpWindowName)第二个参数要用到这个标题,但本来应该可以用第一个参数,应该是对话框对应的类名,可我试了多次不起作用。目前只能通过第二个参数即标题来控制。

所以,还有其它办法吗?谢谢!
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

4
 
响应WM_MOVE消息
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

5
 
响应MOVE消息也尝试过,但没成功。

请问如果用响应MOVE消息的方法,具体应该怎么做?可否具体说明一下?谢谢!
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

6
 
如果你想控制一个程序不能同时运行多个实例,也可以用互斥来做.
HANDLE hMutex;

hMutex=CreateMutex(NULL,TRUE,"Sniffer");
if(hMutex){

if(ERROR_ALREADY_EXISTS==GetLastError()){
    AfxMessageBox("An instance is runing!");
   return FALSE;
}

}
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

7
 
谢谢楼上,互斥是解决了。

可是禁止拖动标题栏就没有更好的权威的解决办法了吗?

如果自己画标题栏的话,当面板主题,系统配色这些有变化的话也不能适应配色啊。
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

8
 
方法1:
BOOL   CMainFrame::PreTranslateMessage(MSG*   pMsg)     
  {   
  //   TODO:   Add   your   specialized   code   here   and/or   call   the   base   class   
  if(pMsg->message   ==   WM_NCLBUTTONDOWN   &&     
  (int)pMsg->wParam   ==   HTCAPTION)     
  return   true;   
   
  return   CFrameWnd::PreTranslateMessage(pMsg);   
  }   

方法2:
  void   CNomoveDlg::OnMoving(UINT   fwSide,   LPRECT   pRect)     
  {   
  RECT   m_rect;   
  GetWindowRect(&m_rect);   
  pRect->bottom=m_rect.bottom;   
  pRect->left=m_rect.left;   
  pRect->right=m_rect.right;   
  pRect->top=m_rect.top;   
   
  }   
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(中级)

9
 
楼上的两种方法可能在其它MFC编程里都行得通,但在WinCE里,我两种都试了,不行。

这两个消息在WinCE的Dialog里根本就没有...强行用Window的消息,编译的时候也通不过...

继续求教在EVC中的解决办法,谢谢!!
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

10
 
这个问题以前帮别人解决过,看跟你的情况是否一样,看看这里:
http://community.eeworld.net/Expert/topic/5319/5319022.xml?temp=.6335413
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

11
 
非常感谢!!解决了。

但是我在MSN里查 Extended Window Styles ,居然找不到 WS_EX_NODRAG 这个style ,郁闷了。

另外我要怎么给你分啊?第一次提问,不会操作。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

12
 
给分搞定了。再次感谢!
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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