在語言選擇裡,倒底做了什麼樣的事情,讓ros系統可以選擇不同的語言?ros系統又是怎麼樣實現不同的語言支援的呢?
#001 static page_number
#002 languagepage(pinput_record ir)
#003
#014 }
#015
在螢幕上顯示語言列表。
#016 drawgenericlist(languagelist,
#017 2,
#018 18,
#019 xscreen - 3,
#020 yscreen - 3);
#021
滾動選擇的語言上。
#022 scrolltopositiongenericlist (languagelist, getdefaultlanguageindex());
#023
#024 muidisplaypage(language_page);
#025
迴圈處理,直到使用者選擇了安裝的語言。
#026 while(true)
#027
使用向上方向鍵選擇語言。
#042 else if ((ir->event.keyevent.uchar.asciichar == 0x00) &&
#043 (ir->event.keyevent.wvirtualkeycode == vk_up)) /* up */
#044
#054 if ((ir->event.keyevent.uchar.asciichar == 0x00) &&
#055 (ir->event.keyevent.wvirtualkeycode == vk_next)) /* page down */
#056
#059 else if ((ir->event.keyevent.uchar.asciichar == 0x00) &&
#060 (ir->event.keyevent.wvirtualkeycode == vk_prior)) /* page up */
#061
如果使用者按f3退出安裝程式。
#064 else if ((ir->event.keyevent.uchar.asciichar == 0x00) &&
#065 (ir->event.keyevent.wvirtualkeycode == vk_f3)) /* f3 */
#066
如果使用者按回車鍵,就選擇相應的語言,並且進入下乙個頁面。
#070 else if (ir->event.keyevent.uchar.asciichar == 0x0d) /* enter */
#071
#078
#079 // load the font
#080 setconsolecodepage();
#081
這裡進入下乙個介紹頁面。
#082 return intro_page;
#083 }
#084 else if ((ir->event.keyevent.uchar.asciichar > 0x60) && (ir->event.keyevent.uchar.asciichar < 0x7b))
#085
#089 }
#090
#091 return intro_page;
#092 }
通過上面的函式處理,就可以選不同的語言。在函式裡呼叫setconsolecodepage函式來設定**頁,也就是通過**頁來實現不同的語言來顯示。也就是通過下面的**來實現:
#001 bool winapi
#002 setconsoleoutputcp(
#003 in uint wcodepage)
#004
**頁的作用,就是設定不同國家的編碼方式。比如同乙個16進製制的碼8022,在不同國家裡,它是表示不同的語言文字。因此選擇**頁,就相當於選擇不同國家的語言排列方式。
reactos作業系統實現 178
sendmessagew函式主要用來向視窗傳送訊息。下面就是它的實現 001 lresult winapi 002 sendmessagew hwnd wnd,003 uint msg,004 wparam wparam,005 lparam lparam 006 028 029 填寫訊息結構。03...
reactos作業系統實現 187
隨著全球化的發展,開發軟體都是面向多語言的環境。目前大多數程式都是採用不同字型來顯示不同語言的辦法,那麼有沒有一種更好的辦法,一種字型就可以解決全球語言的顯示呢?答案肯定的,它就是採用邏輯字型ms shell dlg和ms shell dlg2。比如開發應用程式時,就看到在資源裡可以設定ms she...
reactos作業系統實現 193
selectobject函式是將物件選定到指定的裝置場境中。具體實現 如下 001 hgdiobj 002 winapi 003 selectobject hdc hdc,004 hgdiobj hgdiobj 005 016 獲取選擇dc的物件正確的控制代碼。017 hgdiobj gdifixu...