VC++6.0實現(xiàn)直線掃描轉(zhuǎn)換的圖文教程
一、添加菜單欄
使用VC++6.0新建一個空白文檔后,雙擊【Menu】下的【ID_MAINFRAME】,添加一個子菜單,如下

添加ID和標(biāo)題,ID務(wù)必保證是唯一的


注意:【畫圖】和【Brehensam畫圓】這兩個菜單是博主之前添加的,大家可以忽略,直接添加自己定義的菜單即可。
二、添加對話框
找到【Dialog】,右鍵選擇【Insert Dialog】,如下

拖入五個文本框和四個編輯框,布局自定義即可,右鍵文本框控件選擇【Properties】,輸入標(biāo)題即可,效果如下



文本框修改好之后,輪到編輯框,同樣右擊編輯框,選擇【Properties】,填入對應(yīng)的ID,最好與輸入相對應(yīng),如下


以上操作完成后,在對話框任意空白位置雙擊,會彈出對話框,選擇【OK】

為對話框起個名字,盡量不要以大寫C開頭,輸入完成后選擇【OK】

出現(xiàn)如下界面,選擇【OK】

選中對話框【中點畫線】,點擊【ClassWizard】,為其添加成員變量,如下

選擇對應(yīng)的類名以及子菜單的ID,點擊【OK】

再次打開【ClassWizerd】,添加變量

以此類推,添加完成后如下,點擊【OK】

三、建立消息映射
無需選中任何選項,點擊【View】,選擇【ClassWizard】

注意Class name和Object ID以及Message的選擇, Object ID要選擇子菜單的ID

點擊【Add Function】,直接點擊【OK】即可,使用默認(rèn)的函數(shù)名

再次點擊【OK】即可

四、編寫函數(shù)
雙擊打開【testView.cpp】,添加頭文件

測試,編寫代碼,測試菜單與對話框是否建立了聯(lián)系

點擊感嘆號運行,點擊子菜單彈出對話框則說明正常建立了聯(lián)系,如下

打開【testView.h】,建立全局變量

打開【testView.cpp】,給全局變量賦值

編寫算法函數(shù),將下列代碼粘貼到上述函數(shù)的下方
void CTestView::MidLine(){
CClientDC dc(this); //添加上下文,確定畫布
COLORREF rgb=RGB(0,0,225); //添加畫筆顏色
int a,b,delta1,delta2,d,x,y;
a=y1-y2;
b=x2-x1;
d=2*a+b;
delta1=2*a;
delta2=2*(a+b);
x=x1;
y=y1;
dc.SetPixel(x,y,rgb);
while(x<x2)
{
if(d<0)
{
x++;
y++;
d+=delta2;
}
else
{
x++;
d+=delta1;
}
dc.SetPixel(x,y,rgb);
}
}打開【testView.h】,對函數(shù)MidLine進行聲明

運行程序,輸入坐標(biāo)

效果如下

總結(jié)
到此這篇關(guān)于VC++6.0實現(xiàn)直線掃描轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)VC++6.0直線掃描轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++面試八股文之override和finial關(guān)鍵字有何作用
C++11中的override和final關(guān)鍵字是為了增強代碼的編譯時類型檢查和面向?qū)ο笤O(shè)計中的繼承機制,下面這篇文章主要給大家介紹了關(guān)于C++面試八股文之override和finial關(guān)鍵字有何作用的相關(guān)資料,需要的朋友可以參考下2023-06-06
C語言對組文件處理的相關(guān)函數(shù)小結(jié)
這篇文章主要介紹了C語言對組文件處理的相關(guān)函數(shù)小結(jié),包括setgrent()函數(shù)和getgrent()函數(shù)以及endgrent()函數(shù),需要的朋友可以參考下2015-08-08
C++通過循環(huán)實現(xiàn)猜數(shù)字小游戲
這篇文章主要為大家詳細(xì)介紹了C++通過循環(huán)實現(xiàn)猜數(shù)字小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-09-09

