我在ocx控制元件工程里,在主對話框下,新建了一個子視窗A用來畫線(在底圖bmp上面),但是新建的子視窗A的大小一直都超過了ocx控制元件的大小,就是超出范圍的部分也顯示了,請問怎么使創建的子視窗不會超出ocx控制元件顯示?
m_subwindow.CreateEx(WS_EX_LAYERED,
AfxRegisterWndClass(CS_DBLCLKS|CS_HREDRAW|CS_VREDRAW, ::LoadCursor(NULL, IDC_ARROW),(HBRUSH)::CreateSolidBrush(RGB(100, 100, 100))),
NULL,
WS_POPUP ,
0, 0, 200, 200,
GetSafeHwnd(),
NULL,
NULL);
uj5u.com熱心網友回復:
先獲取控制元件大小,然后按控制元件尺寸創建控制元件uj5u.com熱心網友回復:
一般應該是這樣的吧:
CRect re;
GetClientRect(&re)
m_subwindow.CreateEx(WS_EX_LAYERED,
AfxRegisterWndClass(CS_DBLCLKS|CS_HREDRAW|CS_VREDRAW, ::LoadCursor(NULL, IDC_ARROW),(HBRUSH)::CreateSolidBrush(RGB(100, 100, 100))),
NULL,
WS_POPUP ,
re.left, re.top, re.right, re.bottom,
GetSafeHwnd(),
NULL,
NULL);
uj5u.com熱心網友回復:
如果子視窗A使用WS_POPUP來創建,主程式移動了位置,子視窗A是不會移動位置的,這樣子視窗A就可能顯示在主程式外面了,而我想實作的是子視窗A的顯示控制在ocx控制元件的范圍內,超出的部分會被ocx裁剪,子視窗A只能在ocx控制元件內移動。求指教~uj5u.com熱心網友回復:
主程式移動了位置→發訊息修改A 尺寸轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/82953.html
標籤:基礎類
上一篇:mfc畫線模式問題
