锘??xml version="1.0" encoding="utf-8" standalone="yes"?>精品无码久久久久久尤物,久久噜噜久久久精品66,大香网伊人久久综合网2020 http://www.shnenglu.com/sunraiing9/category/1806.html涓撴敞C++鎶鏈? 鍦ㄨ繖閲屽啓涓嬭嚜宸辯殑瀛︿範蹇冨緱 鎰熸偀
鍜屽ぇ瀹惰璁?鍏卞悓榪涙錛堟榪庢壒璇勶紒錛侊紒錛?/description>zh-cn Mon, 19 May 2008 14:48:26 GMT Mon, 19 May 2008 14:48:26 GMT 60 WindowsMediaPlayer鎺т歡鐨勪嬌鐢?/title> http://www.shnenglu.com/sunraiing9/articles/14456.html@鐜嬩竴浼?/dc:creator>@鐜嬩竴浼?/author>Tue, 31 Oct 2006 16:36:00 GMT http://www.shnenglu.com/sunraiing9/articles/14456.html http://www.shnenglu.com/sunraiing9/comments/14456.html http://www.shnenglu.com/sunraiing9/articles/14456.html#Feedback 0 http://www.shnenglu.com/sunraiing9/comments/commentRss/14456.html http://www.shnenglu.com/sunraiing9/services/trackbacks/14456.html
WindowsMediaPlayer鎺т歡鐨勪嬌鐢?/span>
By聽 瀛欐偀絀?鍙戣〃浜?2006-3-15 14:00:00聽
[鍩烘湰灞炴聽銆聽 URL:String;聽鎸囧畾濯掍綋浣嶇疆錛屾湰鏈烘垨緗戠粶鍦板潃聽 uiMode:String;聽鎾斁鍣ㄧ晫闈㈡ā寮忥紝鍙負Full,聽Mini,聽None,聽Invisible聽 playState:integer;聽鎾斁鐘舵侊紝1=鍋滄錛?=鏆傚仠錛?=鎾斁錛?=姝e湪緙撳啿錛?=姝e湪榪炴帴錛?0=鍑嗗灝辯華聽 enableContextMenu:Boolean;聽鍚敤/紱佺敤鍙抽敭鑿滃崟聽 fullScreen:boolean;聽鏄惁鍏ㄥ睆鏄劇ず聽
聽[controls]聽聽鎾斁鍣ㄥ熀鏈帶鍒堵?br />controls.play;聽鎾斁聽 controls.pause;聽鏆傚仠聽 controls.stop;聽鍋滄聽 controls.currentPosition:double;聽褰撳墠榪涘害聽 controls.currentPositionString:string;聽褰撳墠榪涘害錛屽瓧絎︿覆鏍煎紡銆傚鈥?0:23鈥澛?br />controls.fastForward;聽蹇繘聽 controls.fastReverse;聽蹇聽 controls.next;聽涓嬩竴鏇猜?br />controls.previous;聽涓婁竴鏇猜?/p>
聽[settings]鎾斁鍣ㄥ熀鏈緗?br />settings.volume:integer;聽闊抽噺錛?-100聽 settings.autoStart:Boolean;聽鏄惁鑷姩鎾斁聽 settings.mute:Boolean;聽鏄惁闈欓煶聽 settings.playCount:integer;聽鎾斁嬈℃暟聽
聽[currentMedia]聽褰撳墠濯掍綋灞炴?br />currentMedia.duration:double;聽濯掍綋鎬婚暱搴β?br />currentMedia.durationString:string;聽濯掍綋鎬婚暱搴︼紝瀛楃涓叉牸寮忋傚鈥?3:24鈥澛?br />currentMedia.getItemInfo(const聽string);聽鑾峰彇褰撳墠濯掍綋淇℃伅"Title"=濯掍綋鏍囬錛?Author"=鑹烘湳瀹訛紝"Copyright"=鐗堟潈淇℃伅錛?Description"=濯掍綋鍐呭鎻忚堪錛?Duration"=鎸佺畫鏃墮棿錛堢錛夛紝"FileSize"=鏂囦歡澶у皬錛?FileType"=鏂囦歡綾誨瀷錛?sourceURL"=鍘熷鍦板潃聽 currentMedia.setItemInfo(const聽string);聽閫氳繃灞炴у悕璁劇疆濯掍綋淇℃伅聽 currentMedia.name:string;聽鍚屄燾urrentMedia.getItemInfo("Title")聽
聽[currentPlaylist]聽褰撳墠鎾斁鍒楄〃灞炴?br />currentPlaylist.count:integer;聽褰撳墠鎾斁鍒楄〃鎵鍖呭惈濯掍綋鏁奧?br />currentPlaylist.Item[integer];聽鑾峰彇鎴栬緗寚瀹氶」鐩獟浣撲俊鎭?/p>
聽
]]> CSliderctrl綾葷殑鎴愬憳鍑芥暟 http://www.shnenglu.com/sunraiing9/articles/14451.html@鐜嬩竴浼?/dc:creator>@鐜嬩竴浼?/author>Tue, 31 Oct 2006 15:06:00 GMT http://www.shnenglu.com/sunraiing9/articles/14451.html http://www.shnenglu.com/sunraiing9/comments/14451.html http://www.shnenglu.com/sunraiing9/articles/14451.html#Feedback 0 http://www.shnenglu.com/sunraiing9/comments/commentRss/14451.html http://www.shnenglu.com/sunraiing9/services/trackbacks/14451.html CSliderctrl綾葷殑鎴愬憳鍑芥暟 浣滆咃細鏈煡 csliderctrl綾葷殑鎴愬憳鍑芥暟錛屽彲浠ュ杞ㄩ亾鏉¤繘琛屾煡璇㈠拰璁劇疆錛?br /> 鐢╣etrange鍜宻etrange鏉ユ煡璇㈠拰璁劇疆杞ㄩ亾鏉$殑鑼冨洿錛岀己鐪佺殑鑼冨洿鏄?-100錛庡嚱鏁扮殑澹版槑涓?br /> void getrange( int& nmin, int& nmax ) const; void setrange( int nmin, int nmax, bool bredraw = false ); 鍙傛暟nmin鍜宯max鍒嗗埆鏄渶灝忓拰鏈澶у鹼紝鍙傛暟bredraw涓簍rue鏃跺皢閲嶇粯鎺т歡錛?br /> 鐢╣etpos鍜宻etpos鏉ユ煡璇㈠拰璁劇疆杞ㄩ亾鏉$殑褰撳墠鍊鹼紟鍑芥暟鐨勫0鏄庝負 int getpos( ) const; void setpos( int npos ); 鐢╣etlinesize鍜宻etlinesize鏉ユ煡璇㈠拰璁劇疆鍦ㄦ寜涓涓嬪乏綆ご閿垨鍙崇澶撮敭鏃舵粦灝虹殑縐誨姩閲忥紝璇ョЩ鍔ㄩ噺鐨勭己鐪佸兼槸1涓崟浣嶏紟鍑芥暟鐨勫0鏄庝負 int getlinesize( ) const; int setlinesize( int nsize ); 鐢╣etpagesize鍜宻etpagesize鏉ユ煡璇㈠拰璁劇疆婊戝昂鐨勫潡縐誨姩閲忥紝鍧楃Щ鍔ㄩ噺鏄寚褰撴寜涓媝gup鎴杙gdown閿椂婊戝昂鐨勭Щ鍔ㄩ噺錛庡嚱鏁扮殑澹版槑涓?br /> int getpagesize( ) const; int setpagesize( int nsize ); 鐢╯etticfreq璁劇疆杞ㄩ亾鏉$殑鍒誨害鐨勯搴︼紟緙虹渷鐨勯搴︽槸姣忎釜鍗曚綅閮芥湁涓涓埢搴︼紝鍦ㄨ寖鍥磋緝澶ф椂錛屼負浜嗕嬌鍒誨害涓嶈嚦浜庤繃瀵嗭紝闇瑕佽皟鐢ㄨ鍑芥暟璁劇疆涓涓悎鐞嗙殑棰戝害錛庡嚱鏁扮殑澹版槑涓?br /> void setticfreq( int nfreq ); 鍙傛暟nfreq璇存槑浜嗕袱涓埢搴︿箣闂寸殑闂撮殧錛?br /> 鐢ㄥ嚱鏁皊ettic鏉ュ湪鎸囧畾浣嶇疆璁劇疆鍒誨害錛巜indows鑷姩鏄劇ず鐨勫埢搴︽槸鍧囧寑鐨勶紝鍒╃敤璇ュ嚱鏁板彲浠ヤ漢涓鴻緗笉鍧囧寑鐨勫埢搴︼紝璇ュ嚱鏁扮殑澹版槑涓?br /> bool settic( int ntic ); 鐢ㄥ嚱鏁癱leartics鏉ユ竻闄ゆ墍鏈夌殑鍒誨害錛庤鍑芥暟鐨勫0鏄庝負 void cleartics( bool bredraw = false ); ]]> SetTimer鍑芥暟 http://www.shnenglu.com/sunraiing9/articles/14449.html@鐜嬩竴浼?/dc:creator>@鐜嬩竴浼?/author>Tue, 31 Oct 2006 14:52:00 GMT http://www.shnenglu.com/sunraiing9/articles/14449.html http://www.shnenglu.com/sunraiing9/comments/14449.html http://www.shnenglu.com/sunraiing9/articles/14449.html#Feedback 0 http://www.shnenglu.com/sunraiing9/comments/commentRss/14449.html http://www.shnenglu.com/sunraiing9/services/trackbacks/14449.html SetTimer鍑芥暟
2006騫?9鏈?7鏃?鏄熸湡鍥?15:10
浠涔堟椂鍊欐垜浠渶瑕佺敤鍒癝etTimer鍑芥暟鍛紵褰撲綘闇瑕佹瘡涓竴孌墊椂闂存墽琛屼竴浠朵簨鐨勭殑鏃跺欐墭鏋?瑜傝偋etTimer鍑芥暟浜嗐?浣跨敤瀹氭椂鍣ㄧ殑鏂規硶姣旇緝綆鍗曪紝閫氬父鍛婅瘔WINDOWS涓涓椂闂撮棿闅旓紝鐒跺悗WINDOWS浠ユ鏃墮棿闂撮殧鍛ㄦ湡鎬цЕ鍙戠▼搴忋傞氬父鏈変袱縐嶆柟娉曟潵瀹炵幇錛氬彂閫乄M_TIMER娑堟伅鍜岃皟鐢ㄥ簲鐢ㄧ▼搴忓畾涔夌殑鍥炶皟鍑芥暟銆?
聽
1.1 鐢╓M_TIMER鏉ヨ緗畾鏃跺櫒
鍏堣鐪婼etTimer榪欎釜API鍑芥暟鐨勫師鍨?
UINT_PTR SetTimer( 聽 HWND hWnd,聽聽聽聽聽聽聽聽聽聽聽聽聽 // 紿楀彛鍙ユ焺 聽 UINT_PTR nIDEvent,聽聽聽聽聽 // 瀹氭椂鍣↖D錛屽涓畾鏃跺櫒鏃訛紝鍙互閫氳繃璇D鍒ゆ柇鏄摢涓畾鏃跺櫒 聽 UINT uElapse,聽聽聽聽聽聽聽聽聽聽 // 鏃墮棿闂撮殧,鍗曚綅涓烘縐?br />聽 TIMERPROC lpTimerFunc聽聽 // 鍥炶皟鍑芥暟 );
渚嬪 SetTimer(m_hWnd,1,1000,NULL); //涓涓?縐掕Е鍙戜竴嬈$殑瀹氭椂鍣?br />鍦∕FC紼嬪簭涓璖etTimer琚皝瑁呭湪CWnd綾諱腑錛岃皟鐢ㄥ氨涓嶇敤鎸囧畾紿楀彛鍙ユ焺浜?/p>
浜庢槸SetTimer鍑芥暟鐨勫師鍨嬪彉涓猴細
UINT SetTimer(UINT nIDEvent,UINT nElapse,void(CALLBACK EXPORT *lpfnTimer)(HWND,UINT ,YINT ,DWORD))
褰撲嬌鐢⊿etTimer鍑芥暟鐨勬椂鍊欙紝灝變細鐢熸垚涓涓鏃跺櫒銆傚嚱鏁頒腑nIDEvent鎸囩殑鏄鏃跺櫒鐨勬爣璇嗭紝涔熷氨鏄悕瀛椼俷Elapse鎸囩殑鏄椂闂撮棿闅旓紝涔熷氨鏄瘡闅斿闀挎椂闂磋Е鍙戜竴嬈′簨浠躲傜涓変釜鍙傛暟鏄竴涓洖璋冨嚱鏁幫紝鍦ㄨ繖涓嚱鏁伴噷錛屾斁鍏ヤ綘鎯寵鍋氱殑浜嬫儏鐨勪唬鐮侊紝浣犲彲浠ュ皢瀹冭瀹氫負NULL錛屼篃灝辨槸浣跨敤緋葷粺榛樿鐨勫洖璋冨嚱鏁幫紝緋葷粺榛樿璁ょ殑鏄痮nTime鍑芥暟銆傝繖涓嚱鏁版庝箞鐢熸垚鐨勫憿錛熶綘闇瑕佸湪闇瑕佽鏃跺櫒鐨勭被鐨勭敓鎴恛nTime鍑芥暟錛氬湪ClassWizard閲岋紝閫夋嫨闇瑕佽鏃跺櫒鐨勭被錛屾坊鍔燱M_TIME娑堟伅鏄犲皠錛屽氨鑷姩鐢熸垚onTime鍑芥暟浜嗐傜劧鍚庡湪鍑芥暟閲屾坊鍔犱唬鐮侊紝璁╀唬鐮佸疄鐜板姛鑳姐傛瘡闅斾竴孌墊椂闂村氨浼氳嚜鍔ㄦ墽琛屼竴嬈°?
渚嬶細
SetTimer(1,1000,NULL);
1:璁℃椂鍣ㄧ殑鍚嶇О錛?
1000錛氭椂闂撮棿闅旓紝鍗曚綅鏄縐掞紱
NULL:浣跨敤onTime鍑芥暟銆?
褰撲笉闇瑕佽鏃跺櫒鐨勬椂鍊欒皟鐢↘illTimer(nIDEvent);
渚嬪錛欿illTimer(1);
1.2 璋冪敤鍥炶皟鍑芥暟
姝ゆ柟娉曢鍏堝啓涓涓涓嬫牸寮忕殑鍥炶皟鍑芥暟
void CALLBACK TimerProc(HWND hWnd,UINT nMsg,UINT nTimerid,DWORD dwTime); 鐒跺悗鍐嶇敤SetTimer(1,100,TimerProc)鍑芥暟鏉ュ緩涓涓畾鏃跺櫒錛岀涓変釜鍙傛暟灝辨槸鍥炶皟鍑芥暟鍦板潃銆?/p>
浜? 鎴栬浣犱細闂紝濡傛灉鎴戣鍔犲叆涓や釜鎴栬呬袱涓互涓婄殑 timer鎬庝箞鍔烇紵
緇х畫鐢⊿etTimer鍑芥暟鍚э紝涓婃鐨則imer鐨処D鏄?錛岃繖嬈″彲浠ユ槸2錛?錛?銆傘傘傘?
SetTimer(2,1000,NULL);
SetTimer(3,500,NULL);
鍡紝WINDOWS浼氬崗璋冧粬浠殑銆傚綋鐒秓nTimer鍑芥暟浣撲篃瑕佸彂鐢熷彉鍖栵紝瑕佸湪鍑芥暟浣撳唴娣誨姞姣忎竴涓猼imer鐨勫鐞嗕唬鐮侊細
onTimer(nIDEvent)
{
switch(nIDEvent)
{
case 1:........;
break;
case 2:.......;
break;
case 3:......;
break;
}
}
聽
聽
鍦∕FC鐢ㄤ嬌鐢═imer 鍙互鍏堢敤MFC Class Wizard緇機XxxxDlg娣誨姞涓涓猈M_TIMER鐨勬秷鎭搷搴斿嚱鏁?/p>
鍦╲oid CLXWGDlg::OnTimer(UINT nIDEvent)涓啓鍏ユ墽琛岀殑鎿嶄綔聽 鐒跺悗鍦ㄥ搷搴旂殑鍑芥暟閲岀敤
聽SetTimer(1,100,NULL)璋冪敤;
]]> CToolBar鐨勪竴浜涚畝鍗曠敤娉?/title> http://www.shnenglu.com/sunraiing9/articles/14004.html@鐜嬩竴浼?/dc:creator>@鐜嬩竴浼?/author>Sun, 22 Oct 2006 05:45:00 GMT http://www.shnenglu.com/sunraiing9/articles/14004.html http://www.shnenglu.com/sunraiing9/comments/14004.html http://www.shnenglu.com/sunraiing9/articles/14004.html#Feedback 0 http://www.shnenglu.com/sunraiing9/comments/commentRss/14004.html http://www.shnenglu.com/sunraiing9/services/trackbacks/14004.html 1) Right click Solution Explorer -> Add -> Resource -> Tool Bar -> New. This will open into Tool Bar Editor.
2)You can Create/Paint Buttons here. Make sure you change the default Ids of these buttons to some proper usable ids. (Use Property Explorer for this), this will create a .bmp image in resources. (Lets say, The Tool Bar is 鈥楾DR_TOOLBAR1鈥?and the two buttons are 鈥業DC_TBUTTON1鈥?and 鈥業DC_TBUTTON2鈥?)
3)Now go to the .h for dialog(You can add a class to a dialog) on which toolbar need to be placed. Declare a 鈥楥ToolBar鈥?Object
CToolBar m_FirstToolBar
4)Now on the .cpp file of the dialog, in 鈥極nInitDialog()鈥?add following code;(You Can add OnInitDialog event to the directly by declaring it in .h file added and using it in .cpp file)
if(!m_FirstToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !m_FirstToolBar.LoadToolBar(IDR_TOOLBAR1))
{
EndDialog(IDCANCEL);
}
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST,0);
4.1. Here you can see the various attributes set for the toolbar in 鈥楥reateEx(...)鈥?like 鈥楾BSTYLE_FLAT鈥?for flat look of toolbar buttons;
4.2 In 鈥楲oadToolBar(...)鈥?the Resource created for the toolbar is used. This maps our toolbar object 鈥榤_FirstToolBar鈥?with resource 鈥業DR_TOOLBAR1鈥?
4.3 鈥楻epositionBars()鈥?is used to place the toolbar on the dialog.
5) 鈥楳oveWindow()鈥?can be used to place the toolbar on the desired position.
m_FirstToolBar.MoveWindow( 50, 0,100, 100, 1 );
Now if you have finalized the place where you want to place the tool bar you can put it there using MoveWindow(...), my suggestion is to put a label in the design of dialog at place you want to put you toolbar; Then at run time get the position of this label and place the toolbar there using MoveWindow(...)
If you want to place this toolbar on Top Left and dynamically move all the controls accordingly and increase the dialog dimensions refer the article on this site I suggested above.
6)This is how the buttons of Tool Bar can be made visible/invisible
m_FirstToolBar.GetToolBarCtrl().HideButton(IDC_TBUTTON1, TRUE);
Notice that we have used the 鈥業DC_TBUTTON1鈥?which we declared at the time of creating toolbar resource.
7) Similarly
m_FirstToolBar.GetToolBarCtrl().EnableButton(IDC_TBUTTON1,false)
can be used to disable a button.
8) To handle Click events: 8.1 Add following line to BEGIN_MESSAGE_MAP()
ON_COMMAND(IDC_TBUTTON1,OnToolBarButton1)
8.2 Write the desired code in .cpp file
FirstToolBarDialog:: OnToolBarButton1()
{
- - -
- - -
}
聽
]]>MFC DLL鍚戝(鎽? http://www.shnenglu.com/sunraiing9/articles/13739.html@鐜嬩竴浼?/dc:creator>@鐜嬩竴浼?/author>Mon, 16 Oct 2006 00:42:00 GMT http://www.shnenglu.com/sunraiing9/articles/13739.html http://www.shnenglu.com/sunraiing9/comments/13739.html http://www.shnenglu.com/sunraiing9/articles/13739.html#Feedback 0 http://www.shnenglu.com/sunraiing9/comments/commentRss/13739.html http://www.shnenglu.com/sunraiing9/services/trackbacks/13739.html 涓銆丏LL鐨勪笉鍚岀被鍨?br />聽聽聽 浣跨敤MFC鍙互鐢熸垚涓ょ綾誨瀷鐨凞LL錛歁FC鎵╁睍DLL鍜屽父瑙凞LL銆傚父瑙凞LL鏈夊彲浠ュ垎涓哄姩鎬佽繛鎺ュ拰闈欐佽繛鎺ャ俈isual C++榪樺彲浠ョ敓鎴怶IN32 DLL錛屼絾涓嶆槸榪欓噷璁ㄨ鐨勪富瑕佸璞°?br />1銆丮FC鎵╁睍DLL 聽聽 姣忎釜DLL閮芥湁鏌愮綾誨瀷鐨勬帴鍙o細鍙橀噺銆佹寚閽堛佸嚱鏁般佸鎴風▼搴忚闂殑綾匯傚畠浠殑浣滅敤鏄瀹㈡埛紼嬪簭浣跨敤DLL錛孧FC鎵╁睍DLL鍙互鏈塁++鐨勬帴鍙c備篃灝辨槸瀹冨彲浠ュ鍑篊++綾葷粰瀹㈡埛绔傚鍑虹殑鍑芥暟鍙互浣跨敤C++/MFC鏁版嵁綾誨瀷鍋氬弬鏁版垨榪斿洖鍊鹼紝瀵煎嚭涓涓被鏃跺鎴風鑳藉垱寤虹被瀵硅薄鎴栬呮淳鐢熻繖涓被銆傚悓鏃訛紝鍦―LL涓篃鍙互浣跨敤DLL鍜孧FC銆?br />聽聽 Visual C++浣跨敤鐨凪FC綾誨簱涔熸槸淇濆瓨鍦ㄤ竴涓狣LL涓紝MFC鎵╁睍DLL鍔ㄦ佽繛鎺ュ埌MFC浠g爜搴撶殑DLL錛屽鎴風▼搴忎篃蹇呴』瑕佸姩鎬佽繛鎺ュ埌MFC浠g爜搴撶殑DLL銆傦紙榪欓噷璋堝埌鐨勪袱涓狣LL錛屼竴涓槸鎴戜滑鑷繁緙栧啓鐨凞LL錛屼竴涓MFC綾誨簱鐨凞LL錛夌幇鍦∕FC浠g爜搴撶殑DLL涔熷瓨鍦ㄥ涓増鏈紝瀹㈡埛紼嬪簭鍜屾墿灞旸LL閮藉繀欏諱嬌鐢ㄧ浉鍚岀増鏈殑MFC浠g爜DLL銆傛墍浠ヤ負浜嗚MFC鎵╁睍DLL鑳藉緢濂界殑宸ヤ綔錛屾墿灞旸LL鍜屽鎴風▼搴忛兘蹇呴』鍔ㄦ佽繛鎺ュ埌MFC浠g爜搴揇LL銆傝岃繖涓狣LL蹇呴』鍦ㄥ鎴風▼搴忚繍琛岀殑璁$畻鏈轟笂銆?br />2銆佸父瑙凞LL 聽聽 浣跨敤MFC鎵╁睍DLL鐨勪竴涓棶棰樺氨鏄疍LL浠呰兘鍜孧FC瀹㈡埛紼嬪簭涓璧峰伐浣滐紝濡傛灉闇瑕佷竴涓嬌鐢ㄦ洿騫挎硾鐨凞LL錛屾渶濂介噰鐢ㄥ父瑙凞LL錛屽洜涓哄畠涓嶅彈MFC鐨勬煇浜涢檺鍒躲傚父瑙凞LL涔熸湁緙虹偣錛氬畠涓嶈兘鍜屽鎴風▼搴忓彂閫佹寚閽堟垨MFC媧劇敓綾誨拰瀵硅薄鐨勫紩鐢ㄣ備竴鍙ヨ瘽灝辨槸甯歌DLL鍜屽鎴風▼搴忕殑鎺ュ彛涓嶈兘浣跨敤MFC錛屼絾鍦―LL鍜屽鎴風▼搴忕殑鍐呴儴榪樻槸鍙互浣跨敤MFC銆?br />聽聽 褰撳湪甯歌DLL鐨勫唴閮ㄤ嬌鐢∕FC浠g爜搴撶殑DLL鏃訛紝鍙互鏄姩鎬佽繛鎺?闈欐佽繛鎺ャ傚鏋滄槸鍔ㄦ佽繛鎺ワ紝涔熷氨鏄父瑙凞LL闇瑕佺殑MFC浠g爜娌℃湁鏋勫緩鍒癉LL涓紝榪欑鎯呭喌鏈夌偣鍜屾墿灞旸LL綾諱技錛屽湪DLL榪愯鐨勮綆楁満涓婂繀欏昏MFC浠g爜搴撶殑DLL銆傚鏋滄槸闈欐佽繛鎺ワ紝甯歌DLL閲岄潰宸茬粡鍖呭惈浜嗛渶瑕佺殑MFC浠g爜錛岃繖鏍稤LL鐨勪綋縐皢姣旇緝澶э紝浣嗗畠鍙互鍦ㄦ病鏈塎FC浠g爜搴揇LL鐨勮綆楁満涓婃甯歌繍琛屻?br /> 浜屻佸緩绔婦LL 聽聽聽 鍒╃敤Visual C++鎻愪緵鐨勫悜瀵煎姛鑳藉彲浠ュ緢瀹規槗寤虹珛涓涓笉瀹屾垚浠諱綍瀹炶川浠誨姟鐨凞LL錛岃繖閲屽氨涓嶅璁蹭簡錛屼富瑕佺殑浠誨姟鏄浣曠粰DLL娣誨姞鍔熻兘錛屼互鍙婂湪瀹㈡埛紼嬪簭涓埄鐢ㄨ繖涓狣LL 1銆佸鍑虹被 聽聽 鐢ㄥ悜瀵煎緩绔嬪ソ妗嗘灦鍚庯紝灝卞彲浠ユ坊鍔犻渶瑕佸鍑虹被鐨?cpp .h鏂囦歡鍒癉LL涓潵錛屾垨鑰呯敤鍚戝鍒涘緩C++ Herder File/C++ Source File銆備負浜嗚兘瀵煎嚭榪欎釜綾伙紝鍦ㄧ被澹版槑鐨勬椂鍊欒鍔犫淿declspec(dllexport)鈥?濡傦細 class _declspec(dllexport) CMyClass { 聽聽聽聽 ...//澹版槑 } 濡傛灉鍒涘緩鐨凪FC鎵╁睍DLL錛屽彲浠ヤ嬌鐢ㄥ畯錛欰FX_EXT_CLASS: class AFX_EXT_CLASS CMyClass { 聽聽聽聽 ...//澹版槑 } 榪欐牱瀵煎嚭綾葷殑鏂規硶鏄渶綆鍗曠殑錛屼篃鍙互閲囩敤.def鏂囦歡瀵煎嚭錛岃繖閲屾殏涓嶈璋堛?br />2銆佸鍑哄彉閲忋佸父閲忋佸璞?br />聽聽 寰堝鏃跺欎笉闇瑕佸鍑轟竴涓被錛屽彲浠ヨDLL瀵煎嚭涓涓彉閲忋佸父閲忋佸璞★紝瀵煎嚭瀹冧滑鍙渶瑕佽繘琛岀畝鍗曠殑澹版槑錛歘declspec(dllexport) int MyInt; 聽 _declspec(dllexport) extern const COLORREF MyColor=RGB(0,0,0); 聽 _declspec(dllexport) CRect rect(10,10,20,20); 瑕佸鍑轟竴涓父閲忔椂蹇呴』浣跨敤鍏抽敭瀛梕xtern錛屽惁鍒欎細鍙戠敓榪炴帴閿欒銆?br />娉ㄦ剰錛氬鏋滃鎴風▼搴忚瘑鍒繖涓被鑰屼笖鏈夎嚜宸辯殑澶存枃浠訛紝鍒欏彧鑳藉鍑轟竴涓被瀵硅薄銆傚鏋滃湪DLL涓垱寤轟竴涓被錛屽鎴風▼搴忎笉浣跨敤澶存枃浠跺氨鏃犳硶璇嗗埆榪欎釜綾匯?br />聽 褰撳鍑轟竴涓璞℃垨鑰呭彉閲忔椂錛岃澆鍏LL鐨勬瘡涓鎴風▼搴忛兘鏈変竴涓嚜宸辯殑鎷瘋礉銆備篃灝辨槸濡傛灉涓や釜紼嬪簭浣跨敤鐨勬槸鍚屼竴涓狣LL錛屼竴涓簲鐢ㄧ▼搴忔墍鍋氱殑淇敼涓嶄細褰卞搷鍙︿竴涓簲鐢ㄧ▼搴忋?br />聽 鎴戜滑鍦ㄥ鍑虹殑鏃跺欏彧鑳藉鍑篋LL涓殑鍏ㄥ眬鍙橀噺鎴栧璞★紝鑰屼笉鑳藉鍑哄眬閮ㄧ殑鍙橀噺鍜屽璞★紝鍥犱負瀹冧滑榪囦簡浣滅敤鍩熶篃灝變笉瀛樺湪浜嗭紝閭f牱DLL灝變笉鑳芥甯稿伐浣溿傚錛?br />MyFunction() { 聽聽聽聽聽 _declspec(dllexport) int MyInt; 聽聽聽聽聽 _declspec(dllexport) CMyClass object; } 3銆佸鍑哄嚱鏁?br />瀵煎嚭鍑芥暟鍜屽鍑哄彉閲?瀵硅薄綾諱技錛屽彧瑕佹妸_declspec(dllexport)鍔犲埌鍑芥暟鍘熷瀷寮濮嬬殑浣嶇疆錛?br />_declspec(dllexport) int MyFunction(int); 濡傛灉鏄父瑙凞LL錛屽畠灝嗗拰C鍐欑殑紼嬪簭浣跨敤錛屽0鏄庢柟寮忓涓嬶細 extern "c" _declspec(dllexport) int MyFunction(int); 瀹炵幇錛?br />extern "c" _declspec(dllexport) int MyFunction(int x) { 聽聽聽聽 ...//鎿嶄綔 } 濡傛灉鍒涘緩鐨勬槸鍔ㄦ佽繛鎺ュ埌MFC浠g爜搴揇LL鐨勫父瑙凞LL錛屽垯蹇呴』鎻掑叆AFX_MANAGE_STATE浣滀負瀵煎嚭鍑芥暟鐨勯琛岋紝鍥犳瀹氫箟濡備笅錛?br />extern "c" _declspec(dllexport) int MyFunction(int x) { 聽聽聽聽 AFX_MANAGE_STATE(AfxGetStaticModuleState()); 聽聽聽聽 ...//鎿嶄綔 } 鏈夋椂鍊欎負浜嗗畨鍏ㄨ搗瑙侊紝鍦ㄦ瘡涓父瑙凞LL閲岄兘鍔犱笂錛屼篃涓嶄細鏈変換浣曢棶棰橈紝鍙槸鍦ㄩ潤鎬佽繛鎺ョ殑鏃跺欒繖涓畯鏃犳晥鑰屽凡銆傝繖鏄鍑哄嚱鏁扮殑鏂規硶錛岃浣忓彧鏈塎FC鎵╁睍DLL鎵嶈兘璁╁弬鏁板拰榪斿洖鍊間嬌鐢∕FC鐨勬暟鎹被鍨嬨?br />4銆佸鍑烘寚閽?br />瀵煎嚭鎸囬拡鐨勬柟寮忓涓嬶細 _declspec(dllexport) int *pint; _declspec(dllexport) CMyClass object = new CMyClass; 濡傛灉澹版槑鐨勬椂鍊欏悓鏃跺垵濮嬪寲浜嗘寚閽堬紝灝遍渶瑕佹壘鍒板悎閫傜殑鍦版柟綾婚噴鏀炬寚閽堛傚湪鎵╁睍DLL涓湁涓嚱鏁癉llMain()銆傦紙娉ㄦ剰鍑芥暟鍚嶄腑鐨勪袱涓猯瑕佹槸灝忓啓瀛楁瘝錛夛紝鍙互鍦ㄨ繖涓嚱鏁頒腑澶勭悊鎸囬拡錛?br /># include "MyClass.h" _declspec(dllexport) CMyClass *pobject = new CMyClass; DllMain(HINSTANCE hInstance,DWORD dwReason,LPVOID lpReserved) { 聽聽聽 if(dwReason == DLL_PROCESS_ATTACH) 聽聽聽 { 聽聽聽聽聽聽聽 .....// 聽聽聽 } 聽聽聽 else if(dwReason == DLL_PROCESS_DETACH) 聽聽聽 { 聽聽聽聽聽聽聽 delete pobject; 聽聽聽 } } 甯歌DLL鏈変竴涓粠CWinApp媧劇敓鐨勭被瀵硅薄澶勭悊DLL鐨勫紑鍜屽叧錛屽彲浠ヤ嬌鐢ㄧ被鍚戝娣誨姞InitInstance/ExitInstance鍑芥暟銆?br />int CMyDllApp::ExitInstance() { 聽聽聽 delete pobject; 聽聽聽 return CWinApp::ExitInstance(); } 涓夈佸湪瀹㈡埛紼嬪簭涓嬌鐢―LL 聽聽聽 緙栬瘧涓涓狣LL鏃跺皢鍒涘緩涓や釜鏂囦歡.dll鏂囦歡鍜?lib鏂囦歡銆傞鍏堝皢榪欎袱涓枃浠跺鍒跺埌瀹㈡埛紼嬪簭欏圭洰鐨勬枃浠跺す閲岋紝榪欓噷闇瑕佹敞鎰廌LL鍜屽鎴風▼搴忕殑鐗堟湰闂錛屽敖閲忎嬌鐢ㄧ浉鍚岀殑鐗堟湰錛岄兘浣跨敤RELEASE鎴栬呴兘鏄疍EBUG鐗堟湰銆?br />聽聽 鎺ョ潃灝遍渶瑕佸湪瀹㈡埛紼嬪簭涓緗甃IB鏂囦歡錛屾墦寮Project Settings--->Link--->Object/library Modules涓緭鍏IB鐨勬枃浠跺悕鍜岃礬寰勩傚錛欴ebug/SampleDll.lib銆傞櫎浜咲LL鍜孡IB鏂囦歡澶栵紝瀹㈡埛紼嬪簭闇瑕侀拡瀵瑰鍑虹被銆佸嚱鏁般佸璞″拰鍙橀噺鐨勫ご鏂囦歡錛岀幇鍦ㄨ繘琛屽鍏ユ坊鍔犵殑鍏抽敭瀛楀氨鏄細_declspec(dllimport)錛屽錛?br />_declspec(dllimport) int MyFunction(int); _declspec(dllimport) int MyInt; _declspec(dllimport) CMyClass object; extern "C" _declspec(dllimport) int MyFunction(int); 鍦ㄦ湁鐨勬椂鍊欎負浜嗗鍏ョ被錛岃鎶婄浉搴旂被鐨勫ご鏂囦歡娣誨姞鍒板鎴風▼搴忎腑錛屼笉鍚岀殑鏄淇敼綾誨0鏄庣殑鏍囧織錛?br />class _declspec(dllimport) CMyClass錛屽鏋滃垱寤虹殑鏄墿灞旸LL錛屼袱涓綅緗兘鏄? class AFX_EXT_CLASS CMyClass銆?br /> 浣跨敤DLL鐨勪竴涓瘮杈冧弗閲嶇殑闂灝辨槸緙栬瘧鍣ㄤ箣闂寸殑鍏煎鎬ч棶棰樸備笉鍚岀殑緙栬瘧鍣ㄥc++鍑芥暟鍦ㄤ簩榪涘埗綰у埆鐨勫疄鐜版柟寮忔槸涓嶅悓鐨勩傛墍浠ュ鍩轟簬C++鐨凞LL錛屽鏋滅紪璇戝櫒涓嶅悓灝辨湁寰堥夯鐑︾殑銆傚鏋滃垱寤虹殑鏄疢FC鎵╁睍DLL錛屽氨涓嶄細瀛樺湪闂錛屽洜涓哄畠鍙兘琚姩鎬佽繛鎺ュ埌MFC鐨勫鎴峰簲鐢ㄧ▼搴忋傝繖閲屼笉鏄湰鏂囪璁虹殑閲嶇偣銆?br /> 涓銆侀噸鏂扮紪璇戦棶棰?br />鎴戜滑鍏堟潵鐪嬩竴涓湪瀹為檯涓彲鑳介亣鍒扮殑闂錛?br />聽聽聽 姣斿鐜板湪寤虹珛濂戒簡涓涓狣LL瀵煎嚭浜咰MyClass綾伙紝瀹㈡埛涔熻兘姝e父浣跨敤榪欎釜DLL錛屽亣璁綜MyClass瀵硅薄鐨勫ぇ灝忎負30瀛楄妭銆傚鏋滄垜浠渶瑕佷慨鏀笵LL涓殑CMyClass綾伙紝璁╁畠鏈夌浉鍚岀殑鍑芥暟鍜屾垚鍛樺彉閲忥紝浣嗘槸緇欏鍔犱簡涓涓鏈夌殑鎴愬憳鍙橀噺int綾誨瀷錛岀幇鍦–MyClass瀵硅薄鐨勫ぇ灝忓氨鏄?4瀛楄妭浜嗐傚綋鐩存帴鎶婅繖涓柊鐨凞LL緇欏鎴蜂嬌鐢ㄦ浛鎹㈡帀鍘熸潵30瀛楄妭澶у皬鐨凞LL錛屽鎴峰簲鐢ㄧ▼搴忔湡鏈涚殑鏄?0瀛楄妭澶у皬鐨勫璞★紝鑰岀幇鍦ㄥ嵈鍙樻垚浜嗕竴涓?4瀛楄妭澶у皬鐨勫璞★紝緋熺硶錛屽鎴風▼搴忓嚭閿欎簡銆?br />聽聽聽 綾諱技鐨勯棶棰橈紝濡傛灉涓嶆槸瀵煎嚭CMyClass綾伙紝鑰屽湪瀵煎嚭鐨勫嚱鏁頒腑浣跨敤浜咰MyClass錛屾敼鍙樺璞$殑澶у皬浠嶇劧浼氭湁闂鐨勩傝繖涓椂鍊欎慨鏀硅繖涓棶棰樼殑鍞竴鍔炴硶灝辨槸鏇挎崲瀹㈡埛紼嬪簭涓殑CMyClass鐨勫ご鏂囦歡錛屽叏閮ㄩ噸鏂扮紪璇戞暣涓簲鐢ㄧ▼搴忥紝璁╁鎴風▼搴忎嬌鐢ㄥぇ灝忎負34瀛楄妭鐨勫璞°?br />聽聽聽 榪欏氨鏄竴涓弗閲嶇殑闂錛屾湁鐨勬椂鍊欏鏋滄病鏈夊鎴風▼搴忕殑婧愪唬鐮侊紝閭d箞鎴戜滑灝變笉鑳戒嬌鐢ㄨ繖涓柊鐨凞LL浜嗐?br /> 浜屻佽В鍐蟲柟娉暵犅? 聽涓轟簡鑳介伩鍏嶉噸鏂扮紪璇戝鎴風▼搴忥紝榪欓噷浠嬬粛涓や釜鏂規硶錛氾紙1錛変嬌鐢ㄦ帴鍙g被銆傦紙2錛変嬌鐢ㄥ垱寤哄拰閿姣佺被鐨勯潤鎬佸嚱鏁般?br />1銆佷嬌鐢ㄦ帴鍙g被 聽聽 鎺ュ彛綾葷殑涔熷氨鏄垱寤虹浜屼釜綾伙紝瀹冧綔涓鴻瀵煎嚭綾葷殑鎺ュ彛錛屾墍浠ュ湪瀵煎嚭綾繪敼鍙樻椂錛屼篃涓嶉渶瑕侀噸鏂扮紪璇戝鎴風▼搴忥紝鍥犱負鎺ュ彛綾繪病鏈夊彂鐢熷彉鍖栥?br />聽聽 鍋囪瀵煎嚭鐨凜MyClass綾繪湁涓や釜鍑芥暟FunctionA FunctionB銆傜幇鍦ㄥ垱寤轟竴涓帴鍙g被CMyInte***ce錛屼笅闈㈠氨鏄湪DLL涓殑CMyInte***ce綾葷殑澶存枃浠剁殑浠g爜錛?br /># include "MyClass.h" class _declspec(dllexport) CMyInte***ce { 聽聽聽聽 CMyClass *pmyclass; 聽聽聽聽 CMyInte***ce(); 聽聽聽聽 ~CMyInte***ce(); 聽 public: 聽聽聽聽 int FunctionA(int); 聽聽聽聽 int FunctionB(int); }; 鑰屽湪瀹㈡埛紼嬪簭涓殑澶存枃浠剁◢涓嶅悓錛屼笉闇瑕両NCLUDE璇彞錛屽洜涓哄鎴風▼搴忔病鏈夊畠鐨勬嫹璐濄傜浉鍙嶏紝浣跨敤涓涓狢MyClass鐨勫悜鍓嶅0鏄庯紝鍗充嬌娌℃湁澶存枃浠朵篃鑳界紪璇戯細 class _declspec(dllexport) CMyInte***ce { 聽聽聽聽 class CMyClass;//鍚戝墠澹版槑 聽聽聽聽 CMyClass *pmyclass; 聽聽聽聽 CMyInte***ce(); 聽聽聽聽 ~CMyInte***ce(); 聽 public: 聽聽聽聽 int FunctionA(int); 聽聽聽聽 int FunctionB(int); }; 鍦―LL涓殑CMyInte***ce鐨勫疄鐜板涓嬶細 CMyInte***ce::CMyInte***ce() { 聽聽聽聽聽 pmyclass = new CMyClass(); } CMyInte***ce::~CMyInte***ce() { 聽聽聽聽 delete pmyclass; } int CMyInte***ce::FunctionA() { 聽聽聽聽 return pmyclass->FunctionA(); } int CMyInte***ce::FunctionB() { 聽聽聽聽 return pmyclass->FunctionB();聽聽聽 } ..... 瀵瑰鍑虹被CMyClass鐨勬瘡涓垚鍛樺嚱鏁幫紝CMyInte***ce綾婚兘鎻愪緵鑷繁鐨勫搴旂殑鍑芥暟銆傚鎴風▼搴忎笌CMyClass娌℃湁鑱旂郴錛岃繖鏍蜂換鎰忔敼CMyClass涔熶笉浼氭湁闂錛屽洜涓篊MyInte***ce綾葷殑澶у皬娌℃湁鍙戠敓鍙樺寲銆傚嵆浣夸負浜嗚兘璁塊棶CMyClass涓殑鏂板鍙橀噺鑰岀粰CMyInte***ce綾誨姞浜嗗嚱鏁頒篃涓嶄細鏈夐棶棰樼殑銆?br />聽聽 浣嗘槸榪欑鏂規硶涔熷瓨鍦ㄦ槑鏄劇殑闂錛屽瀵煎嚭綾葷殑姣忎釜鍑芥暟鍜屾垚鍛樺彉閲忛兘瑕佸搴斿疄鐜幫紝鏈夌殑鏃跺欒繖涓帴鍙g被浼氬緢搴炲ぇ銆傚悓鏃跺鍔犱簡瀹㈡埛紼嬪簭璋冪敤鎵闇瑕佺殑鏃墮棿銆傚鍔犱簡紼嬪簭鐨勫紑閿銆?br /> 2銆佷嬌鐢ㄩ潤鎬佸嚱鏁?br />聽聽 榪樺彲浠ヤ嬌鐢ㄩ潤鎬佸嚱鏁版潵鍒涘緩鍜岄攢姣佺被瀵硅薄銆傚垱寤轟竴涓鍑虹被鐨勬椂鍊欙紝澧炲姞涓や釜闈欐佺殑鍏湁鍑芥暟CreateMe()/DestroyMe()錛屽ご鏂囦歡濡備笅錛?br />class _declspec(dllexport) CMyClass { 聽聽聽聽 CMyClass(); 聽聽聽聽 ~CMyClass(); 聽 public: 聽聽聽聽 static CMyClass *CreateMe(); 聽聽聽聽 static void DestroyMe(CMyClass *ptr); }; 瀹炵幇鍑芥暟灝辨槸錛?br />CMyClass * CMyClass::CMyClass() { 聽聽聽聽聽 return new CMyClass; } void CMyClass::DestroyMe(CMyClass *ptr) { 聽聽聽聽聽 delete ptr; } 鐒跺悗璞″叾浠栫被涓鏍峰鍑篊MyClass綾伙紝榪欎釜鏃跺欏湪瀹㈡埛紼嬪簭涓嬌鐢ㄨ繖涓被鐨勬柟娉曠◢鏈変笉鍚屼簡銆傚鑻ユ兂鍒涘緩涓涓狢MyClass瀵硅薄錛屽氨搴旇鏄細 CMyClass x; CMyClass *ptr = CMyClass::CreateMe(); 鍦ㄤ嬌鐢ㄥ畬鍚庡垹闄わ細 CMyClass::DestroyMe(ptr); ]]>
久久综合九色综合欧美就去吻 |
久久91精品综合国产首页 |
久久亚洲2019中文字幕 |
伊人久久国产免费观看视频
|
无码8090精品久久一区 |
久久狠狠爱亚洲综合影院 |
精品永久久福利一区二区 |
99久久精品免费看国产 |
精品综合久久久久久97 |
久久国产一区二区 |
久久午夜夜伦鲁鲁片免费无码影视
|
国产精品一久久香蕉国产线看 |
久久精品成人免费看 |
久久婷婷人人澡人人爽人人爱 |
久久噜噜电影你懂的 |
久久人人爽人人爽人人片av麻烦 |
热re99久久精品国产99热 |
久久精品国产亚洲αv忘忧草 |
一级做a爰片久久毛片人呢 |
香蕉久久夜色精品升级完成 |
久久精品国产一区二区三区不卡 |
国内精品伊人久久久久AV影院 |
久久久久亚洲AV无码去区首 |
精品午夜久久福利大片 |
无码人妻久久久一区二区三区
|
亚洲精品国产成人99久久 |
久久国产色AV免费看 |
久久天天躁狠狠躁夜夜不卡
|
久久综合久久综合亚洲 |
久久精品国产免费 |
精品久久久噜噜噜久久久
|
婷婷久久综合九色综合九七 |
777久久精品一区二区三区无码 |
精品无码久久久久久午夜 |
亚洲第一极品精品无码久久 |
亚洲AV伊人久久青青草原 |
久久91精品国产91 |
无码人妻久久一区二区三区蜜桃 |
亚洲午夜无码久久久久小说 |
日本WV一本一道久久香蕉 |
久久无码高潮喷水 |