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

2021-10-08 11:50:53 字數 390 閱讀 5155

crect rectl,rectr;

getdlgitem(idc_pic1)->getwindowrect(&rectl);//獲取控制項相對於螢幕的位置

screentoclient(rectl);//轉化為對話方塊上的相對位置

getdlgitem(idc_pic2)->getwindowrect(&rectr);//獲取控制項相對於螢幕的位置

screentoclient(rectr);//轉化為對話方塊上的相對位置

int heigth;

int width;

height=rectl.bottom-rectl.top;//height為button的高

width=rectl.right-rectl.left;//width為button的寬

mfc獲取控制項在對話方塊上的位置

注意 控制項的getwindowrect方法是獲取控制項相對於螢幕的位置,而對於子控制項的movewindow方法引數座標則是相對于父視窗的位置。我們不能直接將getwindowrect 獲取到的值直接傳遞給movewindow,而需要一種轉換。該方法就是screentoclient。具體使用方法如...

MFC中對話方塊上控制項隨著介面變化而變化的實現

首先說明一下縮放實現步驟 先在oninitdialog 中獲取當前客戶區的大小,然後呼叫wm size事件處理函式onsize 然後就是具體的實現過程,見下圖 實現。1 先在標頭檔案中新增以下 protected crect m rect void resize void point old 2 然...

MFC選單資源ID載入到對話方塊上

方法1 首先定位到顯示選單欄對話方塊的oninitdialog 函式處,在其函式體裡新增如下 cmenu menu menu.loadmenuw idr menu1 載入資源選單欄,idr menu1為資源檢視裡選單的id this setmenu menu 這個函式將當前選單設為指定的選單。它使視...