onsyscommand

10 篇文章 0 订阅

onsyscommand

  OnSysCommand()这个函数主要是截获控制命令的,msdn上的解释如下:
  The framework calls this member function when the user selects a command from the Control menu, or when the user selects the Maximize or the Minimize button.
  尤其是最大化和最小化窗口的时候,比如现在软件的流行的点关闭按钮,不是对出而是隐藏的情况,就可以在这里来实现,
  void CMainFrame::OnSysCommand(UINT nID, LPARAM lParam)
  {
  if (nID == SC_CLOSE)
  ShowWindow(SW_HIDE);
  .....
  }
  就是这样来实现的,
  注意和PreTranslateMessage的区别
  PreTranslateMessage是用来截获消息的,msdn的解释如下
  Used by class cwinapp to translate window messages before they are dispatched to the TranslateMessage and DispatchMessage Windows functions.
  virtual BOOL PreTranslateMessage(
  MSG* pMsg
  );
  nID
  SC_CLOSE Close the CWnd object. //关闭
  SC_MAXIMIZE (or SC_ZOOM) Maximize the CWnd object.//最大化
  SC_MINIMIZE (or SC_ICON) Minimize the CWnd object.//最小化
  SC_RESTORE Restore window to normal position and size.//还原
  SC_SIZE Size the CWnd object. //大小
  SC_MOVE Move the CWnd object.//移动
// ReticeWordDlg.h: 头文件 // #pragma once #include "CScreenWnd.h" #include <vector> typedef struct Word { char word[50]; char explain[50]; }Word; // CReticeWordDlg 对话框 class CReticeWordDlg : public CDialogEx { // 构造 public: CReticeWordDlg(CWnd* pParent = nullptr); // 标准构造函数 // 对话框数据 #ifdef AFX_DESIGN_TIME enum { IDD = IDD_RETICEWORD_DIALOG }; #endif protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 void RandomGen();//随机抽取一个单词 void SaveUnknow();//将不认识的单词保存到文本文件 // 实现 protected: HICON m_hIcon; // 生成的消息映射函数 afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); virtual BOOL OnInitDialog();//初始化函数 afx_msg void OnBnClickedButtonStart();//点击开始按钮 afx_msg void OnBnClickedButtonKnow();//点击认识按钮 afx_msg void OnBnClickedButtonUnknow();//点击不认识按钮 afx_msg void OnBnClickedButtonSkip();//点击跳过按钮 afx_msg void OnBnClickedButtonDetail();//点击显示注释按钮 DECLARE_MESSAGE_MAP() public: CScreenWnd m_screen;//自定义控件,用于显示单词以及释义 std::vector<Word> words;//总单词库 std::vector<Word> unknown;//不认识的单词库 BOOL mode;//FALSE表示从总单词库中随机抽取单词,TRUE表示从不认识的单词库中抽取单词 int randIndex;//当前抽取的单词在词库中的索引 CButton m_btnKnow;//认识按钮的控制变量,用于控制按钮是否可用 CButton m_btnSkip;//跳过按钮的控制变量,用于控制按钮是否可用 CButton m_btnStart;//开始按钮的控制变量,用于控制按钮是否可用 CButton m_btnUnknow;//不认识按钮的控制变量,用于控制按钮是否可用 };
06-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值