青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 181  文章 - 15  trackbacks - 0
<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

My Tech blog

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

???????? 目錄
??????? com方式調用matlab(一)
??????? com方式調用matlab(二)?
??????? com方式調用matlab(三)
??????? com方式調用matlab(四)?
??????? com方式調用matlab(五)
??????? com方式調用matlab(六)
??????? com方式調用matlab(附:運行結果及代碼)
??????? 在明確了如何讀取配置文件以后,現在我們如何將配置文件的信息反饋給用戶呢?
??????? 用戶當然要通過用戶界面和我們程序所提供的一切功能打交道。我們當然不希望一下子把配置文件里面這么多信息一下子全都提供給用戶,那么考慮用這樣一種所謂“聯動”的方式,就是說當用戶從下拉列表中選擇一個配置名稱后,就列出該配置的所有信息。這樣似乎要稍微友好一些。另外我們還需要允許用戶能夠修改配置內容,這樣還要從這些動態生成的控件中取得數值。說到這里,肯定大家會想到STL中的Map或List。恩,確實可以這樣實現,但是我們有MFC,我們用CTypedPtrMap。
??????? 下面是相關的類定義:
???????
class?CEditCtrlFactory
{
public:
????
//屬性
?????CTypedPtrMap<CMapStringToPtr,CString,CWnd*>?m_ctrlMap;
public:
????CEditCtrlFactory(
void);
????
~CEditCtrlFactory(void);
????CWnd
*?createCtrl(CWnd?*wnd,CString?typeName,CString?attributeName,CRect?rect);//創建控件對象
????CWnd*?getCtrl(CString?attributeName);
????
void?disposeAll();
private:
????
//私有方法
????
};

??????? 這里就是用了CTypedPtrMap,聲明了一個變量m_ctrlMap,它的索引是一個CString型變量,然后內容為一個CWnd型的指針。我們知道,一切窗體、按鈕等等的東西都是從CWnd繼承的。我們用CWnd來代指一切需要動態生成的控件(其實在這個程序中,主要動態生成CEdit型和CStatic型控件),這應當算是一個裝箱操作了吧。

??????? 方法createCtrl用來創建控件,并放到Map里面,getCtrl用來從Map中取得相應的控件對象。
??????? 下面是createCtrl的詳細實現:
???????

CWnd*?CEditCtrlFactory::createCtrl(CWnd?*wnd,CString?typeName,CString?attributeName,CRect?rect)
{
????
//創建cedit對象
????if(typeName=="CEdit")
????{
????????CEdit?
*pEdit?=?new?CEdit();
????????pEdit
->CreateEx(WS_EX_CLIENTEDGE,"EDIT",?"",?WS_CHILD|WS_VISIBLE,rect,wnd,0);
????????
//加入映射表
????????m_ctrlMap[attributeName]=pEdit;
????????
return?pEdit;
????}
????
if(typeName=="CStatic")
????{
????????CStatic?
*pStatic=new?CStatic();
????????pStatic
->Create(attributeName,WS_CHILD|WS_VISIBLE,rect,wnd);
????????m_ctrlMap[attributeName]
=pStatic;
????????
return?pStatic;
????}
????
return?NULL;
}

