效果[cpp]view plain
相關資訊
邊框並不是用線條畫出來的,實際上控制台好像還不能畫線條。邊框的製作是用字元堆集起來的,有的字元是一條橫線,有的是一條折線。把它們按照矩形的順序擺放,就畫出框了。原理有點像下面一幅圖(草泥馬の鄙視):
┏┛┻━━━━┛┻┓
┃ ┃
┃ ━ ┃
┃ ┳┛ ┗┳ ┃
┃ ┃
┃ ┻ ┃
┃ ┃
┗━┓ ┏━┛
┃ ┃
┃ ┃
┃ ┗━━━━┓
┃ ┣┓
┃ ┏┛
┗━┓┓┏━━┳┓┏━┛
┃┫┫ ┃┫┫
┗┻┛ ┗┻┛
千里馬常有,而伯樂不常有,因而伯樂相比千里馬更為珍貴(扯遠了orz)。線條狀的字元不是都可以找得到,用得出來。在unicode編碼下,我就不知道哪個字元編碼代表線條,就算是使用ascii有時候也無法正常顯示。其原因在於,為了擴充套件原本短小精悍的字符集,微軟使用了**頁。不同**頁可以顯示各種字元(同時也意味著不能顯示各種字元),比如使用437 dos不能顯示中文;而使用936簡體中文則無法畫出邊框。控制台設定**頁的函式是:setconsoleoutputcp。
**頁(code page)說明
1258越南文
1257波羅的海文
1256阿拉伯文
1255希伯來文
1254土耳其語
1253希臘文
1252拉丁文(ansi)
1251斯拉夫文
1250中歐文
950正體中文
949韓文
936簡體中文
932日文
874泰文
850使用多種語言(ms-dos拉丁文)
437ms-dos美語/英語
畫邊框函式
[cpp]view plain
copy
// ---- 畫邊框 ---- 第二個引數為true,則畫雙線邊框
voidcmyconsole::drawbox(small_rect rc,boolbdouble)
else
// -- 畫上下邊界
for(pos.x = rc.left; pos.x <= rc.right; ++pos.x)
elseif(pos.x == rc.right)
else
} // -- 畫左右邊界
for(pos.y = rc.top+1; pos.y
}
控制台介面控制(一)
總述 前言 這裡所說的控制台指的是console程式設計。顯示的介面類似dos,某種程式上也很像tc裡的執行結果。是一種vc上的簡易視窗程式設計。vc 有提供window視窗程式設計,可以寫出很好看的視窗介面,可是涉及的知識點較多。如果有時候只是想測試一下某個用法,或者寫的某個函式,就很沒效率。控制...
認識控制台 控制台控制代碼 附著到控制台 關閉控制台
1.附著到乙個控制台 乙個程序可以使用 attachconsole 函式來附著到乙個控制台上,乙個程序只能附著乙個控制台。乙個控制台可以有許多程序附著到它上面,呼叫 getconsoleprocesslist 函式可以得到附著到乙個控制台的列表。2.關閉乙個控制台 程序可以使用 freeconsol...
認識控制台 控制台控制代碼 附著到控制台 關閉控制台
附著到乙個控制台 乙個程序可以使用 attachconsole 函式來附著到乙個控制台上,乙個程序只能附著乙個控制台。乙個控制台可以有許多程序附著到它上面,呼叫 getconsoleprocesslist 函式可以得到附著到乙個控制台的列表。關閉乙個控制台 程序可以使用 freeconsole 函式...