对话框的标题去掉,就不可已拖动对话框了,除了这种方法还有其他方法吗?

linxiao 2002-02-22 02:52:41
对话框的标题去掉,就不可已拖动对话框了,除了这种方法还有其他方法吗?
...全文
42 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
admireO 2002-02-27
  • 打赏
  • 举报
回复
marxshen(浮云游子)的方法是正确的,这个函数OnSysCommand不是要你添加的,而是用向导生成基于对话框的程序时,在你的对话框类里,系统自动给出了这个函数。按照他说的把那个函数里的代码改成如下形式,就达到了你的要求:
void CTestdlgDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else if((nID & 0xfff0) == SC_MOVE)
{
return;
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
masterz 2002-02-27
  • 打赏
  • 举报
回复
The WM_MOVING message is sent to a window that the user is moving. By processing this message, an application can monitor the size and position of the drag rectangle and, if needed, change its size or position.
在这个消息中,不让他改变窗口左上角位置就好了
linxiao 2002-02-27
  • 打赏
  • 举报
回复
spark_zh() :
我是问有标题,但不想被拖动
use_id(use_id):
没有起作用啊
marxshen(浮云游子):
error C2556: 'bool __thiscall CMyDlg::OnSysCommand(unsigned int,long)' : overloaded function differs only by return type from 'void __thiscall CMyDlg::OnSy
linxiao 2002-02-27
  • 打赏
  • 举报
回复
admireO(再接再厉):
现在可以了
按照masterz()的方法该怎么做啊?
我没有分了,过两天多点分后,再结这个帖子
marxshen 2002-02-26
  • 打赏
  • 举报
回复
响应WM_SYSCOMMAND消息
BEGIN_MESSAGE_MAP(CUnMoveDlg, CDialog)
......
ON_WM_SYSCOMMAND()
......
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

在OnSysCommand(UINT nID,LPARAM lParam)中做如下处理:
BOOL CMyDlg::OnSysCommand(UINT nID,LPARAM lParam)
{
if((nID & 0xfff0) == SC_MOVE) {
return TRUE;
}
else {
CDialog::OnSysCommand(nID,lParam);
return TRUE;
}
}
use_id 2002-02-26
  • 打赏
  • 举报
回复
响应消息WM_NCHITTEST如下:

// WM_NCHITTEST message
UINT CHMediaDlg::OnNcHitTest(CPoint point)
{
UINT nHitTest = CDialog::OnNcHitTest( point );
if(nHitTest == HTCLIENT)
{
nHitTest = HTCAPTION;
}

return nHitTest;
}
spark_zh 2002-02-26
  • 打赏
  • 举报
回复
是要拖动没有标题的对话框吗?
在OnLButtonDown中加上这句话
PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,1);
zangyong 2002-02-26
  • 打赏
  • 举报
回复
给我100分,我就告诉你!嘿嘿,我的分不多了
第6章 实例116——创建模态对话框 实例117——创建非模态对话框 实例118——模态对话框与应用程序之间的数据交换 实例119——非模态对话框与应用程序之间的数据交换 实例120——使用MessageBox消息对话框 实例121——使用AfxMessageBox消息对话框 实例122——使用字体对话框更改文本的字体 实例123——使用颜色对话框选择颜色 实例124——使用文件对话框获取文件路径 实例125——使用多选文件对话框 实例126——重载打开文件对话框,添加删除按钮 实例127——使用查找替换对话框实现查找替换功能 实例128——在程序中使用属性表对话框 实例129——激活使用属性表对话框中的“应用”按钮 实例130——去除属性表对话框中的“应用”按钮 实例131——在对话框中使用属性表 实例132——创建向导对话框 实例133——设置对话框的背景颜色 实例134——使用位图作为对话框背景 实例135——创建半透明对话框窗口 实例136——创建圆形对话框窗口 实例137——全屏幕显示对话框窗口 实例138——动态改变对话框窗口大小 实例139——按下Esc键,对话框不关闭 实例140——禁用对话框右上角的关闭按钮 实例141——可在对话框的任意位置拖动对话框 实例142——为对话框程序制作启动画面 实例143——动态弹出、关闭对话框 实例144——在对话框上动态创建视图

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