??????? 其實很簡單,就是用CreateEx這個方法。參數wnd為容納這個控件的窗體,rect指明了控件的位置。其他參數都是些宏定義。然后用"m_ctrlMap[attributeName]=控件指針"這句話來把控件放入Map。假如C++能夠支持點反射之類的語法的話,這一部分可以寫得有趣些,但是據我所知,好像不行;另外聽說可以通過定義一些宏之類的東西可以間接實現,這都是我能力之所不及的,有興趣的人可以自己實踐。
??????? 下面是getCtrl()這個方法的實現:
???????
CWnd*?CEditCtrlFactory::getCtrl(CString?attributeName)
{
????
//從映射表中取得cedit對象
????CWnd?*pWnd;
????m_ctrlMap.Lookup(attributeName,pWnd);
????
return?pWnd;
}
??????? 用了CTypedPtrMap.lookup來根據控件名字來查找控件對象。
??????? 最后,還需要釋放這些對象:
}
void?CEditCtrlFactory::disposeAll()
{
????
//刪除所有edit對象
????for?(POSITION?pos?=m_ctrlMap.GetStartPosition();?pos;?)
????{
????????CWnd?
*pWnd=0;
????????m_ctrlMap.GetNextAssoc(pos,?CString(
""),?pWnd);
????????delete?pWnd;
????}
????m_ctrlMap.RemoveAll();
}
??????? 就是不停的通過GetNextAssoc取得Map中的對象指針,然后釋放之。最后清空整個Map。
??????? 到這里,兩個工具類就介紹完畢了。
posted on 2006-08-21 20:13 littlegai 閱讀(629) 評論(0)  編輯 收藏 引用 所屬分類: 我的代碼玩具
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲国产综合91精品麻豆| 黄网站免费久久| 狠狠爱成人网| 牛人盗摄一区二区三区视频| 欧美激情成人在线视频| 在线亚洲激情| 亚洲欧美中文另类| 亚洲国产精品一区在线观看不卡| 久久激情五月丁香伊人| 国产一级精品aaaaa看| 欧美激情视频在线播放| 国产精品欧美日韩一区| 欧美高清视频在线播放| 国产精品男女猛烈高潮激情| 女女同性精品视频| 国产精品婷婷午夜在线观看| 亚洲二区视频| 国产视频观看一区| 最新亚洲激情| 在线观看视频欧美| 一本色道久久88精品综合| 精久久久久久| 亚洲欧美中文字幕| 亚洲永久字幕| 欧美精品亚洲| 嫩草国产精品入口| 国产性猛交xxxx免费看久久| 亚洲最新在线| 99re热这里只有精品视频| 久久久蜜桃一区二区人| 亚洲欧美在线免费| 欧美日韩p片| 欧美激情一区二区三区在线视频| 亚洲一区网站| 一区二区日韩欧美| 老司机午夜精品视频在线观看| 国产欧美精品日韩精品| 欧美大尺度在线| 国产日本欧美一区二区三区| 中日韩视频在线观看| 99在线热播精品免费| 久久人人97超碰精品888| 欧美主播一区二区三区| 欧美日韩亚洲高清一区二区| 欧美激情久久久久久| 亚洲高清久久| 久久久综合精品| 老司机亚洲精品| 尤物精品在线| 久久男人资源视频| 蜜臀a∨国产成人精品 | 欧美片第1页综合| 久久综合中文色婷婷| 国产综合自拍| 欧美影院视频| 久久天堂国产精品| 国产一区激情| 久久久精品动漫| 欧美1区视频| 亚洲黄色尤物视频| 欧美成va人片在线观看| 欧美大学生性色视频| 亚洲激情成人网| 欧美粗暴jizz性欧美20| 欧美成人四级电影| 亚洲国产成人精品女人久久久 | 国产精品每日更新在线播放网址| 亚洲深夜影院| 欧美美女日韩| 一本一道久久综合狠狠老精东影业| 国产精品亚洲综合| 午夜精品理论片| 久久久精彩视频| 一区二区亚洲| 欧美国产一区二区在线观看| 亚洲精品日日夜夜| 性欧美暴力猛交69hd| 国内一区二区三区在线视频| 男人的天堂亚洲在线| 9久草视频在线视频精品| 欧美一区国产一区| 1769国内精品视频在线播放| 欧美激情视频一区二区三区不卡| 欧美专区第一页| 一区在线播放| 欧美日韩一区二区免费视频| 亚洲欧美激情一区二区| 欧美gay视频| 亚洲一二三区在线| 国产一区二区激情| 欧美激情亚洲精品| 欧美一区二区在线视频| 亚洲国产精品成人综合| 亚洲午夜一区| 亚洲成人在线| 国产毛片精品视频| 欧美成人一区在线| 亚洲欧美综合一区| 最新高清无码专区| 久久午夜色播影院免费高清| 亚洲视频 欧洲视频| 黄色小说综合网站| 欧美三级电影一区| 久久一区精品| 午夜精品成人在线视频| 最新亚洲视频| 免费在线观看成人av| 午夜激情久久久| 亚洲人成人一区二区三区| 国产精品视频免费在线观看| 麻豆国产精品一区二区三区 | 欧美日韩一区二区视频在线 | 好吊一区二区三区| 欧美日韩高清一区| 麻豆91精品91久久久的内涵| 中日韩视频在线观看| 欧美高清自拍一区| 亚洲欧美经典视频| 亚洲精品中文字幕在线观看| 国产亚洲欧美日韩在线一区| 欧美日韩在线三级| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美成人有码| 欧美一区午夜视频在线观看| 亚洲一区二区三区四区五区黄| 欧美三区美女| 欧美va天堂| 久久久免费av| 欧美一区二区免费视频| 99www免费人成精品| 日韩一级黄色片| 亚洲区中文字幕| 亚洲电影免费观看高清完整版在线 | 亚洲高清中文字幕| 久久久综合激的五月天| 亚洲欧美日韩国产中文| 中文在线不卡| 亚洲一区bb| 亚洲永久免费观看| 亚洲欧美精品一区| 午夜精品国产精品大乳美女| 宅男噜噜噜66一区二区| 中日韩美女免费视频网站在线观看| 欧美日韩在线精品| 欧美精品www| 欧美日韩亚洲一区| 国产精品久久二区二区| 国产精品青草久久| 国产精品一区二区你懂的| 国产精品高精视频免费| 国产精品丝袜91| 国产一区二区三区久久久久久久久| 欧美在线播放高清精品| 一区二区三区国产盗摄| 亚洲永久免费精品| 欧美一区二区久久久| 久久亚洲视频| 欧美精品免费在线观看| 欧美亚洲不卡| 国产日韩欧美中文| 在线观看欧美视频| 亚洲精品日日夜夜| 亚洲一区在线直播| 久久久久久久性| 亚洲成人在线网站| 一本色道久久综合狠狠躁的推荐| 久久综合影视| 亚洲黄色有码视频| 日韩亚洲一区在线播放| 亚洲一区成人| 久久久国际精品| 欧美麻豆久久久久久中文| 国产精品久久久久久av下载红粉| 久久九九电影| 欧美激情视频一区二区三区免费| 欧美在线www| 欧美激情片在线观看| 国产精品亚洲欧美| 亚洲第一网站| 99riav久久精品riav| 久久精品国产一区二区三| 亚洲高清久久| 亚洲女女女同性video| 久久国产精品99精品国产| 麻豆精品网站| 国产精品三级视频| 亚洲国产综合91精品麻豆| 亚洲免费在线播放| 欧美激情国产日韩精品一区18| 久久婷婷久久| 日韩一区二区久久| 久久婷婷综合激情| 国产麻豆一精品一av一免费| 99精品国产热久久91蜜凸| 久久女同互慰一区二区三区| 中文国产成人精品| 欧美成人激情视频| 激情亚洲网站| 欧美在线视频a| av不卡在线看|