windows 程式設計中,我們使用了各種顏色來裝飾視窗客戶區背景,文字,文字背景,圖形(比如line,rectangle等等),圖形背景,下面來分情況解釋下。
1視窗客戶區背景色,在註冊視窗類是設定。
wndclass.hbrbackground = (hbrush)getstockobject(gray_brush);//設定該視窗類的所有視窗背景色為中度灰色
2 關於畫線的顏色。描述:在座標(10, 10)的位置畫點畫線(dashdotdot),設定線的顏色為正紅色rgb(255,0,0),由於背景色沒有設定,系統預設為白色,
由於視窗的背景色我已經在(1)中設定為灰色,可以區分線的背景色(白)和視窗客戶區的背景色(灰),因此此處不必要設定線的背景色。
主要**:
hpen1 = createpen(ps_dashdotdot, 1, rgb(255, 0, 0));//建立一支畫筆
hpen2 = selectobject(hdc, hpen1);//把新建立的畫筆選入裝置hdc,同時儲存原來的畫筆
movetoex(hdc, 10, 10, null);//畫線
lineto(hdc, 100, 10);
selectobject(hdc, hpen2);//恢復原來的畫筆
deleteobject(hpen1);//刪除建立的畫筆
效果圖
(1)如果要檢視當前裝置hdc的背景色
可以使用 getbkcolor()。使用例項如下
temp = getbkcolor(hdc);
wsprintf(str1, text("red:%d; green:%d; blue:%d"), getrvalue(temp), getgvalue(temp),
getbvalue(temp));
textout(hdc, 10, 200, str1, lstrlen(str1));
效果圖
(2)如果需要設定線的背景色,可以在畫線之前新增如下程式段
setbkcolor(hdc, rgb(0, 255, 0));//設定線的背景為正綠色
效果如下
(3)對於建立畫筆的一些解釋。畫筆是對裝置環境部分屬性的封裝。可以使用createpen,建立畫筆,使用deleteobject刪除畫筆。
對於需要大量不同畫筆的場合可以使用已經存在的畫筆,經過部分屬性設定,形成新的畫筆
logpen logpen; //乙個結構體,用於描述畫筆的屬性,定義如下
typedef struct taglogpen logpen;
應用**如下
hpen1 = getcurrentobject(hdc, obj_pen); //獲取當前的裝置畫筆控制代碼
getobject(hpen1, sizeof(logpen), (lpvoid)&logpen);//獲取指定畫筆的資訊,存入logpen
logpen.lopnstyle = ps_solid //設定畫筆結構體線型為實線
logpen.lopncolor= rgb(0, 0, 255) //設定畫筆結構體畫線顏色為藍色
hpen2 = createpenindirect(&logpen);// 根據設定後的logpen生成乙個新畫筆
selectobject(hdc, hpen2);//把畫筆選入裝置。
後面的把畫筆恢復為原來的畫筆以及刪除不再贅述。
(注意自定義的畫筆不用之後,都應該選出hdc,然後用deleteobject函式刪除)
3 封閉區域的畫線。關於設定畫線顏色和背景色的方法與以上相同。畫矩形使用函式 rectangle().使用方式
需要解釋的是中間的額填充區域(白色)。由於系統預設的填充區域為白色,因此,如果需要變為其它顏色,可以使用函式selectobject().例子如下
hbrushnew = createsolidbrush(rgb(100, 0, 0));//建立實心刷子,暗紅色
hbrushorg = selectobject(hdc, hbrushnew);
rectangle(hdc, 10, 10, 50, 50);
selectobject(hdc, hbrushorg);
deleteobject(hbrushnew);
效果圖
windows核心程式設計 配置篇
初步接觸了一下windows核心程式設計,發現這真是乙個博大精深的領域,和windows應用開發差別很大。這裡,講講windows核心程式設計的準備工作 如何配置核心開發環境。我是個小嫩,按照 寒江獨釣 那本專門講windows核心程式設計的神書來配置,中間也出現了一些問題,下面,我把步驟貼出來,一...
Windows配置Python程式設計環境
1 安裝python 2 修改環境變數 將安裝python的路徑加到path路徑 3 配置notepad a.notepad 執行 執行 按鈕 b.在彈出的視窗內輸入以下命令 cmd k python full current path echo.pause exit 然後,點選儲存。命令解釋 cm...
彙編顏色程式設計
彙編顏色程式設計 80 25彩色字元模式顯示緩衝區 顯示緩衝區分為8頁,每頁4kb 4000b 顯示器可以顯示任意一頁的內容,在每一頁的顯示緩衝區中 偏移000 09f對應顯示器上的第一行 80個字元佔160個位元組 偏移0a0 13f對應顯示器上的第2行 偏移014 1df對應顯示器上的第3行 偏...