日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【MFC系列-第14天】MFC核心类库的成员介绍(记事本快捷键)

發布時間:2023/12/2 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【MFC系列-第14天】MFC核心类库的成员介绍(记事本快捷键) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

14.1 對話框快捷鍵的設置和加載

a) 插入一個新的Accelerator到資源里,把加速鍵和對應的響應控件(如一個按鈕)關聯

b) 在對話框頭文件中聲明

HACCEL m_hAccel;

c) 在對話框的構造函數里初始化m_hAccel

m_hAccel = ::LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1));

d) 然后重載對話框的PreTranslateMessage函數,在

BOOL CAboutDlg::PreTranslateMessage(MSG* pMsg) { if (m_hAccelTable) { if (::TranslateAccelerator(m_hWnd, m_hAccelTable, pMsg)) { return(TRUE); } } return CDialog::PreTranslateMessage(pMsg); }

14.2 CWnd派生類

a)控件分支:CEdit、CListCtrl、CComboBox、CTreeCtrl、CButton

b)CDialog分支:CColorDialog、CFindReplaceDialog、CFileDialog、CFontDialog

c)條分支:CToolBar、CStatusBar、CRebar

d)框架與視圖:CFrameWnd、CMDIFrameWnd和CMDIChildWnd、CEditView、CListView、CHtmlView

14.3 CWnd類的成員

核心成員變量是HWND m_hWnd:所有成員函數幾乎都是圍繞這個成員變量在工作;

a) DestroyWindow:摧毀

  • 1、EndDialog(-1);

  • 2、CWnd* pWnd = GetDlgItem(IDOK);
    pWnd->DestroyWindow();

  • 3、pWnd->ShowWindow(SW_HIDE);

  • 4、其他進程:
    CWnd* pWnd = FindWindow(_T("Notepad"), NULL);
    pWnd ->DestroyWindow();
    pWnd->SendMessage(WM_CLOSE);

  • 5、Create:創建
    CreateEx:帶風格創建,比如:下陷風格等

  • 6、operator HWND:將對象自動轉為句柄(m_hWnd)

if (!m_ok) {m_ok.Create(_T("Button"), _T("確定"), WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON | WS_TABSTOP, CRect(10, 50, 155, 69), this, 10088);CFont* pFont = GetFont();m_ok.SetFont(pFont); }
  • 7、GetSafeHwnd:(推薦)安全地獲取一個對象內的句柄
void CTestWDlg::OnBnClickedGetSafe() {CWnd* pWnd = GetDlgItem(IDOK);HWND hWnd = pWnd->GetSafeHwnd(); //即使IDOK按鈕銷毀了,程序也不會崩潰 }
  • 8、FromHandle:獲取一個與句柄關聯的CWnd對象地址,FromHandle與GetSafeHwnd是反函數(如果沒有關聯將生成臨時對象與句柄關聯)
void CTestWDlg::OnBnClickedFromHandle() {// FromHandle與GetSafeHwnd是反函數HWND h = ::GetDlgItem(m_hWnd, IDOK);CWnd* pOK = CWnd::FromHandle(h);pOK->SetWindowText(_T("OK")); }

總結

以上是生活随笔為你收集整理的【MFC系列-第14天】MFC核心类库的成员介绍(记事本快捷键)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。