滑塊控制三種顏色並顯示

2021-09-30 06:23:58 字數 2563 閱讀 3772

先建立乙個對話方塊,三個滑塊,三個編輯框,並且新增關聯變數。

分別為:

ddx_control(pdx, idc_gscrollbar, m_green_scrollbar);

ddx_control(pdx, idc_rscrollbar, m_red_scrollbar);

ddx_control(pdx, idc_bscrollbar, m_blue_scrollbar);

ddx_control(pdx, idc_editb, m_editb);

ddx_control(pdx, idc_editg, m_editg);

ddx_control(pdx, idc_editr, m_editr);

然後新增初始化**。

如下://initial code 初始化**

//管理紅色滑塊初始化

m_red_scrollbar.setscrollrange(0,255); //設定滑塊範圍

m_red_scrollbar.setscrollpos(100);  //設定滑塊初始位置

char ipos[10];       //定義乙個陣列,用於儲存數字向字串轉化的字元

itoa(m_red_scrollbar.getscrollpos(),ipos,10);  //將整數轉化為字串儲存在ipos陣列中,此處ipos為指標指向陣列開始

m_editr.setsel(0,-1);        //選中編輯框中所有字元

m_editr.replacesel(ipos);       //用字串ipos中字元替換編輯框中內容

//綠色初始化

m_green_scrollbar.setscrollrange(0,255);

m_green_scrollbar.setscrollpos(100);

char ipos1[10];

itoa(m_green_scrollbar.getscrollpos(),ipos1,10);

m_editg.setwindowtext(ipos1);   //將ipos顯示到編輯框中

//藍色初始化

m_blue_scrollbar.setscrollrange(0,255);

m_blue_scrollbar.setscrollpos(100);

char ipos2[10];

itoa(m_blue_scrollbar.getscrollpos(),ipos2,10);

m_editb.setwindowtext(ipos2);   //將ipos顯示到編輯框中

updatedata(false);         //更新編輯框

然後新增滑塊的訊息處理函式,並新增**:

void cscrollcolourdlg::onvscroll(uint nsbcode, uint npos, cscrollbar* pscrollbar)  //滑塊的訊息處理

if(pscrollbar==&m_green_scrollbar)

switch(nsbcode)

if(pscrollbar==&m_blue_scrollbar)

switch(nsbcode)

updatedata(false);         //更新編輯框

//畫圖**

cstring sr,sg,sb;    //字串用來存放編輯框中的數值

int nr,ng,nb;     //存放編輯框中的字串所轉化成的整形資料

m_editr.getwindowtext(sr);   //獲取紅色

m_editg.getwindowtext(sg);   //獲取綠色

m_editb.getwindowtext(sb);   //獲取藍色

nr=atoi(sr);     //將紅色字串轉化為整形數值

ng=atoi(sg);     //將綠色字串轉化為整形數值

nb=atoi(sb);     //將藍色字串轉化為整形數值

cdc *pdc=getdc();   //定義乙個dc的指標,並獲取當前裝置環境dc的指標

cbrush newbrush;   //定義乙個新的畫刷

cpen newpen;    //畫筆

newbrush.createsolidbrush(rgb(nr,ng,nb));  //建立乙個畫刷

newpen.createpen(ps_solid,1,rgb(nr,ng,nb));  //建立乙個畫筆,標準,大小為1

pdc->selectobject(&newbrush);   //將新建立的畫刷選入到當前的裝置描述表中

pdc->selectobject(&newpen);    //將新建立的畫筆選入到當前的裝置描述表中

pdc->rectangle(35,45,270,230);  //畫乙個矩形

releasedc(pdc);    //釋放dc,刪除dc

cdialog::onvscroll(nsbcode, npos, pscrollbar);

//nsbcode表示滾動條發生事件標號訊息,npos表示滾動條位置,pscrollbar表示是哪乙個滾動條

}

小公尺Max正式發布 三種顏色三種配置

小公尺一直在預熱的小公尺max今天正式發布,正如其名字一樣,其主要特點就是大 採用了6.44英吋1080p的螢幕。小公尺max採用了2.5d弧面玻璃加金屬機身的設計,背部設有指紋識別功能,配置方面則是高通驍龍650 652處理器 3gb 4gb ram 32gb 64gb 128gb rom,並有3...

python有紅黃藍三種顏色的求 幾道題目,求解答

該樓層疑似違規已被系統摺疊 隱藏此樓檢視此樓 第一題 輸入繩子的長度n,將該繩子分成三段,每段的長度為正整數,輸出由該三段繩子能夠組成三角形的個數 import sys help msg 使用說明 path to python path to 01.py n 引數說明 n 代表三角形長度 def g...

RPG難題,給n格方格塗三種顏色

有排成一行的 個方格,用紅 red 粉 pink 綠 green 三色塗每個格仔,每格塗一色,要求任何相鄰的方格不能同色,且首尾兩格也不同色 求全部的滿足要求的塗法 1 遞迴演算法 我們先不管第一格到第三格怎麼塗色,我們先考慮倒數第2格,也就是第n 1格怎麼塗色?根據題意,a 如果這個方格的顏色和第...