• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Dragon  
            Dragon
            日歷
            <2008年9月>
            31123456
            78910111213
            14151617181920
            21222324252627
            2829301234
            567891011
            統(tǒng)計(jì)
            • 隨筆 - 58
            • 文章 - 0
            • 評(píng)論 - 55
            • 引用 - 0

            導(dǎo)航

            常用鏈接

            留言簿(3)

            隨筆分類(lèi)(58)

            隨筆檔案(58)

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

             

            CIPAddressCtrl控件的用法:

            1.通過(guò)Create函數(shù)手動(dòng)創(chuàng)建一個(gè)IP控件.
            開(kāi)始時(shí)我在OnInitDialog()函數(shù)中這樣寫(xiě)的:
            CIPAddressCtrl IPAddress;
            UINT nID=101;
            IPAddress.Create(WS_CHILD |WS_VISIBLE ,CRect(20,20,300,43),this,nID);
            但運(yùn)行之后看不到有IP控件出來(lái),后來(lái)才發(fā)現(xiàn)原來(lái)我的IPAddress是一個(gè)局部變量,當(dāng)OnInitDialog()函數(shù)返回時(shí),這個(gè)變量就撤銷(xiāo)了.
            所以不會(huì)有控件出來(lái)!!
            只要把CIPAddressCtrl IPAddress;放到頭文件中定義為成員變量就OK了!

            如果上面的Create函數(shù)的第一個(gè)參數(shù)沒(méi)有|WS_VISIBLE;我們可以Create函數(shù)后加這一句:IPAddress.ShowWindow(SW_SHOW);
            感覺(jué)上Create函數(shù)在每一個(gè)控件里都有,創(chuàng)建的方法也是大同小異了吧!

            2.下面的是我在基于一個(gè)對(duì)話框的工程中添加一個(gè)IP控件中所寫(xiě)的:
            先獲得控件的指針:
            CIPAddressCtrl * pIP=(CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS);

            void ClearAddress( );
            這個(gè)函數(shù)將IP控件里的內(nèi)容清空.
            BOOL IsBlank( ) const;
            這個(gè)函數(shù)是當(dāng)IP控件里一個(gè)數(shù)字都沒(méi)有才返回真的,全為0都返回假,0也是數(shù)字!調(diào)用ClearAddress( )后剛好可以使IsBlank()反回真.
            測(cè)試代碼如下:
            pIP->ClearAddress();
            if(pIP->IsBlank())
            {
                 MessageBox("IP全為空");
            }

             

            int GetAddress(BYTE& nField0, BYTE& nField1, BYTE& nField2, BYTE& nField3);
            int GetAddress(DWORD& dwAddress);
            當(dāng)控件內(nèi)容為空時(shí),即沒(méi)有數(shù)字,連0也沒(méi)有,返回0,0,0,0.和控件全為0的情況一樣!
            獲得IP地址:(兩種方法,選其一)


             BYTE nf1,nf2,nf3,nf4;
             pIP->GetAddress(nf1,nf2,nf3,nf4);
             CString str;
             str.Format("%d.%d.%d.%d",nf1,nf2,nf3,nf4);//這里的nf得到的值是IP值了.
             MessageBox(str);
             

             /*
             DWORD dw;
             pIP->GetAddress(dw);
             CString str;
             WORD hiWord=HIWORD(dw);
             WORD loWord=LOWORD(dw);
             BYTE nf1=HIBYTE(hiWord);
             BYTE nf2=LOBYTE(hiWord);
             BYTE nf3=HIBYTE(loWord);
             BYTE nf4=LOBYTE(loWord);
             str.Format("%d.%d.%d.%d",nf1,nf2,nf3,nf4);
             MessageBox(str);
             */


            void SetAddress(BYTE nField0, BYTE nField1, BYTE nField2, BYTE nField3);
            void SetAddress(DWORD dwAddress);
            設(shè)置IP地址:(兩種方法,選其一)

                    pIP->SetAddress(127,0,0,1);

             pIP->SetAddress((DWORD)0x7F000001);//這兩行的效果都是一樣的!


            void SetFieldRange(int nField, BYTE nLower, BYTE nUpper);
            設(shè)置每一個(gè)域的范圍:(nField是0到3的值,nLower和nUpper的范圍都是0到255.可以超出范圍,但控件也還是默認(rèn)設(shè)置回0到255的!

             pIP->SetFieldRange(0,5,127);//設(shè)置每一個(gè)域的范圍,第一個(gè)參數(shù)是域的下標(biāo),第二和第三個(gè)是范圍.
             pIP->SetFieldRange(1,5,127);//當(dāng)輸入比5少時(shí),如0,當(dāng)失去輸入焦點(diǎn)時(shí),它會(huì)重置為5.
             pIP->SetFieldRange(2,5,127);//當(dāng)輸入比127大時(shí),如128,它會(huì)自動(dòng)變回127
             pIP->SetFieldRange(3,5,127);


            void SetFieldFocus(WORD nField);
            nField的值為0到3;表示域的下標(biāo)!該函數(shù)是使輸入焦點(diǎn)落在四個(gè)域的指定域上;
            這個(gè)函數(shù)要在消息響應(yīng)時(shí)才能體現(xiàn)出來(lái)!
            測(cè)試代碼:
            void CTestDlg::OnButton2()
            {
             // TODO: Add your control notification handler code here
             CIPAddressCtrl * pIP=(CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS);
             pIP->SetFieldFocus(2);
            }

            posted on 2008-09-25 10:28 Dragon 閱讀(5264) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): VC
             
            Copyright © Dragon Powered by: 博客園 模板提供:滬江博客
            久久国产精品-国产精品| 国产一级做a爰片久久毛片| 久久国产色AV免费看| 精品国产乱码久久久久久呢| 久久久久国产日韩精品网站| 青青草国产精品久久| 久久久一本精品99久久精品66| 久久久亚洲AV波多野结衣| 亚洲精品tv久久久久久久久| 天堂久久天堂AV色综合| 久久国产视频99电影| 香蕉久久影院| 久久精品国产网红主播| 亚洲精品国产第一综合99久久| 国产亚洲美女精品久久久2020| 久久99精品久久久久子伦| 久久精品国产亚洲精品| 亚洲精品tv久久久久久久久| 久久人人爽人人爽人人片AV东京热| 中文字幕人妻色偷偷久久| 久久久国产精品| 91精品国产乱码久久久久久 | 久久天天躁狠狠躁夜夜2020 | 亚洲午夜精品久久久久久人妖| 久久99九九国产免费看小说| 国产精品美女久久久网AV| 久久久久久亚洲精品成人| 亚洲中文字幕无码久久精品1| 久久影视综合亚洲| 热re99久久精品国产99热| 精品少妇人妻av无码久久| 伊人久久大香线蕉综合热线| 青青国产成人久久91网| 久久大香香蕉国产| 精品久久久久久国产| 99久久中文字幕| 国产香蕉久久精品综合网| 91久久国产视频| 久久精品国产一区| 久久99国产精品二区不卡| 久久久久国产精品嫩草影院|