MFC中的一些小知識

2021-06-21 01:19:25 字數 878 閱讀 2231

1.如果要在某個目標影象控制項中畫圖,需要以下**:

crect   rawrect[4]; // 定義乙個矩形陣列,因為這裡要在四個影象控制項中畫圖

//畫原始影象

cwnd *pwnd;

pwnd=getdlgitem(idc_pic1);

pwnd->getclientrect(rawrect[0]);  // 把第乙個影象控制項(idc_pic1)的座標等資訊儲存在rawrect這個物件中

pdc=pwnd->getdc();  // 獲取控制項的dc,為畫圖做好準備

// 獲得控制項的指標還有dc之後,我們之後的畫圖起點不再是整個程式介面的左上角,而變成了控制項的左上角

pdc->stretchblt(0,0,rcwidth,rcheight,&dcbmp,0,0,m_bmp.bmwidth,m_bmp.bmheight,srccopy); // 當我們呼叫這句話時,最左邊的兩個引數(0,0)將是我們控制項左上角的那個點

m_rawpic[0].draw(pdc->m_hdc,rawrect[0]); // m_hdc是dc類的成員變數,是dc的控制代碼   (這句**在不同的程式中可能有不同的表達)

2.基於對話方塊的程式,預設有onpaint函式

基於單文件的程式,沒有onpaint函式,也沒ondraw函式,但是我們可以在ide中新增ondraw函式,

一般的,如果想在單文件中畫圖,我們都要自己手動新增ondraw函式,並在裡面新增**

m_pmainwnd->showwindow(sw_show);

m_pmainwnd->updatewindow();

改為m_pmainwnd->showwindow(sw_showmaximized);

m_pmainwnd->updatewindow();

C 中的一些小知識

1.形參中加上 表示引用,引用做形參時,該形參為輸出引數,即執行該函式後,該形參會發生改變,並且會把值帶到呼叫的地方,如下 void usonicsensor getdata float data 其中,dist 是usonicsensor 類的成員變數,執行該函式後,data就得到了dist的值 ...

Sqlalchemy中的一些小知識

db.session.query vehicle filter cast vehicle.id,db.integer 0 def to json model returns a json representation of an sqlalchemy backed object.json json ...

C 中的一些小知識

在c c 中有isdigit 來判斷乙個字元是否為數字 原型 int isdigit char c 用法 include c語言 include c 功能 判斷字元c是否為阿拉伯數字 說明 當c為數字0 9時,返回非零值,否則返回零。1 bool isnumber string str 2 int ...