HexEdit Control使用方法

來源:互聯網
上載者:User

    在寫一個項目中需要對位元據進行操作,結果在http://www.codeguru.com/Cpp/controls/editctrl/article.php/c539#more網站上下到了Hex Edit Control, 整合到程式中發現了一些問題,我把我使用的步驟及解決方案寫出來供大家參考,以免再走彎路.

     1.從http://www.codeguru.com/Cpp/controls/editctrl/article.php/c539#more上下載hexeditctrl_src.zip

       解壓後把兩個檔案hexeditctrl.cpp  hexeditctrl.h複製到你的應用程式目錄下,並加入到你的工程;

     2 建立一個右鍵菜單,ID為CG_IDR_POPUP_HEX_EDIT,包含剪下(ID_EDIT_CUT),複製(ID_EDIT_COPY),粘貼(ID_EDIT_PASTE),全選(ID_EDIT_SELECT_ALL).此菜單會被hexeditctrl調用.

     3 開啟hexeditctrl.cpp檔案,找到AfxOleInit();語句後刪除.如不刪除,將會出現oleinit.cpp 54行錯誤;

        是因為AfxOleInit重複造成的.刪除可用 ::OleInitialize(NULL);語句初始化,以免複製等操作時出問題.

         AfxOleInit()主要是封裝了OleInitialize(),而OleInitialize內部調用了ConInitialize,   OleInitialize比ConInitialize多了以下支援: Clipboard, Drag  and  drop, Object  linking  and embedding (OLE) ,In-place activation .           

  開啟hexeditctrl.h檔案,在檔案頭中添加:

             #if !defined(AFX_HEXEDITCTRL__INCLUDED_)
             #define AFX_HEXEDITCTRL__INCLUDED_

          在檔案尾添加:#endif

         

    4 在對話方塊中放上編輯框,通過類嚮導定義一個編輯控控制項變數m_edit, 在對放框的聲明檔案中找到

       CEdit m_edit;  修改CEdit 為 CHexEdit 即可.

    5 在對話方塊中的InitDialog事件中初始化編輯框:

    UCHAR a[16]={0};
    m_edit.SetData(a,16);
    m_edit.SetFocus();  //此句必需加上,不信你不加看看什麼效果.

   6 從編輯框中取值:

       UCHAR a[16]={0};
      m_edit.GetData(a,16);

    

          

 

            

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.