如何实现不能关闭子窗口?(100分)

  • 主题发起人 主题发起人 icegirl914
  • 开始时间 开始时间
I

icegirl914

Unregistered / Unconfirmed
GUEST, unregistred user!
我想实现不能关闭某一个特定的子窗口,这个窗口里打开的文件是固定的,请教一下有什么好的方法?声明一下,这是在VC下,不是Delphi下。
 
在OnClose中判断,不调用DestroyWindow就不会关闭
 
这个我也想到了,但是我不知道如何在VC中判断当前要关闭的窗口名为是我不想关闭的那个,如:有三个子窗口,名分别为A、B、C,我想让A一直在运行,也就是不能关闭它,但是B和C还是可以关闭的。
 
详细说说那个窗口有什么特点
 
这个窗口的窗口名为一个特定的名字,而且是不变的。我想通过判断当前用户要关闭窗口的窗口来决定是否执行CMDIChildDrm::OnClose().
 
取窗口名(窗口标题)用GetWindowText
 
打开一个窗口之前,判断一下所有的窗体对象,(设置活动的窗体的tag=1)
如果除A以外的窗体为nil或者tag=0的话就不管,否则,关掉那个窗体.
这个是DELPHI的做法,VC就不熟悉了。
 
如果在delphi中,我会将窗体的bordericon属性中的所有项目设成false再把borderstyle设成bssingle!
或者在关闭窗口事件中增加使窗口自调用打开显示自已,且之前保存在本窗体内所做的操作内容,在重打开时设置相应的项目。
 
To:weiwei81123
你说的不错,这个函数可以取的子窗口的窗口名,但是我还发现了一个问题,就是在用文件->关闭的时候仍然会关掉这个子窗口,而且我用文件->打开来打开这个子窗口的时候,再用右上角的关闭仍然可以关掉这个子窗口,其中的道理还没有想明白是怎么回事?
 
这个问题我已经解决,当选File->Close时我只要在CMyDoc::OnFileClose()里处理,如果不是我不想关闭那个子窗口的话调用CDocument::OnCloseDocument()就行。
 
后退
顶部