日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

使用VC++绘制坐标系

發布時間:2025/4/14 c/c++ 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用VC++绘制坐标系 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先打開VC++,新建一個單文檔應用程序;

?

按下圖,為View類添加消息處理函數,變更單文檔窗體背景色為黑色;

?

在菜單中添加如下菜單;

?

為菜單添加消息處理函數;添加在View類中;

?

在View類頭文件中添加三個成員變量;

int zbtype;//坐標系類別
int w,h; //存儲窗口寬和高
int w2,h2; //存儲窗口寬和高的一半

?

在View類構造函數中初始化成員變量;

CZbdemoView::CZbdemoView()
{
// TODO: add construction code here
zbtype=1;

w=0;

h=0;
w2=0;
h2=0;
}

?

三個菜單的消息處理函數中更改坐標系類型,然后刷新窗口;

void CZbdemoView::OnMenuitem32771()?
{
// TODO: Add your command handler code here
zbtype=1;
Invalidate();
}


void CZbdemoView::OnMenuitem32772()?
{
// TODO: Add your command handler code here
zbtype=2;
Invalidate();
}


void CZbdemoView::OnMenuitem32773()?
{
// TODO: Add your command handler code here
zbtype=3;
Invalidate();
}

?

改變窗口背景為黑色的代碼;

BOOL CZbdemoView::OnEraseBkgnd(CDC* pDC)?
{
// TODO: Add your message handler code here and/or call default


CRect rectClient;
? ? GetClientRect(&rectClient);


? ? pDC->FillSolidRect(&rectClient, RGB(0,0,0) );
? ? return TRUE;

//return CView::OnEraseBkgnd(pDC);
}

?

在View類OnDraw函數中按坐標系類別繪制坐標系;

void CZbdemoView::OnDraw(CDC* pDC)
{
CZbdemoDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CPen pen(PS_SOLID,1,RGB(255,0,0));//構造畫筆對象
CPen *pOldPen;
pOldPen=pDC->SelectObject(&pen);

RECT rect1;
GetClientRect(&rect1);
w=rect1.right;
h=rect1.bottom;
w2=rect1.right/2;
h2=rect1.bottom/2;


switch(zbtype)
{
case 1:
pDC->MoveTo(0,h2);
pDC->LineTo(w,h2);
pDC->MoveTo(w2,0);
pDC->LineTo(w2,h);
break;
case 2:
pDC->MoveTo(6,h-6);// 距離邊緣6個像素
pDC->LineTo(w,h-6);
pDC->MoveTo(6,6);
pDC->LineTo(6,h-6);
break;
case 3:
pDC->MoveTo(6,h-6);// 距離邊緣6個像素
pDC->LineTo(w,h-6);
pDC->MoveTo(w2,0);
pDC->LineTo(w2,h-6);
break;

}

pDC->SelectObject(pOldPen);//恢復先前的畫筆
}

三種坐標系效果分別如下;箭頭尚未畫出;下回分解;如果未見到畫的線,可檢查坐標點計算是否正確;

?

?

總結

以上是生活随笔為你收集整理的使用VC++绘制坐标系的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。