
如圖,建立這樣的對話框應用程式,在輸入左上和右下兩個角點后規定矩形范圍,然后通過單選按鈕和確定按鈕在矩形范圍里畫出規定圖形,正弦是兩個周期的正弦波形,直線是兩個角點之間的直線,矩形是兩個角點確定的矩形,具體需要哪些函式,希望有大神能抽空幫我看一下,萬分感謝。
uj5u.com熱心網友回復:
void CMFCApplication1Dlg::OnPaint(){
CPaintDC dc(this); // 用于繪制的設備背景關系
dc.MoveTo(10, 20);
dc.LineTo(100, 20);
dc.MoveTo(10, 30);
dc.LineTo(100, 30);
dc.LineTo(100, 100);
dc.LineTo(10, 100);
dc.LineTo(10, 30);
CPen pen_Zuobixi, pen_sinx;
pen_Zuobixi.CreatePen(PS_SOLID, 4, RGB(0, 0, 0));
pen_sinx.CreatePen(PS_SOLID, 2, RGB(0, 0, 0));
dc.SelectObject(&pen_Zuobixi);
//指定原點
dc.SetViewportOrg(50, 250);
double y, radian;
dc.SelectObject(&pen_sinx);
for (int x = -30; x<660; x++)
{
//弧度=X坐標/曲線寬度*角系數*π
//Y坐標=振幅*曲線寬度*sin(弧度)
radian = x / ((double)60 * 2)*PI;
y = sin(radian) * 2 * 60;
dc.MoveTo((int)x, (int)y);
dc.LineTo((int)x, (int)y);
}
pen_sinx.DeleteObject();
pen_Zuobixi.DeleteObject();
}
uj5u.com熱心網友回復:
大佬,這個是給定了矩形坐標了嗎?那如果我想用左邊編輯框里輸入的矩形坐標重新確定矩形并進行繪制應該怎么做呢?uj5u.com熱心網友回復:
大佬,這個是給定了矩形坐標了嗎?那如果我想用左邊編輯框里輸入的矩形坐標重新確定矩形并進行繪制應該怎么做呢?
uj5u.com熱心網友回復:
如果你的編輯框屬性設定為Int了,那直接可以int x = GetDlgItemInt(IDC_XXX);如果是默認的字串:
CString str;
GetDlgItemText(IDC_XXX, str);
int x = _ttoi(str);
分別獲取每個編輯框,將MoveTo,LineTo相應的值替換即可
最后 Invalidate(TRUE); 一下
uj5u.com熱心網友回復:
先算出點來,再畫就是了uj5u.com熱心網友回復:
先算出點,然后再連接。最好是先畫在圖上,然后再顯示出來。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/45308.html
標籤:網絡編程
