windows 程式設計 顏色的配置

2021-07-03 12:56:48 字數 2531 閱讀 9243

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行 偏...