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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MFC对话框控件成员变量编程熟悉 - 开发一个简单天线长度计算器

發布時間:2025/4/14 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MFC对话框控件成员变量编程熟悉 - 开发一个简单天线长度计算器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

新建一個對話框工程;VC6;VC2010類似;版本不同略有些差別;

新建完如下;對話框默認有三個控件,自己添加的;

右擊 確定 按鈕,建立類向導;進入類向導;

Class name下拉選中對話框類;類別選錯;確定按鈕的ID是IDOK,Messages選中BN_CLICKED;看一下,VC框架沒有為此按鈕添加的默認單擊處理函數;

切換到 成員變量 tab,看一下沒有為按鈕添加的默認成員變量;沒有一些框架默認添加的東西,那么直接從界面把默認的三個控件刪掉;

編輯界面如下;

下面需要為三個編輯框添加成員變量;來獲取和設置編輯框的值;

進入類向導;可以右擊對話框控件;也可以從下圖菜單;

? ? 為什么需要添加成員變量;要了解這個概念;

C#和Java這些來說,窗體上有一個文本框text1,在窗體代碼里面直接寫 xxx=text1.Text,text1.Text="xxx",就可以獲取和設置文本框的值;這是它把底層都封裝掉讓你直接用的;

VC++的特點是底層的東西封裝了一部分,但是不封裝完,底層的東西也暴露一部分給你;為了獲取和設置窗體上文本框的值,還需要自己額外寫幾句代碼,才能實現;

MFC的所有類都是這樣的;這樣的話雖然開發界面麻煩;但是若一個底層類,并沒有完全封裝掉,暴露了一部分內容給你,就可以借此實現更強的功能;

下面來操作成員變量;下圖是三個編輯框的ID,Class name下拉別選錯,選中主對話框類;成員變量將添加到主對話框類中;

單擊 Add Variable;彈出的對話框輸入變量名;m_,是mfc默認風格; 類別選中 Value;變量類型下拉選中UINT;

添加三個成員變量如下;

第一個文本框輸入光速,第二個文本框輸入頻率Hz;來計算天線最佳長度,按一些資料, 天線最佳長度 = 光速米 / 頻率Hz / 4;

然后為按鈕添加單擊處理函數;按鈕的ID是IDC_BUTTON1;類名下拉選中主對話框類;Messages選中BN_CLICKED;單擊Add Function;彈出對話框輸入成員函數名;

點 Edit Code 按鈕;如下圖;自己為對話框類添加一個成員函數OnDOIT();自己的處理代碼添加到 //TODO之后;

看下對話框類頭文件;在類向導添加成員變量和成員函數后,相應的定義自己添加到頭文件;

再看對話框類實現文件;添加了成員變量后;在對話框類構造函數自己添加成員變量初始化代碼;并自己添加了對話框數據交換函數DDX_TEXT();這是用來把控件的值換到成員變量和把成員變量的值換到控件的;

按鈕處理函數里面添加代碼;如下;

void CJsjDlg::OnDOIT()?
{
?? ?// TODO: Add your control notification handler code here
?? ?UpdateData(TRUE);
?? ?m_antLen = m_gs / ?m_hz / 4;
? ? UpdateData(FALSE);
}

? ? 第一個文本框輸入光速的值;這是固定的;我們在成員變量初始化時設置值為m_gs = 300000000;

? ? 代碼的含義是;先在編輯框1,編輯框2,輸入值;然后執行UpdateData(TRUE),這會把控件輸入的值交換到成員變量m_xxx上;

? ? 然后計算,m_antLen = m_gs / ?m_hz / 4,得出最佳天線長度;

? ? 再執行UpdateData(FALSE),這會把代碼里面寫的m_xxx的值交換到對話框界面上的控件里;這樣就把計算結果?m_antLen 顯示到第三個編輯框;

運行一下程序;顯示結果了;頻率為435000時,你需要一個長度為172米的天線;

有些問題;天線長度需要小數;刪除并重新添加成員變量;變量類別選為double;

初始化;m_gs = 300000000.0;

再執行代碼;結果如下圖;?

下面來看一下手機的天線長度;手機的頻率大體是2.4G;第一個文本框是光速;第二個文本框輸入2400000000;DO IT;結果是 0.03125米;也就是3厘米左右;這么小的天線是可以裝在手機里,外表看不到了;

?

總結

以上是生活随笔為你收集整理的MFC对话框控件成员变量编程熟悉 - 开发一个简单天线长度计算器的全部內容,希望文章能夠幫你解決所遇到的問題。

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