<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 9.3 在小型設備上調整你的對話框 wxWidgets的幾個不同的版本都可以用于支持移動設備和嵌入式平臺,比如GTK+版本,X11的版本以及WindowsCE的版本(將來也許還會有別的版本)..在這些小型設備使用的最大的問題在于屏幕的大小,一個smartphone的屏幕的大小甚至只有176x220個象素. 對于這樣的小型屏幕來說,大多數的對話框都需要一個替代的布局方案.甚至有些控件本身都需要被移除,尤其是那些相比較于桌面系統中其功能已經被移除的那部分控件.你可以使用wxSystemSettings::GetScreenType函數獲取當前屏幕的尺寸類型,如下所示: ``` #include "wx/settings.h" bool isPda = (wxSystemSettings::GetScreenType() &lt;= wxSYS_SCREEN_PDA); ``` 這個函數的返回值列舉在下表中,因為它隨著屏幕實際尺寸的增長而增加,因此你可以直接對其通過簡單的整數比較的方法,來判斷是否為比某個屏幕更大或者更小的屏幕. | wxSYS_SCREEN_NONE | 未定義屏幕類型 | |:--- |:--- | | wxSYS_SCREEN_TINY | 微小屏幕,尺寸小于320x240 | | wxSYS_SCREEN_PDA | PDA屏幕, 尺寸在320x240到640x480之間 | | wxSYS_SCREEN_SMALL | 小型屏幕,尺寸在640x480到800x600之間 | | wxSYS_SCREEN_DESKTOP | 桌面屏幕,尺寸大于800x600 | 如果你需要更具體的大小,你可以使用下面的方法: 1. 使用wxSystemSettings::GetMetric, 傳遞wxSYS_SCREEN_X或wxSYS_SCREEN_Y參數. 2. 使用wxGeTDisplaySize,得到一個wxSize類型的屏幕大小. 3. 創建一個wxDisplay對象,調用其GetGeometry成員函數, 將返回表征當前屏幕的一個矩形區域(wxRect類型). 當你明確知道你的程序將在一個很小的屏幕上運行的時候,你可以作些什么呢?這里我們給出一些建議: 1. 使用從一個不同的XRC文件加載布局的方法來代替整個布局代碼或者針對小型的屏幕使用不同的布局代碼,只要你不更改控件的類型,事件處理函數的代碼就不需要作任何改動. 2. 減小控件以及空白區域的大小. 3. 改變控件的類型(比如使用wxComboBox來代替wxListBox),這將導致一些相關處理函數的代碼的改動 4. 改變布局的方向.一些小型設備通常在和桌面屏幕相反的方向擁有更多的空間. 有時候你還需要使用針對特定平臺的API函數.比如微軟的Smartphone有兩個特殊的按鈕,你可以對其設置標簽,比如"OK", "Cancel"之類的.在這種平臺上,你可以使用調用wxDialog::SetLeftMenu和wxDialog::SetRightMenu函數 (參數為標識符,標簽以及可選的子菜單)來取代產生兩個單獨的按鈕.當然由于這些函數僅存在于這個平臺,因此你需要使用宏開關來區分不同的平臺: ``` #ifdef __SMARTPHONE__ SetLeftMenu(wxID_OK, wxT("OK")); SetRightMenu(wxID_OK, wxT("Cancel")); #else wxBoxSizer* buttonSizer = new wxBoxSizer(wxHORIZONTAL); GetTopSizer()->Add(buttonSizer, 0, wxALL|wxGROW, 0); buttonSizer->Add(new wxButton(this, wxID_OK), 0, wxALL, 5); buttonSizer->Add(new wxButton(this, wxID_CANCEL), 0, wxALL, 5); #endif ```
                  <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>

                              哎呀哎呀视频在线观看