使用c++开发学习笔记

来源:互联网 发布:python支付宝扫码支付 编辑:程序博客网 时间:2024/04/30 07:40

一、怎样识别Form右上脚的关闭叉叉?当点按右上脚的关闭叉叉时出现提示“是否要退出吗?”有yes     no可选

     点击引发onClose()事件   

用Spy++看看是什么消息,再与成员函数对号入座得了,重载OnClose()
 This   example   displays   a   message   dialog   box   when   the   user   attempts   to   close   the   form.   If   the   user   clicks   the   Yes   button,   the   form   closes;   otherwise,   the   form   only   minimizes.  
   
  void   __fastcall   TForm1::FormClose(TObject   *Sender,   TCloseAction   &Action)  
   
  {  
      if   (MessageDlg("Close   application   ?",   mtConfirmation,   TMsgDlgButtons()   <<   mbYes   <<   mbNo,0)   ==   mrYes)  
          Action   =   caFree;  
      else  
          Action   =   caMinimize;  
  }   
 最正确的答案应该是:  
  重置窗体的WinProc成员函数,响应  
  WM_SYSCOMMAND消息的SC_CLOSE子消息,它只在右上角的叉叉和左上角的菜单关闭时出现,你自己调用Close()时是不会出现的。

 

也可以在你工程MainFrame框架类中添加WM_CLOSE消息影射;  
  在这个影射中主要做两件事情  
  1、处理你自己的操作  
  2、PostMessage(WM_CLOSE)向上级类,把操作交给上级类处理

以上只是提供的解决方案,本人没有做过测试,不保证程序的正确性。

 

二、

int   *const   curErr和    
  const   int   *curErr    
  含义的区别在什么地方,两者的使用有何区别,分别用在什么场合??  

一个是指针变量为常量,一个是指针所指向的内容为常量

同意楼上的.  
  第一个的curErr值不会变,但*curErr的值是可以变的.  
  如:  
  int   a   ,b;  
  int   *   const   curErr=&b;  
  curErr=&a;//错误;  
  *curErr=78;//正确.  
   
   
  第二个的curErr值是可以变的,但*curErr的值是不可以变的.  
  int   a   ,b;  
  const   int   c=80,d=90;  
  const   int   *curErr;  
  curErr=&c;  
  *curErr=a;//正确;  
  *curErr=78;//错误.

 

三、往对话框应用程序中添加图片显示

把picture控件放到对话框中,右击该控件,选择属性,在类型中选择“位图”,在图像选项中选择“你要插入的图片”;
你要插入的图片可以在资源中导入~~~

原创粉丝点击