VC中怎樣在指定視窗中取色,MFC中怎樣獲取指定視窗的控制代碼

2021-03-04 06:24:03 字數 2182 閱讀 7813

1樓:匿名使用者

hwnd hwnd = findwindow("123", "123"); // 得到抄指定窗襲口控制代碼bai

hdc hdc = getwindowdc(hwnd); // 視窗的dcpoint pt; // 給定的du座標zhi

colorref color; // 儲存顏色daopt.x = 234;

pt.y = 1023;

screentoclient(hwnd, &pt);

color = getpixel(hdc, pt.x, pt.y);

2樓:匿名使用者

獲取該視窗dc指標,使用getpixel函式獲取顏色。

mfc中怎樣獲取指定視窗的控制代碼

3樓:匿名使用者

控制代碼獲取方法(獲取該視窗的控制代碼後,即可向該視窗類類傳送訊息、處理程式):0。獲取所在類視窗的控制代碼:

this->m_hwnd

1。主視窗的控制代碼:

無論在主視窗類內,還是子視窗類內,獲取主視窗控制代碼的方法:

afxgetmainwnd()->m_hwnd,

如:::sendmessage(afxgetmainwnd()->m_hwnd , wm_my_dosome , 0 ,(lparam)i);

在視窗類中

this->m_hwnd

或者this->getsafehwnd()

2。子視窗控制代碼:用findwindow,(只要知道子視窗的名字即可)如:

::findwindow(null,windowsname)

返回找到的視窗的控制代碼

尋找當前視窗是否在執行windowname的程式,該名字為視窗名字,如:

cwnd* pwnd=findwindow(null,_t("清芝--支票機"));//

getsafehwnd

函式功能:獲取某個視窗物件(cwnd的派生物件)指標的控制代碼(hwnd)時,最安全的方法是使用getsafehwnd()函式。

通過下面的例子來看其理由:

cwnd *pwnd = findwindow(「explorewclass」,null); //希望找到資源管理器

hwnd hwnd = pwnd->m_hwnd; //得到它的hwnd

這樣的**當開始得到的pwnd為空的時候就會出現一個「general protection error」,並關閉應用程式,因為一般不能對一個null指標訪問其成員,如果用下面的**:

cwnd *pwnd = findwindow(「explorewclass」,null); //希望找到資源管理器

hwnd hwnd = pwnd->getsafehwnd(); //得到它的hwnd

就不會出現問題,因為儘管當pwnd是null時,getsafehwnd仍然可以用,只是返回null

3。獲取視窗中 控制元件的控制代碼,用 getdlgitem

語法為:getdlgitem(idc_***bo3)->m_hwnd :引數為 該控制元件的id,返回值為:

cwnd* 型別,但它是cwnd類內的函式,因此要先獲取控制元件所在視窗的指標,如:

cstring str(_t("dd"));

::sendmessage(afxgetmainwnd()->getdlgitem(idc_***bo3)->m_hwnd, wm_settext , 0 , (lparam)str.getbuffer(0));

從控制代碼獲得指標,用 fromhandle

語法:cwnd* pwnd = cwnd::fromhandle(hwnd);

獲取視窗控制代碼(全集) vc&mfc

獲得視窗控制代碼:

this->m_hwnd

hwnd getforegroundwindow(void);

getsafehwnd 取你程式所在視窗類的控制代碼

getactivewindow 取當前活動視窗控制代碼

afxgetmainwnd 取主視窗控制代碼

getforegroundwindow 取前臺視窗控制代碼

findwindow

enumwindow

如何用vc++在視窗中畫線

4樓:阿瑟

cdc * dc = getdc(); dc->moveto(point1); dc->li***o(point2);

在c中怎樣利用random從指定的幾個數字中隨機撒

先把你的那 copy些數字放在一個陣列或集合中,然後隨機產生下標比如你的數是 2 5 8 9 4int numbers int index random.next 0,5 console.write numbers index random r new random arrylist intarr ...

AutoCAD中怎樣一次全選指定圖層中的所有內容,不是天

qselect 從上到下分別選 整個圖形 所有圖元圖層 你想選擇的圖層 工作列 快速選擇 圖層 你要選擇的 在cad中如何一下就選中同一圖層內的所有東西?其實只需要孤立圖層,把你要選的圖層孤立出來,框選就可以了。我的方法是找一個層設定成當前層,把當前的這個層鎖住,那矣當前層怎麼刪也刪除不掉了,移動也...

請教高手 在AI中,怎樣讓圖形按指定路徑排列,例如 幾個小的圓形按隨意的鋼筆路徑排列

ai 中怎樣把圖形按來照路徑走 字型就源不用說了哦,但是要讓圖形跟著路徑走,怎麼做呢和cdr一樣,物體沿路徑的一般只有使用混合 cdr中是調和 時才會有.使用混合工具混合兩個物體以後,繪製一根路徑,選中混合物體和路徑,執行選單 物件 混合 替換混合軸 混合物體就會沿著繪製的路徑排列 不過,混合的結果...