<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 11.2 使用剪貼板 要使用剪貼板,你主要是在調用全局指針wxTheClipboard的成員函數. 在進行拷貝或者粘貼的動作之前,你必須先通過wxClipboard::Open獲得剪貼板的控制權,如果這個函數返回成功,你將已經獲得了剪貼板的控制權,可以調用wxClipboard::SetData來將數據拷貝到剪貼板上,或者調用wxClipboard::GetData函數從剪貼板上獲取數據.最后,你需要調用wxClipboard::Close函數來釋放剪貼板的控制權.一旦你不使用剪貼板了,就應該盡快釋放掉剪貼板的控制權. wxClipboardLocker類可以在其構造函數中獲得剪貼板的控制權(如果可以的話),并且在其析構函數中釋放剪貼板的控制權,因此,你可以使用下面這樣的代碼: ``` wxClipboardLocker locker; if (!locker) { ... 報告錯誤然后返回 ... } ... 使用剪貼板 ... 下邊的代碼演示了怎樣將文本拷貝到剪貼板以及怎樣從剪貼板讀取文本數據: // 拷貝一些文本到剪貼板 if (wxTheClipboard->Open()) { // 數據對象將被剪貼板釋放, // 因此不在要你的應用程序中釋放它們. wxTheClipboard->SetData(new wxTextDataObject(wxT("Some text"))); wxTheClipboard->Close(); } // 從剪貼板獲取一些文本 if (wxTheClipboard->Open()) { if (wxTheClipboard->IsSupported(wxDF_TEXT)) { wxTextDataObject data; wxTheClipboard->GetData(data); wxMessageBox(data.GetText()); } wxTheClipboard->Close(); } 下邊是一個操作圖片的例子: // 將一副圖片拷貝到剪貼板 wxImage image(wxT("splash.png"), wxBITMAP_TYPE_PNG); wxBitmap bitmap(image.ConvertToBitmap()); if (wxTheClipboard->Open()) { // 數據對象將被剪貼板釋放, // 因此不在要你的應用程序中釋放它們. wxTheClipboard->SetData(new wxBitmapDataObject(bitmap)); wxTheClipboard->Close(); } // 從剪貼板讀取一幅圖片 if (wxTheClipboard->Open()) { if (wxTheClipboard->IsSupported(wxDF_BITMAP)) { wxBitmapDataObject data; wxTheClipboard->GetData( data ); bitmap = data.GetBitmap(); } wxTheClipboard->Close(); } ``` 如果你使用了剪貼板操作你可能需要即時更新你的用戶界面,比如在剪貼板擁有或者失去相關數據的時候,允許或者禁用相關的菜單項,工具條上的按鈕以及一些普通的按鈕.這個工作是通過wxWidgets的界面更新機制來完成的.在合適的時候 wxWidgets將會給你的應用程序發送wxUpdateUIEvent事件,詳情請參考第九章"創建自己自定義的對話框".這個事件允許你在系統空閑的時候根據剪貼板的數據來更新你的用戶界面. 某些控件,比如wxTextCtrl已經實現了用戶界面的自動更新.如果你的菜單項或者工具條使用了標準的標識符wxID_CUT, wxID_COPY, 和wxID_PASTE,并且指定了命令事件將首先被活動的控件處理,那么對應的控件將會自動按照用戶的預期來進行界面更新.參考第二十章"優化你的應用程序"來學習怎樣通過重載wxFrame::ProcessEvent函數將命令事件傳遞到當前激活的控件.
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看