MFC如何獲取控制項在對話方塊上的位置座標 20

2025-07-15 11:45:23 字數 2326 閱讀 4282

mfc如何獲取控制項在對話方塊上的位置座標

1樓:網友

先得到控制項的視窗座標再轉換成相對於對話方塊的座標即可。**如下:

crect r;

getdlgitem(idc_button1)->getwindowrect(&r);

c++ mfc 如何獲得dialog的座標?或者滑鼠的相對座標?

2樓:網友

對話方塊座標可以使用getwindowrect獲取。

滑鼠座標一般在onmousemove裡面通過引數獲取。

這個最好有具體需求描述,因為獲取方式很多,用於不同的視窗和不同的需要。

mfc中如何得到對話方塊客戶區中滑鼠點下位置的座標,具體**。我的對話方塊中有乙個**,需要知道點下w

3樓:牧羊人

//在對話窗標題處即時顯示客戶區內滑鼠的座標。

void ctestdlg::onmousemove(uint nflags, cpoint point)

todo: add your message handler code here and/or call default

cstring str;

x:%d y:%d", ,//格式化滑鼠座標點資訊並儲存到cstring型變數str中。

setwindowtext(str); //更新程式視窗edit控制項文字。

cdialog::onmousemove(nflags, point);

單擊滑鼠時,顯示滑鼠在客戶區內的座標。

void ctestdlg::onlbuttondown(uint nflags, cpoint point)

todo: add your message handler code here and/or call default

cstring str;

x = %d, y = %d", ,afxmessagebox(str,mb_iconquestion);

cdialog::onlbuttondown(nflags, point);

4樓:網友

在wm_lbuttonup訊息的響應函式中,有乙個point引數,這個就是滑鼠點中的座標。

mfc對話方塊程式如何判斷控制項是否獲得焦點?

5樓:veket的小號

控制項的控制代碼 和 獲得焦點的控制項的控制代碼 比較。

如何得到那個控制項獲得了焦點? api 函式getfocus()返回 得到焦點的控制項的區域性。

如何得到 已知控制項id的某個控制項的控制代碼。

先用cwnd類的getdlgitem方法 得到 該控制項的 cwnd* 指標。

然後呼叫cwnd類的getsafehwnd方法得到 該控制項的控制代碼。

if(getdlgitem(控制項id)->getsafehwnd() == ::getfocus())

甚至可以直接比較指標 不用比較控制代碼 用cwnd類的getfocus方法返回 得到焦點的控制項的 cwnd* 指標 (不需要getsafehwnd了)

舉例mfc對話方塊工程 新增 wm_close、wm_timer訊息 響應函式。

oninitdialog中新增 定時器settimer(1, 1000, null);

onclose中killtimer(1);刪掉定時器。

新增兩個edit控制項。

ontimer函式中。

void cmfcdlgdlg::ontimer(uint nidevent)

cdialog::ontimer(nidevent);

程式 每隔1秒檢測一下焦點在不在 edit2上 如果在 就messagebox輸出 資訊。

mfc 怎樣獲取對話方塊的座標

6樓:匿名使用者

可以用getwindowrect()函式來獲取矩形。 用format()函式格式化。然後messagebox輸出。crect rect;

getwindowrect(&rect);

cstring str;

messagebox(str);

mfc屬性頁上控制項的座標如何獲得

7樓:網友

getwindowspos 這個函式對控制項也有效。

mfc怎麼獲取對話方塊中棋盤的座標和在對應位置顯示棋子

8樓:網友

模擬乙個二維陣列當做棋盤, 點與點之間間距為1, 再按照比例放大顯示到對話方塊中。

MFC中List控制元件如何捕獲回車訊息

這裡你需要新增兩個函式pretranslatemessage onok onok 函式和你新增pretranslatemessage 一樣,這是系統預設的處理 enter鍵的方法,onok 的返回值為cdialog onok 即呼叫pretranslatemessage 函式 所以你按第一次ente...

MFC組合框控制元件怎麼完成控制元件的選中的Item改變,另外組合框的ITEm也改變

響應第一個組合框的onselchange,在響應函式中,根據selected id,resetcontent清空第二個組合框,並重新addstring加入資料。在mfc中,一個組合框的值變化,怎麼影響另一個組合框裡填入的資料 如果是手動輸入了資料,用cbn editchange訊息 如果是選擇改變了...

想要關於MFC重繪listctrl控制元件網格線條的例子,可

樓主你好!請問你的是在基於對話方塊的介面上還是基於文件檢視式的 如果是後者,二樓朋友的是個方法,但有更簡單的方法。如果是基於對話方塊的,就這樣 為這個對話方塊新增wm ctlcolor訊息,然後只需要新增這幾行 if nctlcolor ctlcolor static pdc settextcolo...