锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美日韩和欧美的一区二区,一区二区三区视频在线看,国产欧美精品一区二区三区介绍
http://www.shnenglu.com/vczh/category/7351.html銆怮Q錛?43056143錛?04254078銆戙怣SN錛歷czh@hotmail.com銆戙怑mail錛歷czh@163.com銆戙愭柊嫻井鍗氾細http://weibo.com/vczh銆?/description>zh-cn Tue, 06 Nov 2012 02:02:09 GMT Tue, 06 Nov 2012 02:02:09 GMT 60 涓涓湪GacUI涓婄洿鎺ヤ嬌鐢℅DI鎴栬匘irect2D榪涜緇樺浘鎿嶄綔鐨勫皬demo http://www.shnenglu.com/vczh/archive/2012/11/05/194696.html闄堟鐎?vczh) 闄堟鐎?vczh) Mon, 05 Nov 2012 15:14:00 GMT http://www.shnenglu.com/vczh/archive/2012/11/05/194696.html http://www.shnenglu.com/vczh/comments/194696.html http://www.shnenglu.com/vczh/archive/2012/11/05/194696.html#Feedback 1 http://www.shnenglu.com/vczh/comments/commentRss/194696.html http://www.shnenglu.com/vczh/services/trackbacks/194696.html 鐢變簬鎺ヤ笅鍘昏鐢?/span> uniscribe 錛堣繖鏄竴涓彲浠ュ憡璇夋垜浠湪娓叉煋涓涓秴闀縰nicode瀛楃涓茬殑鏃跺欙紝浠涔堝湴鏂瑰彲浠ユ崲琛岋紝浠涔堝湴鏂硅鎹㈤『搴忥紝浠涔堝瓧絎﹁鐢ㄤ竴縐嶇濂囩殑鏂規硶鏉ユ覆鏌撲箣綾葷殑搴擄級鍋氬彲浠ユ彃鍏ュ浘鐗囧拰鍏跺畠涔變竷鍏碂涓滆タ鐨剅ich text box錛屼負浜嗘洿鏂逛究鍋氬疄楠岋紝鑰屼笖涔熻冭檻鍒板緢澶氳蔣浠朵篃闇瑕佺洿鎺ョ粯鍥劇殑鍔熻兘錛屾墍浠ユ垜鍐欎簡榪欎箞涓や釜Demo錛?/span>
1銆丷endering.RawAPI.GDI錛?/span> http://www.gaclib.net/Demos/Rendering.RawAPI.GDI/Demo.html 錛?/span>2銆丷endering.RawAPI.Direct2D錛?/span> http://www.gaclib.net/Demos/Rendering.RawAPI.Direct2D/Demo.html 錛?/span>
鐢變簬榪欎袱涓狣emo寰堝儚錛岃屼笖Direct2D鐨勬瘮杈冨鏉傦紝鎵浠ユ垜鍦ㄨ繖閲屼粙緇嶄竴涓嬭繖涓狣irect2D鐨刣emo銆?/span>
鍦―emo閲岄潰鍙互鐪嬪埌錛屾垜浠彲浠ヤ嬌鐢℅uiGDIElement鎴栬匞uiDirect2DElement鏉ヨ繘琛屾墜宸ョ殑緇樺浘鎿嶄綔銆傝繖涓や釜Element鐨勪嬌鐢ㄦ湁闄愬埗銆傚綋GacUI浣跨敤GDI緇樺浘錛圫etupWindowsGDIRenderer錛夌殑鏃跺欐墠鍙互浣跨敤GuiGDIElement錛屽浜嶥irect2D涔熸槸涓鏍風殑銆傚湪浣跨敤瀹冧滑榪涜緇樺浘鐨勬椂鍊欙紝鍧愭爣鐢ㄧ殑鏄獥鍙g殑鍧愭爣銆備絾鏄疓acUI浼氬湪緇樺埗鐨勬椂鍊欏厛鍔犲叆涓涓猚lip錛岃繖鏍鋒垜浠湪緇樺埗鐨勬椂鍊欏氨綆楃粯鍒跺嚭浜嗚竟鐣岋紝涔熶笉浼氭湁浠諱綍涓嶅ソ鐨勫獎鍝嶃傝屼笖榪欎釜clip鐨勭煩褰㈣寖鍥翠細鍦ㄦ覆鏌撲簨浠惰Е鍙戠殑鏃跺欑粰鍑恒傚湪榪欓噷鎴戜滑鍏堟潵鐪嬩竴涓婦irect2D鐨刣emo銆?/span>
棣栧厛錛屾暣涓▼搴忕殑妗嗘灦鏄繖鏍峰瓙鐨勶細
#include "..\..\Public\Source\GacUI.h" #include <math.h> #include <Windows.h>
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int CmdShow) { // SetupWindowsDirect2DRenderer() is required for GuiDirect2DElement return SetupWindowsDirect2DRenderer(); }
class Direct2DWindow : public GuiWindow { protected:
// arguments.rt is ID2D1RenderTarget. void element_Rendering(GuiGraphicsComposition* sender, GuiDirect2DElementEventArgs& arguments) { }
// The render target is going to be destroyed, any binded resources should be released. void element_BeforeRenderTargetChanged(GuiGraphicsComposition* sender, GuiDirect2DElementEventArgs& arguments) { }
// The new render target is prepared, any binded resources are allowed to recreate now. void element_AfterRenderTargetChanged(GuiGraphicsComposition* sender, GuiDirect2DElementEventArgs& arguments) { } public: Direct2DWindow() :GuiWindow(GetCurrentTheme()->CreateWindowStyle()) { SetText(L"Rendering.RawAPI.Direct2D"); SetClientSize(Size(640, 480)); GetBoundsComposition()->SetPreferredMinSize(Size(640, 480)); MoveToScreenCenter(); { GuiDirect2DElement* element=GuiDirect2DElement::Create(); element->Rendering.AttachMethod(this, &Direct2DWindow::element_Rendering); element->BeforeRenderTargetChanged.AttachMethod(this, &Direct2DWindow::element_BeforeRenderTargetChanged); element->AfterRenderTargetChanged.AttachMethod(this, &Direct2DWindow::element_AfterRenderTargetChanged);
GuiBoundsComposition* composition=new GuiBoundsComposition; composition->SetAlignmentToParent(Margin(0, 0, 0, 0)); composition->SetOwnedElement(element); GetContainerComposition()->AddChild(composition); } } };
void GuiMain() { Direct2DWindow window; GetApplication()->Run(&window); }
鍦ㄦ瀯閫犲嚱鏁伴噷闈紝鎴戜滑鍒涘緩浜嗕竴涓狦uiDirect2DElement錛岀劧鍚庢妸瀹冩斁榪涗竴涓細鑷姩鍏呮弧鏁翠釜紿楀彛鐨刢omposition閲岄潰銆傜劧鍚庢垜浠渶瑕佺洃鍚笁涓簨浠訛紙GDI鍙湁涓涓紝灝辨槸Rendering錛夛細 1銆丷endering銆傝繖涓簨浠跺湪紿楀彛琚粯鍒剁殑鏃跺欒皟鐢ㄣ侴acUI鎵嶇敤浜嗕竴涓綆鍔熻楃殑鏂規硶璁╃▼搴忎笉鏂殑緇樺埗鑷繁錛屾墍浠ユ垜浠茍涓嶉渶瑕佹媴蹇?#8220;濡備綍鍒鋒柊紿楀彛”鐨勮繖涓棶棰樸?br />2銆丅eforeRenderTargetChanged銆傚湪榪欎釜鏃跺欐垜浠娓呯悊鎺夋垜浠垱寤哄嚭鏉ョ殑璧勬簮錛岃濡傝鐢誨埛絳夌瓑銆?br />3銆丄fterRenderTargetChanged銆傚湪榪欎釜鏃跺欐垜浠寤虹珛涓浜涚粯鍥捐祫婧愶紝璀璇寸敾鍒風瓑絳夈?/font>
涓轟粈涔堜笅闈袱涓嚱鏁伴偅涔堣泲鐤煎憿錛熷洜涓篋irect2D鐨勭被浼肩敾鍒瘋繖鏍風殑涓滆タ錛屾槸蹇呴』璺熶竴涓狪D2D1RenderTarget緇戝畾鍦ㄤ竴璧風殑錛屼笉鍚岀殑render target涔嬮棿鐨勭敾鍒蜂笉鑳藉叡浜傝屼笖閭d釜鍙滅殑render target榪樻湁鍙兘浼氬け鏁堬紝榪欎釜鏃跺橤acUI灝辮閲嶆柊鍒涘緩浠栦滑銆傛墍浠ユ棤璁哄浣曪紝閮藉繀欏葷洃鍚繖涓変釜瀵硅薄錛岄櫎闈炴垜浠彧鐢℅uiDirect2DElement鏉ユ覆鏌撴枃瀛楋紙鍥犱負鏂囧瓧鐩稿叧鐨勮祫婧愭槸IDWriteFactory鎺у埗鐨勶紝璺焤ender target鏃犲叧錛夈?/font>
鍦ㄨ繖涓狣emo閲岄潰錛屾垜浠鐢葷殑鏄竴涓細鍔ㄧ殑閽熴傚湪榪欎釜閽熼噷闈㈡垜浠緇樺埗4縐嶇嚎褰細杈規銆佹椂閽堛佸垎閽堛佺閽堛傚洜姝ゆ垜浠渶瑕?涓笉鍚岀殑ID2D1SolidColorBrush銆傜敱浜庢搷浣淐OM瀵硅薄鐨勬椂鍊欐昏鍘昏寰楁搷浣滈偅涓紩鐢ㄨ鏁幫紝鐗瑰埆鐨勯夯鐑︼紝鑰屼笖榪樺鏄撳繕鎺夈傛墍浠ユ垜鐗瑰湴涓哄ぇ瀹舵彁渚涗簡涓涓彨鍋欳omPtr鐨勪笢瑗褲傛墍浠ユ垜浠氨鍙互榪欎箞澹版槑銆佸垱寤哄拰閲婃斁浠栦滑錛?/font>
ComPtr<ID2D1SolidColorBrush> borderBrush; ComPtr<ID2D1SolidColorBrush> secondBrush; ComPtr<ID2D1SolidColorBrush> minuteBrush; ComPtr<ID2D1SolidColorBrush> hourBrush; // The render target is going to be destroyed, any binded resources should be released. void element_BeforeRenderTargetChanged(GuiGraphicsComposition* sender, GuiDirect2DElementEventArgs& arguments) { borderBrush=0; secondBrush=0; minuteBrush=0; hourBrush=0; }
// The new render target is prepared, any binded resources are allowed to recreate now. void element_AfterRenderTargetChanged(GuiGraphicsComposition* sender, GuiDirect2DElementEventArgs& arguments) { ID2D1SolidColorBrush* brush; { brush=0; arguments.rt->CreateSolidColorBrush(D2D1::ColorF(0.0f, 0.0f, 0.0f), D2D1::BrushProperties(), &brush); borderBrush=brush; } { brush=0; arguments.rt->CreateSolidColorBrush(D2D1::ColorF(0.0f, 0.0f, 1.0f), D2D1::BrushProperties(), &brush); secondBrush=brush; } { brush=0; arguments.rt->CreateSolidColorBrush(D2D1::ColorF(0.0f, 1.0f, 0.0f), D2D1::BrushProperties(), &brush); minuteBrush=brush; } { brush=0; arguments.rt->CreateSolidColorBrush(D2D1::ColorF(1.0f, 0.0f, 0.0f), D2D1::BrushProperties(), &brush); hourBrush=brush; } }
鎯沖繀澶у閮藉簲璇ョ湅娓呮浜嗐侭efore鍜孉fter浜嬩歡閲岄潰錛孏acUI閮戒細鎻愪緵鐢ㄦ潵緇樺浘鐨処D2D1RenderTarget錛岃繖涓椂鍊欏繀欏繪紜殑鍒涘緩鍜岄噴鏀捐祫婧愩傚彧瑕佽繖浜涜祫婧愰兘寤虹珛浜嗚搗鏉ワ紝閭d箞鍓╀笅鐨勫氨鍙湁鎶婁竴涓椂閽熺敾鍑烘潵浜嗐傜敾涓涓椂閽熻繕鏄緢瀹規槗鐨勶紝鍙渶瑕侀偅涔堝嚑琛屼唬鐮佸氨琛屼簡錛?/font>
static const int Radius=200; static const int LongScale=10; static const int ShortScale=5; static const int SecondLength=180; static const int MinuteLength=150; static const int HourLength=120;
float GetAngle(float second) { return (second-15.0f)*3.1416f/30.0f; }
void DrawLine(ID2D1RenderTarget* rt, ComPtr<ID2D1SolidColorBrush> brush, float angle, int width, int startLength, int endLength, int x, int y) { float s=sin(angle); float c=cos(angle); float x1=(c*startLength)+(float)(x+Radius); float y1=(s*startLength)+(float)(y+Radius); float x2=(c*endLength)+(float)(x+Radius); float y2=(s*endLength)+(float)(y+Radius); rt->DrawLine(D2D1::Point2F(x1, y1), D2D1::Point2F(x2, y2), brush.Obj(), (float)width); }
// arguments.rt is ID2D1RenderTarget. void element_Rendering(GuiGraphicsComposition* sender, GuiDirect2DElementEventArgs& arguments) { int w=arguments.bounds.Width(); int h=arguments.bounds.Height(); int x=arguments.bounds.Left()+(w-Radius*2)/2; int y=arguments.bounds.Left()+(h-Radius*2)/2;
arguments.rt->DrawEllipse(D2D1::Ellipse(D2D1::Point2F((float)(x+Radius), (float)(y+Radius)), (float)Radius, (float)Radius), borderBrush.Obj()); for(int i=0;i<60;i++) { int scale=i%5==0?LongScale:ShortScale; float angle=GetAngle((float)i); DrawLine(arguments.rt, borderBrush, angle, 1, Radius-scale, Radius, x, y); }
DateTime dt=DateTime::LocalTime(); { float angle=GetAngle(dt.hour*5+dt.minute/12.0f+dt.second/720.0f); DrawLine(arguments.rt, hourBrush, angle, 5, 0, HourLength, x, y); } { float angle=GetAngle(dt.minute+dt.second/60.0f); DrawLine(arguments.rt, minuteBrush, angle, 3, 0, MinuteLength, x, y); } { float angle=GetAngle((float)dt.second); DrawLine(arguments.rt, secondBrush, angle, 1, 0, SecondLength, x, y); } }
鐒跺悗鎴戜滑灝辮幏寰椾簡涓嬪浘錛氾紙LiveWrite鐪熸槸澶ソ浜嗭紝cppblog鐨勫偦閫肩紪杈戝櫒姣忔鎻掑叆鍥劇墖閮戒細鎻掑叆鍒頒竴涓寮傜殑浣嶇疆涓幓錛?/font>
榪欐牱鎴戜滑灝卞畬鎴愪簡涓涓椂閽熺殑鍒朵綔浜嗭紝鑰屼笖涔熷浼氫簡濡備綍鍦℅acUI閲岄潰鐩存帴浣跨敤GDI鍜孌irect2D緇樺浘浜嗐?/font>
]]>鍋跺皵鍙戝竷涓涓嬪急鏅虹煡璇嗏斺斿浣曠敤Direct2D嫻嬮噺鏂囧瓧澶у皬 http://www.shnenglu.com/vczh/archive/2011/10/11/158090.html闄堟鐎?vczh) 闄堟鐎?vczh) Tue, 11 Oct 2011 15:42:00 GMT http://www.shnenglu.com/vczh/archive/2011/10/11/158090.html http://www.shnenglu.com/vczh/comments/158090.html http://www.shnenglu.com/vczh/archive/2011/10/11/158090.html#Feedback 9 http://www.shnenglu.com/vczh/comments/commentRss/158090.html http://www.shnenglu.com/vczh/services/trackbacks/158090.html 涔嬪墠涓杈瑰仛鑴氭湰寮曟搸錛屼竴杈瑰北瀵ㄤ竴涓嚜緇樼殑native C++鐨凣UI妗嗘灦騫朵笖鍙互鍒囨崲GDI鎴栬匘irect2D娓叉煋妯″紡銆傚洜涓烘妱浜哤PF鐨勯偅縐嶉珮綰ц嚜鍔ㄥ竷灞鍔熻兘錛屾墍浠ュ繀鐒墮渶瑕佺煡閬撳浣曟祴閲忔枃瀛楀ぇ灝忋侱irect2D嫻嬮噺鏂囧瓧澶у皬姣旇緝楹葷儲錛屼笉鍍廏DI鏈夌洿鎺ュ嚱鏁幫紝騫朵笖鐢ㄤ腑鑻辨枃鎼滃ソ鍍忛兘娌′漢鐩存帴緇欏嚭緇撴灉錛岃繕鏈変漢鍦ㄥ崥瀹笂鍐?#8220;榪欑浜嬫儏濂藉儚鍔炰笉鍒?#8221;榪欐牱鐨勬枃瀛椼備笉榪囩粡榪囨垜閬嶅巻MSDN錛岃繕鏄壘鍒頒簡涓涓洸綰挎晳鍥界殑鏂規硶鐨勶紝鐩存帴涓婁唬鐮侊細 棣栧厛鏄垱寤篒DWriteTextFormat:
1 IDWriteFactory * dwriteFactory = GetDirectWriteFactory(); 2 IDWriteTextFormat * format = 0 ; 3 HRESULT hr = dwriteFactory -> CreateTextFormat( 4 fontProperties.fontFamily.Buffer(), 5 NULL, 6 (fontProperties.bold ? DWRITE_FONT_WEIGHT_BOLD:DWRITE_FONT_WEIGHT_NORMAL), 7 (fontProperties.italic ? DWRITE_FONT_STYLE_ITALIC:DWRITE_FONT_STYLE_NORMAL), 8 DWRITE_FONT_STRETCH_NORMAL, 9 (FLOAT)fontProperties.size, 10 L "" , 11 & format); 12 if ( ! FAILED(hr)) 13 { 14 format -> SetWordWrapping(DWRITE_WORD_WRAPPING_NO_WRAP); 15 return format; 16 } 17 else 18 { 19 return 0 ; 20 }
fontProperties鏄垜鑷畾涔夌殑涓涓粨鏋勫氨涓嶇敤鍘葷瀹冧簡錛屽弬鑰僊SDN灝辯煡閬揅reateTextFormat濡備綍浣跨敤浜嗐傚叾涓璮ontProperties.fontFamily鏄瓧浣撶殑鍚嶅瓧銆傜劧鍚嶪DWriteTextFormat灝辨壆婕旂潃GDI鐨?#8220;瀛椾綋瀵硅薄”鐨勮鑹詫紝鍙互鐢↖D2D1RenderTarget榪涜緇樺埗銆侷D2D1RenderTarget闄や簡鐢↖DWriteTextFormat褰撳瓧浣撲互澶栵紝榪樺彲浠ョ敤IDWriteTextLayout褰?#8220;娣誨姞澶氫綑淇℃伅鐨勬洿澶嶆潅鐨勫瓧浣?#8221;銆傛祴閲忔枃瀛楃殑鍏抽敭姝f槸鍦ㄨ繖閲屻?br /> 鎺ヤ笅鏉ユ垜浠熷姪IDWriteTextFormat鏉ュ垱寤篒DWriteTextLayout錛?/p>
1 IDWriteTextLayout * textLayout = 0 ; 2 HRESULT hr = GetDirectWriteFactory() -> CreateTextLayout( 3 oldText.Buffer(), 4 oldText.Length(), 5 textFormat, 6 0 , 7 0 , 8 & textLayout); 9 if ( ! FAILED(hr)) 10 { 11 DWRITE_TEXT_METRICS metrics; 12 hr = textLayout -> GetMetrics( & metrics); 13 if ( ! FAILED(hr)) 14 { 15 minSize = Size(( int )ceil(metrics.widthIncludingTrailingWhitespace), ( int )ceil(metrics.height)); 16 } 17 textLayout -> Release(); 18 return ; 19 }
榪欓噷鐪媘inSize灝辯煡閬撳浣曟祴閲忔枃瀛楃殑瀛椾綋浜嗐?br /> 鍦ㄨ繖閲屾斁涓寮犳殏鏃剁殑鍥劇墖銆傛垜鎶勪簡WPF鐨勯偅縐嶆柟娉曪紝浠庡竷灞鍜岀粯鍥懼厓绱犵洿鎺ュ紑濮嬪彲浠ユ瀯閫燝UI錛屽洜姝ゆ紨紺轟簡濡備綍浣跨敤榪欎簺涓滆タ鏉ュ垱閫犱竴涓猈in7鐨勬寜閽紙甯﹀姩鐢葷殑鍝︼級鎵撳紑Vczh Library++3.0 錛屼笅杞戒唬鐮佸茍鎵撳紑Candidate\GUI\GuiDemo\GuiDemo.sln錛屾寜F5灝卞彲浠ョ湅鍒頒簡鏁堟灉浜嗭細 榪欎竴涓槸Direct2D娓叉煋鐨勭粨鏋滐紙鎴戝湪宸ョ▼鏂囦歡鎸囧畾浜咲XSDK鐨勭粷瀵硅礬寰勶紝濡傛灉浣犱滑瀹夎鐨勫湴鏂逛笉鍚屾敼鎺夊畠鏃㈠彲緙栬瘧浜嗭級銆傛寜閽熀鏈笂璺焪in7鐨勬晥鏋滀竴鎽鎬竴鏍鳳紝浣嗘槸榪欓噷浣跨敤Direct2D榪涜娓叉煋銆傚綋鎸夐挳灝哄鍙樺寲鐨勬椂鍊欙紝閭d釜澶嶆潅鐨勮竟妗嗗拰閲岄潰鐨勪袱涓笎鍙樺拰鏂囧瓧閮藉彲浠ヨ嚜鍔ㄥ榻?#8212;—浣嗘槸榪欏茍涓嶆槸hard code鐨勶紝鑰屾槸GUI鐨?#8220;甯冨眬鍔熻兘”鍙互閰嶇疆鎴愯繖涓牱瀛愩傚儚榪欎袱涓寜閽竴鐩村浜庡彸涓嬭涔熸槸“甯冨眬鍔熻兘”鍙互鎻愪緵鐨勫姛鑳姐傚ぇ瀹跺彲浠ョ悊瑙d負榪欎笢瑗跨被浼間簬C#鐨凾ableLayoutPanel銆?br /> 鐜板湪鍒氬垰鍋氬ソ浜嗘寜閽?#8212;—璺焀PF涓鏍峰彲浠ユ洿鎹emplate錛屼笉榪囧洜涓哄弽姝f病浜洪渶瑕佸姩鎬佹洿鎹emplate鎵浠ユ垜鎶妕emplate鍐欏湪浜嗘瀯閫犲嚱鏁伴噷闈紝鍥犳鎹㈣偆榪欑浜嬫儏灝卞彉寰楃浉褰撶畝鍗曚簡——鍙鐢ㄥ竷灞鍔熻兘璺熷浘鍏冩嫾鍑戞垚涓涓鏉傜殑鍥懼艦錛岀劧鍚庡疄鐜板悇涓帶浠舵墍瑙勫畾鐨?#8220;template鎺ュ彛”鍝嶅簲澶栬鎺у埗鐨勬秷鎭氨琛屼簡錛屽唴緗姩鐢繪敮鎸侊紙榪欎釜瑕佽繍琛岀殑鏃跺欐墠鑳借瀵熷埌錛夈?br /> 涓轟簡鏂逛究錛屾垜鍦ㄥ伐紼嬮噷闈㈤櫎浜咲ebug鍜孯elease浠ュ榪樺姞鍏ヤ簡DebugDirect2D鍜孯eleaseDirect2D涓や釜閰嶇疆錛屽彲浠ヨ嚜鐢卞垏鎹㈣鐪媎emo銆?br />
]]> GUI鐪烼AMA闅懼仛鍟?/title> http://www.shnenglu.com/vczh/archive/2011/04/30/145380.html闄堟鐎?vczh) 闄堟鐎?vczh) Sat, 30 Apr 2011 03:50:00 GMT http://www.shnenglu.com/vczh/archive/2011/04/30/145380.html http://www.shnenglu.com/vczh/comments/145380.html http://www.shnenglu.com/vczh/archive/2011/04/30/145380.html#Feedback 13 http://www.shnenglu.com/vczh/comments/commentRss/145380.html http://www.shnenglu.com/vczh/services/trackbacks/145380.html 鎾掞紝鎵浠ヤ粖澶╁氨杞埌GUI浜嗐傛垜涓鐩村緢鎯沖仛鍑轟竴涓嚜緇樼殑GUI鍑烘潵錛屾棤濂堜竴鐩磋璁′笉鍑轟竴涓ソ鐨勬灦鏋勩傚悗鏉ュ皾璇曠敤鍘熺敓API錛屼絾鏄嵈鍙堝緢涓嶅枩嬈FC鐨勮璁★紝灝卞皾璇曡嚜宸辯収鐫.NET Framework鍜孌elphi閭eVCL鐨勬牱瀛?a style="TEXT-DECORATION: underline" href="http://www.shnenglu.com/vczh/archive/2008/08/25/59954.html" target=_blank>灝佽浜嗕竴涓帶浠跺簱鍑烘潵銆傛棤濂堝師鐢烝PI緇嗚妭鏃犳晫澶氾紝鍚庢潵娌″仛鎶婃墍鏈夌殑鍔熻兘閮藉叏閮ㄥ仛瀹屻傚洜姝ゅ悗鏉ヤ竴孌墊椂闂村嚒鏄渶瑕佺晫闈㈡垜閮界洿鎺ョ敤C#鍋氥傜劧鍚嶤EGUI鍑轟簡錛學PF鍜孲ilverlight涔熷嚭浜嗭紝鎴戝彂鐜板浠婅鍋氫竴涓紓浜殑GUI闈炶嚜緇樺凡緇忓仛涓嶅埌浜嗭紝鎵浠ユ垜鍙堝仛浜嗕竴嬈″皾璇曘?br> 鍘誨勾鍦ㄧ編甯濈殑鏃跺欐浘緇忚瘯鍥懼啀璁捐涓嬈★紝寰楀埌浜嗕竴浜涚粨鏋溿傚悗鏉ユ垜鍙戠幇鍏跺疄鏍規湰娌″姙娉曚負GDI銆丏irectX銆丱penGL鍜屽叾瀹冪粯鍥捐澶囨娊璞′竴涓叕鐢ㄧ殑鎺ュ彛錛屽惁鍒欏氨浼氶伃閬囧ぇ閲忔ц兘闂銆傚洜涓哄湪寰堝緇嗚妭涓婏紝璀璇存覆鏌撴枃瀛楋紝涓轟簡杈懼埌杈冮珮鐨勬ц兘錛孫penGL鍜孌irectX闇瑕佷嬌鐢ㄥ嚑涔庣浉鍙嶇殑絳栫暐鏉ュ仛銆傚洜姝よ繖嬈℃垜鍙堟崲浜嗕竴涓柟娉曪紝鑰屼笖鍦?a style="TEXT-DECORATION: underline" target=_blank>Vczh Library++ 3.0鐨凜andidate鐩綍涓嬪凡緇廲heckin浜嗕竴涓瘯楠屽搧銆?br> 鎴戞妸涓涓嚜緇樼殑GUI鍒嗘垚浜嗕笅闈㈣嫢騫蹭釜灞傛銆?br> 1銆丯ativeWindow銆侼ativeWindow琛ㄧず鐨勬槸涓涓《灞傜獥鍙g殑瀹炵幇銆傝濡傝鎴戜滑鎯崇敤Windows鐨勭獥鍙d綔涓鴻嚜緇樼獥鍙g殑欏跺眰紿楀彛錛堟父鎴忛噷闈㈢殑寰堝欏跺眰紿楀彛鏄粯鍒跺湪娓告垙紿楀彛閲岄潰鐨勶紝鎵浠ラ《灞傜獥鍙e茍涓嶄竴瀹氭槸Windows鐨勭獥鍙o級銆?br> 2銆佹帶浠跺簱銆傛帶浠跺簱鍖呭惈浜嗚繖涓嚜緇楪UI搴撶殑鎵鏈夐瀹氫箟鎺т歡銆傛帶浠舵湰韜寘鍚鐢ㄦ埛杈撳叆鐨勭浉搴旈昏緫錛屼絾鏄瘡涓涓帶浠剁殑緇樺埗浠ュ強榧犳爣鐐逛腑嫻嬭瘯涓嶅湪姝よ寖鍥村唴銆?br> 3銆佹帶浠剁毊鑲ゆ帴鍙c傛瘡涓涓渶緇堟帶浠墮兘浼氭嫢鏈変竴涓帶浠剁毊鑲ゆ帴鍙c傛瘡褰撴帶浠剁殑鐘舵佸彂鐢熶簡鍙樺寲錛屾帶浠朵細璋冪敤鐨偆鎺ュ彛鏇存柊鎺т歡鐨勫綋鍓嶇姸鎬併傛瘡褰撴帶浠墮渶瑕佺煡閬撴煇涓涓偣鏄惁浣嶄簬涓涓帶浠墮噷闈㈢殑鏃跺欙紝浠栦篃浼氬幓璋冪敤璇ユ帶浠剁殑鐨偆鑾峰緱緇撴灉銆傚洜姝ゆ帶浠剁毊鑲ゆ帴鍙e寘鍚簡涓鍒囧叧浜庣粯鍒訛紙鍥犳鐞嗘墍褰撶劧涔熷氨鍖呭惈浜嗙偣涓祴璇曪級鐨勯昏緫銆?br> 涓轟簡杈懼埌鏈楂樼殑鎬ц兘錛屼竴濂楃毊鑲ょ殑瀹炵幇鍙兘緇戝畾鍦ㄦ煇縐嶇粯鍥捐澶囦笂錛屼篃灝辨槸璇寸己鐪佺姸鎬佷笅涓濂椾負GDI璁懼璁捐鍑烘潵鐨勭毊鑲ゆ槸涓嶈兘鐩存帴浣跨敤鍦―irectX璁懼涓婇潰鐨勩傚綋鐒舵垜榪欎釜妗嗘灦鐨勮璁′篃鏄凍澶熷紑鏀劇殑錛屽鏋滀綘闈炲緱鐢ㄥ悓涓濂椾唬鐮佹潵瀹炵幇涓嶅悓緇樺浘璁懼涓婄殑鐨偆錛岄偅涔堜綘鏄彲浠ヨ嚜宸卞姩鎵嬩赴琛h凍椋燂紝鍋氬埌緇橤DI鍜孌irectX璁捐涓涓叕鍏辨帴鍙e茍鎻掑叆鎴戠殑GUI妗嗘灦鐨勶紙鍙笉榪囪繖縐嶅仛娉曚竴鑸儏鍐典笅閮戒細鎯ㄦ錛夈?br> 閭d箞濡備綍娣誨姞緇樺浘璁懼鍛紵鐩墠NativeWindow鏈変竴涓熀浜嶹indows紿楀彛鐨勫疄鐜幫紝騫朵笖NativeWindow鐨勬帴鍙h姹傝瀹炵幇鍦ㄥ垱寤恒侀攢姣併佹帴鏀跺埌寰堝紿楀彛浜嬩歡鐨勬椂鍊欓兘璋冪敤鏌愪竴涓洖璋冨璞°傛垜浠彲浠ラ氳繃娉ㄥ唽涓涓叏灞鍥炶皟瀵硅薄鎴栬呭叿浣撶獥鍙g殑鍥炶皟瀵硅薄鏉ヨ幏寰桸ativeWindow鐘舵佺殑鍙樻洿銆傚熀浜嶹indows紿楀彛鐨凬ativeWindow瀹炵幇榪樻彁渚涗簡涓涓澶栧嚱鏁幫紝鍙互璁╀綘鑾峰緱涓涓狽ativeWindow鐨凥WND錛堜絾榪欎釜鍑芥暟騫朵笉琚帶浠跺簱渚濊禆錛夈傜幇鍦ㄦ垜榪樺疄鐜頒簡涓涓熀浜嶩WND+HDC鐨勭粯鍥捐澶囷紝涓昏鏂規硶灝辨槸鍏堟敞鍐屽叏灞鍥炶皟瀵硅薄錛屾瘡褰撶煡閬撲竴涓狽ativeWindow琚垱寤轟簡錛屾垜灝變細娉ㄥ唽涓涓狽ativeWindow鐨勫洖璋冨璞★紝鐢ㄦ潵緇存姢涓涓獥鍙i噷闈㈢殑涓鍧?2浣岲IBSections浣嶅浘緙撳啿鍖恒傜獥鍙g殑澶у皬濡傛灉鍙樺寲浜嗭紝鎴戜篃浼氬湪閫傚綋鐨勬椂鍊欓噸鏂板垱寤轟竴鍧楀悎閫傜殑緙撳啿鍖恒備笉榪囦負浜嗛伩鍏嶆瘡涓嬈″ぇ灝忓彉鍖栭兘浼氬垱寤烘柊鐨勭紦鍐插尯錛屾垜鍒涘緩鐨勭紦鍐插尯鐨勫ぇ灝忔諱細姣旂獥鍙eぇ涓鐐廣傜劧鍚庤繖涓狦DI緇樺浘璁懼灝辨毚闇蹭簡涓涓嚱鏁幫紝鍙互鑾峰緱涓涓狽ativeWindow鐨凥DC鍜學inGDIElementEnvironment銆?br> WinGDIElementEnvironment鏄熀浜嶩WND+HDC鐨勮繖涓濂楀疄鐜頒笂涓撴湁鐨勩佷負浜咷DI鐨偆璁捐鍑烘潵鐨勪竴涓叕鍏辯殑璧勬簮搴擄紙璀鐢ㄦ潵淇濆瓨鍚勭闈㈠悜涓氬姟閫昏緫鐨刾en鍟奲rush浠涔堢殑錛屾瘮濡傝disable鐨勬椂鍊欎粈涔堥鑹詫紝閫変腑鐨勬椂鍊欎粈涔堥鑹茬瓑絳夛級銆傚鏋滀綘鎯寵璁′竴涓熀浜嶩WND+DirectX鐨勭毊鑲わ紝閭d箞綾諱技WinGDIElementEnvironment鐨勮繖濂椾笢瑗胯閲嶆柊鍋氫竴嬈♀斺斿洜涓轟負浜嗚揪鍒扮浉鍚岀殑鎬ц兘銆傚叿浣撶粏鑺傜浉宸お澶с傚綋鐒禜WND+HDC涓婇潰鍙互鏈夊濂楃毊鑲わ紝WinGDIElementEnvironment鏄叕鐢ㄧ殑銆俉inGDIElementEnvironment瑕佹眰緇樺埗鏄氳繃涓涓叿浣撶殑WinGDIElement瀵硅薄杈懼埌鐨勶紝鑰屼竴濂楃毊鑲ゅ彲浠ユ湁鑷繁鐨勪竴濂梂inGDIElement鐨勫疄鐜般俉inGDIElement琚璁℃垚闈㈠悜涓氬姟鐨勩佷竴濂楃毊鑲ょ殑鍩烘湰鍏冪礌緇勬垚閮ㄥ垎錛岃濡傝鎸夐挳杈規鍟︺佺劍鐐歸暱鏂瑰艦鍟︺佹枃瀛楀暒錛岃屼笉鏄甫鏈塸en鍜宐rush鐨勯暱鏂瑰艦鍟婏紝鏂囧瓧鍟婏紝鍚勭涔變竷鍏碂鐨勬渶浣庣瓑綰х殑緇樺浘鍏冪礌銆備婦涓涓緥瀛愶紝鎸夐挳杈規璺熻彍鍗曡竟妗嗗緢鍍忥紝閮藉彲浠ョ敤Rectangle鏉ョ粍鎴愩備絾鏄疎lement閲岄潰灝辯洿鎺ユ槸鎸夐挳杈規鍜岃彍鍗曡竟妗嗭紝鑰屼笉鏄竴涓彲浠ヨ浣犺嚜鐢變慨鏀歸鑹茬殑Rectangle銆傚洜涓轟笉鍚岀殑鎺т歡瑕佸叡浜厤鑹叉柟妗堬紝鑰岄厤鑹叉柟妗堟槸鐢變笟鍔¢昏緫+絀洪棿鐘舵佺殑闆嗗悎瀹炵幇鐨勶紝鍥犳WinGDIElement榪樻槸涓涓瘮杈冮珮灞傛鐨勬蹇點傚綋涓涓猈inGDIElement琚覆鏌撶殑鏃跺欙紝浠栦細緇欎綘涓涓狧DC錛岀劧鍚庝綘鏍規嵁琚緗殑鐘舵佹潵璋冪敤GDI鍑芥暟緇樺埗鍒癏DC鎸囧悜鐨?2浣岲IBSections浣嶅浘緙撳啿鍖轟笂闈€?br> 閭d箞錛屽綋鎴戜滑浣跨敤HWND+HDC鐨勫疄鐜幫紝鍒涘緩浜嗕竴涓竷婊′簡鎺т歡鐨勭獥鍙o紝閭e疄闄呬笂鏄彂鐢熶簡浠涔堜簨鎯呭憿錛熼鍏堟帶浠惰嚜宸變細緇勬垚涓媯墊爲銆傚叾嬈★紝鎺т歡鐨勭毊鑲や篃浼氱粍鎴愪竴媯墊爲銆傜幇鍦ㄥ氨鏈夋帶浠舵爲璺熺毊鑲ゆ爲涓ら鏍戜簡銆傛帶浠舵爲璐熻矗鎵鏈夌敤鎴瘋緭鍏ュ彉鏇寸姸鎬佺殑閫昏緫閮ㄥ垎錛岃岀毊鑲ゆ爲璐熻矗緇樺浘鍜岀偣涓祴璇曘傝屼竴涓狧WND+HDC瀹炵幇鐨勭毊鑲ゆ爲錛屼細鍦ㄧ毊鑲ょ粍鍚堟垚鏍戠殑鏃跺欙紝鍦ㄥ簳涓嬪張緇勫悎鍑轟簡涓棰梂inGDIElement鏍戙傚洜姝ゅぇ灞涓婂氨鏄細 鎺т歡鏍戯紙璐熻矗鐩稿簲杈撳叆鍙樻洿鐘舵侊級--> 鐨偆鏍戯紙璐熻矗鍌ㄥ瓨鎺т歡鐘舵佺殑鍙閮ㄥ垎騫跺喅瀹氫粈涔堟椂鍊欓渶瑕佸埛鏂幫級-->WinGDIElement鏍戯紙璐熻矗緇樺浘鏁翠釜紿楀彛錛?br> 榪欎釜鏃跺欙紝濡傛灉鎴戜滑浠呬粎闇瑕佺畝鍗曠殑閲嶆柊緇樺埗紿楀彛鐨勮瘽錛岄偅涔堟帶浠舵爲璺熺毊鑲ゆ爲閮戒笉闇瑕佽璁塊棶鍒幫紝搴曞眰浠呴渶瑕佽WinGDIElement鏍戦噸鏂扮粯鍒朵竴閬嶅嵆鍙傝學inGDIElement鐨勭矑搴﹀疄闄呬笂涔熶笉灝忥紝鍥犳涓嶄細姣忎竴涓浘鍏冮兘鏈変竴涓猈inGDIElement浠庤屼嬌寰楀垱寤哄嚭浜嗕竴澶у爢瀵硅薄鐨勩?br> 鏈鍚庝竴涓璁″氨鏄湪浠涔堟椂鍊欐墠閲嶇粯紿楀彛鐨勯棶棰樸傚亣璁捐鎴戜滑鐜板湪鏀跺埌浜嗕竴涓猈M_KEYDOWN娑堟伅錛屾渶緇堜紶鎾埌浜嗘帶浠舵爲閲岄潰鍘伙紝鐒跺悗淇敼浜?0涓帶浠朵笂闈㈢殑鏂囧瓧銆傛瘡褰撲綘淇敼鏂囧瓧鐨勬椂鍊欏疄闄呬笂閮介渶瑕侀噸緇橈紝閭e浣曞皢鏃犳暟嬈′笉鍙帶鐨勯噸緇樺悎騫舵垚涓嬈″憿錛烻endMessage(WM_PAINT)鏄珛鍒繪墽琛岀殑錛屾墍浠indows鑷甫鐨勫悎騫禬M_PAINT鐨勬柟娉曞湪榪欎釜鏃跺欐槸鏃犳晥鐨勩傛垜鎵閲囧彇鐨勮В鍐蟲柟娉曞氨鏄細鍙嶆鎺т歡鏍戠殑鎵鏈夋秷鎭潵婧愰兘鏄粠NativeWindow閲岄潰鏉ョ殑錛岄偅瀹為檯涓婃帶浠舵爲鍙戝嚭涓涓噸緇樿姹傜殑鏃跺欙紝鎴戝氨浼氭妸NativeWindow鐨凥WND瀹炵幇閲岄潰鐨勪竴涓猙ool鍙橀噺璁炬垚true錛岀劧鍚庡綋NativeWindow姣忎竴涓紶鎾埌鎺т歡鏍戠殑娑堟伅緇撴潫浼犳挱涔嬪悗錛屾墠璇諱竴嬈¢偅涓彉閲忥紝濡傛灉鏄痶rue錛岄偅涔堝氨璋冪敤WinGDIElement榪涜閲嶇粯騫舵妸鍙橀噺璁捐鎴恌alse銆傚潖澶勬槸姣忎竴涓紶鎾埌鎺т歡鏍戠殑娑堟伅鍦ㄥ鐞嗗畬涔嬪悗閮藉繀欏繪鏌ユ槸鍚﹂渶瑕侀噸緇橈紝濂藉鏄繖涓笢瑗胯灝佽鍦ㄤ簡NativeWindow鐨凥WND瀹炵幇閲岄潰閲岄潰錛屾棤璁烘槸鎺т歡鏍戙佺毊鑲ゆ爲榪樻槸WinGDIElement鏍戜篃濂斤紝閮藉湪涔熶笉闇瑕佸叧蹇冪粯鍥炬椂鏈虹殑浜嬫儏浜嗐?br> 鍥犱負GUI琚垎鍓叉垚浜嗗緢澶氬眰錛岃屼笖姣忎竴灞傜殑閮藉叧蹇冧笟鍔¢昏緫鐨勪笉鍚岄儴鍒嗭紝鎵浠ヤ粬浠兘鏄彲浠ヨ鏇挎崲鐨勩傝濡傝鎴戜滑鍙互鍋氭垚錛?br> HWND+HDC瀹炵幇錛氭渶鏅氱殑鏂規硶 HWND+DirectX錛歐PF鍜孲ilverlight鍦版柟娉?br> 鍗曚竴HWND+澶氫釜铏氭嫙紿楀彛+DirectX錛氬彲浠ュ湪娓告垙閲岄潰鐢?br> 鏃犺涓嬮潰鐨勭粯鍥捐澶囧拰紿楀彛瀹炵幇濡備綍鍙戠敓鍙樺寲錛孏UI鎺т歡鐨勯昏緫閮ㄥ垎閮借窡榪欎簺瀹炵幇涓ユ牸鍒嗙錛屽洜姝や笉浼氬彈鍒板獎鍝嶃傝屼笖澶ч儴鍒嗘儏鍐典笅錛屾垜浠槸涓嶉渶瑕佹嫢鏈変竴涓法緇樺浘璁懼鐨勭毊鑲ゅ簱鐨勶紝璀璇存父鎴忓拰搴旂敤紼嬪簭錛屽琛ㄦ諱笉鑳藉仛鎴愪竴鏍風殑銆傚浜庨偅浜涢渶瑕佸悓鏃跺湪DirectX鍜孫penGL涓婇潰榪愯鐨勭▼搴忥紙璀璇?dsmax錛夛紝瀹冨凡緇忔湁DirectX鍜孫penGL鐨勫叕鍏辨帴鍙d簡錛屽洜姝よ繖浜涜蔣浠跺彲浠ュ埄鐢ㄥ畠浠殑鍏叡鎺ュ彛鏉ュ疄鐜癎UI鐨勭粯鍥捐澶囬儴鍒嗭紝浠庤屽湪涓婇潰鏋勯犺搗鏉ョ殑鐨偆鑷劧鏄彲浠ヨ法DirectX鍜孫penGL鐨勩?br> 榪欐瘮璧蜂竴騫村墠浣滅殑GUI瀹炵幇鍙堣繘浜嗕竴澶ф銆備笂涓嬈$殑GUI灝濊瘯涓轟笉鍚岀殑緇樺浘璁懼鎶借薄涓濂楀叕鍏辨帴鍙o紝鍚庢潵鎯ㄦ銆備笉鐭ラ亾榪欐瀹為檯涓婂仛鍑烘潵鐨勬晥鏋滃浣曪紝鎷洰浠ュ緟鍚с?
]]> C++鐣岄潰搴擄細浣跨敤Graphic Element Template鍒朵綔鎸夐挳妯℃澘 http://www.shnenglu.com/vczh/archive/2009/08/20/93951.html闄堟鐎?vczh) 闄堟鐎?vczh) Thu, 20 Aug 2009 13:38:00 GMT http://www.shnenglu.com/vczh/archive/2009/08/20/93951.html http://www.shnenglu.com/vczh/comments/93951.html http://www.shnenglu.com/vczh/archive/2009/08/20/93951.html#Feedback 7 http://www.shnenglu.com/vczh/comments/commentRss/93951.html http://www.shnenglu.com/vczh/services/trackbacks/93951.html 闃呰鍏ㄦ枃 ]]> C++鐣岄潰搴擄細Graphic Element Template瀹炵幇 http://www.shnenglu.com/vczh/archive/2009/08/19/93848.html闄堟鐎?vczh) 闄堟鐎?vczh) Wed, 19 Aug 2009 11:29:00 GMT http://www.shnenglu.com/vczh/archive/2009/08/19/93848.html http://www.shnenglu.com/vczh/comments/93848.html http://www.shnenglu.com/vczh/archive/2009/08/19/93848.html#Feedback 5 http://www.shnenglu.com/vczh/comments/commentRss/93848.html http://www.shnenglu.com/vczh/services/trackbacks/93848.html 闃呰鍏ㄦ枃 ]]> C++鐣岄潰搴擄細涓篏raphic Element Template鍋氫簡涓涓猉ML Schema http://www.shnenglu.com/vczh/archive/2009/08/07/92575.html闄堟鐎?vczh) 闄堟鐎?vczh) Fri, 07 Aug 2009 15:29:00 GMT http://www.shnenglu.com/vczh/archive/2009/08/07/92575.html http://www.shnenglu.com/vczh/comments/92575.html http://www.shnenglu.com/vczh/archive/2009/08/07/92575.html#Feedback 1 http://www.shnenglu.com/vczh/comments/commentRss/92575.html http://www.shnenglu.com/vczh/services/trackbacks/92575.html 闃呰鍏ㄦ枃 ]]> C++鐣岄潰搴擄細鍦℅DI涓婃坊鍔犲畬鍏ㄧ殑alpha娣峰悎鏀寔 http://www.shnenglu.com/vczh/archive/2009/08/02/91972.html闄堟鐎?vczh) 闄堟鐎?vczh) Sun, 02 Aug 2009 10:41:00 GMT http://www.shnenglu.com/vczh/archive/2009/08/02/91972.html http://www.shnenglu.com/vczh/comments/91972.html http://www.shnenglu.com/vczh/archive/2009/08/02/91972.html#Feedback 3 http://www.shnenglu.com/vczh/comments/commentRss/91972.html http://www.shnenglu.com/vczh/services/trackbacks/91972.html
緇樺浘鐨勮澶囧綋鐒舵槸闇瑕佸彲鍒囨崲鐨勶紝浜庢槸鐢╞ridge妯″紡瀹氫箟浜嗗ぇ閲忕殑鎺ュ彛錛岃繖浜涙帴鍙g敤鏉ュ垱寤虹敾絎斻佺敾鍒楓佸瓧浣撳拰鍥懼艦錛岀劧鍚庡浘褰㈢敤鏍戠殑褰㈠紡緇勭粐璧鋒潵錛屾渶鍚庢斁鍒頒竴鍧楄窡紿楀彛閾炬帴鐨勭敾鏉夸笂闈紝鏈夐渶瑕佺殑鏃跺欒嚜鍔ㄧ粯鍒躲備負浜嗘渶蹇熷湴寮濮嬪伐浣滐紝鎴戝疄鐜頒簡涓涓狦DI鐨勭粯鍥捐澶囷紝浠ュ悗鏈夌┖鍐嶅仛DirectX鐨勩備絾鏄垜浠煡閬揋DI瀵筧lpha鐨勬敮鎸佹槸寰堝急鐨勶紝鍙湁涓涓彨alphablend鐨凙PI鐢ㄦ潵璐碽itmap錛屽洜姝や負浜嗚鐢誨埛鍜岀敾絎旈兘鑳藉鏀寔alpha娓愬彉銆乤lpha浣嶅浘鍜宎lpha棰滆壊錛屽仛浜嗗緢澶氱殑宸ヤ綔銆?nbsp; 闃呰鍏ㄦ枃 ]]> 灝嗘爲鍨嬫暟鎹粨鏋勮漿鎹負鍥劇墖騫惰嚜鍔ㄦ帓鐗?/title> http://www.shnenglu.com/vczh/archive/2008/09/07/61244.html闄堟鐎?vczh) 闄堟鐎?vczh) Sun, 07 Sep 2008 12:18:00 GMT http://www.shnenglu.com/vczh/archive/2008/09/07/61244.html http://www.shnenglu.com/vczh/comments/61244.html http://www.shnenglu.com/vczh/archive/2008/09/07/61244.html#Feedback 3 http://www.shnenglu.com/vczh/comments/commentRss/61244.html http://www.shnenglu.com/vczh/services/trackbacks/61244.html 闃呰鍏ㄦ枃 ]]> 浣跨敤鎷撴墤榪涜鍑犱綍鍥懼艦甯冨皵榪愮畻 http://www.shnenglu.com/vczh/archive/2008/06/17/53675.html闄堟鐎?vczh) 闄堟鐎?vczh) Tue, 17 Jun 2008 03:20:00 GMT http://www.shnenglu.com/vczh/archive/2008/06/17/53675.html http://www.shnenglu.com/vczh/comments/53675.html http://www.shnenglu.com/vczh/archive/2008/06/17/53675.html#Feedback 7 http://www.shnenglu.com/vczh/comments/commentRss/53675.html http://www.shnenglu.com/vczh/services/trackbacks/53675.html
榪欎釜鏂規硶鏄湪鑰冨畬璇曞洖瀹胯垗鐨勮礬涓婃兂鍒扮殑錛岄傜敤浜?D涓?D銆備富瑕佹兂娉曟槸榪欐牱鐨勩傜粰瀹氫袱涓嚑浣曞浘褰銆丅錛屾妸A鍜孊閮藉垎鎴愩庡唴銆庛併庡銆忎袱閮ㄥ垎銆侫鐨勩庡唴銆忓氨鏄浜嶣鍐呴儴鐨勯儴鍒嗐備簬鏄疉鍜孊灝卞彉鎴愪簡A鍐呫丄澶栥丅鍐呫丅澶栥傜劧鍚庡氨鏈夊涓嬪叕寮忥細
路A and B=A澶?B澶? 路A sub B=A澶?B鍐? 路A or B=A鍐?B鍐? 路A xor B=A澶?B澶?A鍐?B鍐? 榪欑鏁版嵁緇撴瀯鏄負浜嗘弧瓚沖涓嬬畻娉曪細涓涓狝鐐瑰湪鍥懼艦鍐?==>榪囪繖涓偣鐨勭洿綰夸氦鍥懼艦涓庣偣闆哖錛屽叾涓瓅{Pi|Pi<=A}|鍜寍{Pi|Pi>=A}|閮芥槸濂囨暟銆傛敞鎰忔垜浠嬌鐢ㄧ殑鏄?=鍜?=錛岃繖鏍風殑璇濅袱涓泦鍚堢殑鏁伴噺鐨勫鍋舵ч兘鏄竴鑷寸殑銆傝繖涓畻娉曟棤璁?D銆?D澶氳竟褰㈣繕鏄?D澶氶潰浣撻兘鑳介傜敤錛屽氨綆楁槸榪欎釜鍥懼艦鏈夊瓟錛堥暥宓岋級涔熷彲浠ワ紝鑰屼笖璺熷嚬鍑鎬綋鏃犲叧銆傝繖涓畻娉曞彧鏈変竴縐嶆儏鍐墊槸涓嶈兘鐢ㄧ殑錛氬氨鏄嚜宸辮窡鑷繁鏈変氦鍙夛紝璀鎴戜滑涔犳儻鐨?鏉$洿綰挎瀯鎴愪簲瑙掓槦鐨勭敾娉曘傝繖 闃呰鍏ㄦ枃 ]]> 鎺ヤ笅鍘葷殑浜嬫儏 http://www.shnenglu.com/vczh/archive/2008/06/13/53081.html闄堟鐎?vczh) 闄堟鐎?vczh) Thu, 12 Jun 2008 17:40:00 GMT http://www.shnenglu.com/vczh/archive/2008/06/13/53081.html http://www.shnenglu.com/vczh/comments/53081.html http://www.shnenglu.com/vczh/archive/2008/06/13/53081.html#Feedback 2 http://www.shnenglu.com/vczh/comments/commentRss/53081.html http://www.shnenglu.com/vczh/services/trackbacks/53081.html 2錛氳В鍐沖杈瑰艦鐨勫竷灝旇繍綆楋紝鏈夊茍闆嗐佷氦闆嗗拰浣欓泦絳?br> 3錛氫嬌鐢?寮鍙戠敾絎?br> 4錛氬紑鍙戠敾鍒峰熀紜錛屽疄鐜癈olor Matrix銆乂ertex Transformation鍙婂杈瑰艦娓叉煋 5錛氬浘鍍忓伐鍏?
]]>妞渾孌墊壂鎻忓畬鎴?/title> http://www.shnenglu.com/vczh/archive/2008/06/12/53057.html闄堟鐎?vczh) 闄堟鐎?vczh) Thu, 12 Jun 2008 14:02:00 GMT http://www.shnenglu.com/vczh/archive/2008/06/12/53057.html http://www.shnenglu.com/vczh/comments/53057.html http://www.shnenglu.com/vczh/archive/2008/06/12/53057.html#Feedback 5 http://www.shnenglu.com/vczh/comments/commentRss/53057.html http://www.shnenglu.com/vczh/services/trackbacks/53057.html 闃呰鍏ㄦ枃 ]]> 鑷傚簲姝ラ暱Bezier鏇茬嚎鎵弿 http://www.shnenglu.com/vczh/archive/2008/06/12/53000.html闄堟鐎?vczh) 闄堟鐎?vczh) Thu, 12 Jun 2008 05:20:00 GMT http://www.shnenglu.com/vczh/archive/2008/06/12/53000.html http://www.shnenglu.com/vczh/comments/53000.html http://www.shnenglu.com/vczh/archive/2008/06/12/53000.html#Feedback 1 http://www.shnenglu.com/vczh/comments/commentRss/53000.html http://www.shnenglu.com/vczh/services/trackbacks/53000.html
鏈変簡榪欎釜綆楁硶涔嬪悗鎴戝氨鍙互鎶婅礉濉炲皵鏇茬嚎杞崲鎴愬瘑搴﹀垰濂界殑鎶樼嚎浜嗐傝繖鎵嶆槸鏈緇堢洰鐨勩?nbsp; 闃呰鍏ㄦ枃 ]]> 緇堜簬鎻愬彇鍒頒簡TrueType瀛椾綋鐨勮疆寤撲簡 http://www.shnenglu.com/vczh/archive/2008/06/11/52949.html闄堟鐎?vczh) 闄堟鐎?vczh) Wed, 11 Jun 2008 15:48:00 GMT http://www.shnenglu.com/vczh/archive/2008/06/11/52949.html http://www.shnenglu.com/vczh/comments/52949.html http://www.shnenglu.com/vczh/archive/2008/06/11/52949.html#Feedback 11 http://www.shnenglu.com/vczh/comments/commentRss/52949.html http://www.shnenglu.com/vczh/services/trackbacks/52949.html
鍦ㄦ璐村嚭浠g爜鍜屾晥鏋滃浘錛屼笉浣滆繃澶氳В閲娿傜啛鎮塛in32API涓殑GDI閮ㄥ垎鐨勬湅鍙嬩滑鍙互寰堝鏄撶湅鎳傘?
鏁堟灉鍥撅細
鎻愬彇鐨勮疆寤擄細綰㈣壊鍜岄粦鑹蹭負鐩寸嚎錛岃摑鑹蹭負鍥涙璐濆灝旀洸綰褲傚叾涓笂闈㈡槸鍏圱extOut鍚庤嚜宸辯敾錛屼笅闈㈡槸鍏堣嚜宸辯敾鍚嶵extOut銆傚洓嬈¤礉濉炲皵鏇茬嚎杞崲鎴愪笁嬈¤礉濉炲皵鏇茬嚎涔嬪悗浣跨敤PolyBezier緇樺埗銆?
浠g爜錛? 浠g爜浣跨敤鐨勬鏋舵槸鎴戣嚜宸卞瘨鍋囨棤鑱婄殑鏃跺欏皝瑁匒PI鐨勭粨鏋滐紝鏆傛椂鏈夌獥鍙c佽彍鍗曘佺粍鍚堥敭浠ュ強鑿滃崟錛岄檮甯DI銆備簨浠惰嚜宸卞紕浜嗕竴涓窡C#宸笉澶氱殑鍙互鍚屾椂Bind寰堝涓嶅悓縐嶇被鍑芥暟鐨勪笢瑗褲備笉榪囪繖涓笉鏄噸鐐廣傞渶瑕侀噸鐐歸槄璇葷殑鏄浣曚嬌鐢℅etGlyphOutline銆?
dtof灝哾ouble杞崲鎴怓IXED錛宖tod鐩稿弽銆? GetPoint榪涜鐐圭殑鍙樻崲錛屼富瑕佹槸鍥犱負鐢誨瓧絎︾殑鏃跺欓渶瑕佸亸縐匯? DrawCurve緇樺埗杈規銆?nbsp; 闃呰鍏ㄦ枃 ]]> 青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
国产日韩精品久久久 |
玖玖视频精品 |
欧美日韩在线播放一区 |
日韩图片一区 |
一区二区久久久久 |
国产性猛交xxxx免费看久久 |
久热re这里精品视频在线6 |
久久午夜精品一区二区 |
99国产精品视频免费观看 |
亚洲国产三级 |
欧美视频在线观看免费网址 |
欧美一区二区三区四区视频 |
久久五月婷婷丁香社区 |
欧美国产高潮xxxx1819 |
欧美日韩国产一级 |
欧美在线三级 |
免费在线视频一区 |
午夜精品一区二区三区四区
|
亚洲美女av网站 |
国产欧美一区二区白浆黑人 |
男女视频一区二区 |
欧美视频第二页 |
美女精品在线观看 |
欧美午夜性色大片在线观看 |
久久亚洲精品欧美 |
欧美三日本三级三级在线播放 |
久久国产精品久久w女人spa |
欧美精品色综合 |
久久精品中文 |
欧美色另类天堂2015 |
美乳少妇欧美精品 |
国产精品美女久久福利网站 |
亚洲高清视频中文字幕 |
国产日韩视频一区二区三区 |
亚洲精品免费网站 |
伊人精品视频 |
亚洲在线视频免费观看 |
日韩午夜av |
久久综合伊人77777蜜臀 |
久久国产精品高清 |
欧美性天天影院 |
亚洲激情亚洲 |
亚洲精品1234 |
久久精品在线观看 |
久久不见久久见免费视频1 |
欧美色大人视频 |
亚洲高清在线观看一区 |
亚洲大胆美女视频 |
亚洲综合色丁香婷婷六月图片 |
日韩视频第一页 |
蜜臀av一级做a爰片久久 |
榴莲视频成人在线观看 |
国产亚洲一区二区在线观看 |
亚洲性夜色噜噜噜7777 |
亚洲图片欧美日产 |
欧美日韩一区在线观看视频 |
国产美女一区 |
久久久久久久久久久久久久一区
|
欧美国产日韩xxxxx |
美女视频黄免费的久久 |
老鸭窝毛片一区二区三区
|
欧美亚洲成人免费 |
一本一本久久a久久精品综合妖精 |
亚洲毛片网站 |
欧美日韩国产色视频 |
亚洲欧洲日本国产 |
亚洲性图久久 |
国产精品你懂的在线欣赏 |
亚洲一区欧美二区 |
久久riav二区三区 |
激情五月综合色婷婷一区二区 |
午夜精品视频一区 |
久久综合狠狠综合久久综合88 |
一区二区亚洲精品国产 |
狂野欧美激情性xxxx欧美 |
亚洲电影中文字幕 |
一区二区电影免费观看 |
国产精品美女久久福利网站 |
欧美一级专区 |
欧美成人激情视频免费观看 |
亚洲精品一区二区三区福利 |
欧美日韩在线播放一区 |
亚洲免费一区二区 |
久久影院亚洲 |
日韩一级黄色av |
国产精品久久久久久超碰 |
午夜精品久久久久久久 |
欧美成人亚洲 |
亚洲欧美不卡 |
在线观看欧美一区 |
欧美日韩在线一区二区 |
久久福利资源站 |
亚洲美女淫视频 |
久久精品国产99国产精品澳门 |
国产精品成人一区二区网站软件
|
亚洲图片欧洲图片av |
国产午夜精品久久久久久久 |
老牛影视一区二区三区 |
一区二区三区视频在线播放 |
久久综合九色综合久99 |
在线天堂一区av电影 |
狠狠久久亚洲欧美专区 |
欧美片网站免费 |
久久精品中文字幕一区 |
一区二区电影免费在线观看 |
久久久久久久尹人综合网亚洲 |
亚洲精品国产精品国自产在线 |
国产伦精品一区二区三区四区免费
|
欧美激情亚洲视频 |
性娇小13――14欧美 |
亚洲级视频在线观看免费1级 |
国产欧美一区二区在线观看 |
亚洲午夜三级在线 |
1000部精品久久久久久久久 |
国产精品久久久久国产a级 |
快播亚洲色图 |
久久精品国产亚洲aⅴ |
亚洲手机成人高清视频 |
最新国产乱人伦偷精品免费网站 |
久久精品国产99国产精品 |
亚洲一区亚洲二区 |
日韩系列欧美系列 |
在线日韩精品视频 |
国产在线播放一区二区三区 |
国产精品成人一区二区艾草 |
欧美精品在线看 |
欧美99久久 |
久久视频精品在线 |
欧美伊人久久久久久久久影院
|
久久九九免费视频 |
性一交一乱一区二区洋洋av |
亚洲视频电影图片偷拍一区 |
日韩视频免费在线 |
亚洲黄色免费电影 |
亚洲成人在线网 |
精品88久久久久88久久久 |
国产在线观看91精品一区 |
国产日韩欧美夫妻视频在线观看 |
国产精品视频一区二区三区 |
欧美性色视频在线 |
国产精品久久久久9999 |
国产精品国产 |
国产精品欧美一区二区三区奶水
|
久久久国产午夜精品 |
久久久久久伊人 |
久久夜色撩人精品 |
欧美va天堂在线 |
欧美久久一级 |
欧美手机在线视频 |
国产精品人人做人人爽人人添 |
国产精品国产一区二区 |
国产精品一区免费视频 |
国产伦精品一区二区三区在线观看 |
国产欧美日韩伦理 |
国产一区二区三区在线观看免费 |
一区二区在线观看视频 |
亚洲国产另类久久精品 |
99国产欧美久久久精品 |
亚洲欧美国产精品桃花 |
久久精品国产清自在天天线 |
美女脱光内衣内裤视频久久影院 |
久久综合亚州 |
91久久精品国产91性色 |
夜夜爽www精品 |
欧美亚洲在线观看 |
久久中文字幕一区 |
欧美私人啪啪vps |
国产在线精品自拍 |
亚洲精品中文在线 |
性欧美暴力猛交另类hd |
久久久久九九九 |
亚洲日韩欧美一区二区在线 |
亚洲午夜免费福利视频 |
久久偷看各类wc女厕嘘嘘偷窃 |
欧美片在线观看 |
国内精品视频在线播放 |
亚洲免费电影在线 |
久久国产精品高清 |
欧美黄在线观看 |
亚洲午夜精品一区二区三区他趣 |
久久精品动漫 |
国产精品成人观看视频国产奇米 |
伊人久久成人 |
亚洲欧美日韩国产综合 |
欧美激情第三页 |
亚洲午夜视频 |
欧美激情1区 |
国产色综合久久 |
亚洲私人影院在线观看 |
免费日韩av电影 |
午夜国产精品影院在线观看 |
欧美激情视频免费观看 |
一区二区三区精品视频 |
亚洲激情视频在线 |
小黄鸭精品aⅴ导航网站入口 |
亚洲国产精品一区二区www在线 |
亚洲欧美日本精品 |
国产精品v欧美精品v日韩精品 |
亚洲国产精品免费 |
久久亚洲春色中文字幕 |