锘??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-cnTue, 06 Nov 2012 02:02:09 GMTTue, 06 Nov 2012 02:02:09 GMT60涓涓湪GacUI涓婄洿鎺ヤ嬌鐢℅DI鎴栬匘irect2D榪涜緇樺浘鎿嶄綔鐨勫皬demohttp://www.shnenglu.com/vczh/archive/2012/11/05/194696.html闄堟鐎?vczh)闄堟鐎?vczh)Mon, 05 Nov 2012 15:14:00 GMThttp://www.shnenglu.com/vczh/archive/2012/11/05/194696.htmlhttp://www.shnenglu.com/vczh/comments/194696.htmlhttp://www.shnenglu.com/vczh/archive/2012/11/05/194696.html#Feedback1http://www.shnenglu.com/vczh/comments/commentRss/194696.htmlhttp://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>

DXGUI_58

榪欐牱鎴戜滑灝卞畬鎴愪簡涓涓椂閽熺殑鍒朵綔浜嗭紝鑰屼笖涔熷浼氫簡濡備綍鍦℅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 GMThttp://www.shnenglu.com/vczh/archive/2011/10/11/158090.htmlhttp://www.shnenglu.com/vczh/comments/158090.htmlhttp://www.shnenglu.com/vczh/archive/2011/10/11/158090.html#Feedback9http://www.shnenglu.com/vczh/comments/commentRss/158090.htmlhttp://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><link>http://www.shnenglu.com/vczh/archive/2011/04/30/145380.html</link><dc:creator>闄堟鐎?vczh)</dc:creator><author>闄堟鐎?vczh)</author><pubDate>Sat, 30 Apr 2011 03:50:00 GMT</pubDate><guid>http://www.shnenglu.com/vczh/archive/2011/04/30/145380.html</guid><wfw:comment>http://www.shnenglu.com/vczh/comments/145380.html</wfw:comment><comments>http://www.shnenglu.com/vczh/archive/2011/04/30/145380.html#Feedback</comments><slash:comments>13</slash:comments><wfw:commentRss>http://www.shnenglu.com/vczh/comments/commentRss/145380.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/vczh/services/trackbacks/145380.html</trackback:ping><description><![CDATA[    浠庢煇縐嶆剰涔変笂鏉ヨ錛屽仛鍥懼艦涔熷ソ錛屽仛GUI涔熷ソ錛屽仛緙栬瘧鍣ㄤ篃濂斤紝澶ф閮芥槸涓縐嶆儏緇撱傚叾瀹炲彧瑕佺◢寰兂涓鎯沖氨鐭ラ亾錛岃兘鎶婂畠浠笁鑰呮湁鏈虹粺涓璧鋒潵鐨勶紝灝卞彧鏈夋父鎴忋傛垜寰堜箙浠ュ墠鐨勭‘鏄負浜嗘兂寮鍙戞父鎴忔墠瀵圭紪紼嬩駭鐢熷叴瓚g殑錛岃屽涔犳父鎴忓紑鍙戝崰鎹簡鎴戝墠鍏勾鐨勬椂闂淬傝櫧鐒剁幇鍦ㄤ笉鍋氫簡錛屼笉榪囧伓灝旀繪槸浼氳寰楁墜鐥掋備絾鏄仛娓告垙娌$編宸ュ仛涓嶅ソ鎬庝箞鍔炲憿錛熷氨鍙ソ鍐欐父鎴忎唬鐮佷簡銆備絾鏄病鏈夎祫婧愬啓鍑烘潵鐨勬父鎴忓張涓嶅ソ鐜╋紝浜庢槸灝卞彧濂藉啓搴撱傞偅鍐欎粈涔堝簱鍛紝鑷劧灝卞彧鏈夋覆鏌撳櫒銆佺晫闈㈠紩鎿庡拰鑴氭湰寮曟搸浜嗐傛垜鐨勫崥瀹㈢殑澶ч儴鍒嗘枃绔犱篃鏄洿緇曠潃榪欎笁浠朵簨鎯呭緩绔嬭搗鏉ワ紝鑰屼笖鍦ㄤ腑闂翠笉鏂垏鎹㈢殑銆?br><br>    鎾掞紝鎵浠ヤ粖澶╁氨杞埌GUI浜嗐傛垜涓鐩村緢鎯沖仛鍑轟竴涓嚜緇樼殑GUI鍑烘潵錛屾棤濂堜竴鐩磋璁′笉鍑轟竴涓ソ鐨勬灦鏋勩傚悗鏉ュ皾璇曠敤鍘熺敓API錛屼絾鏄嵈鍙堝緢涓嶅枩嬈FC鐨勮璁★紝灝卞皾璇曡嚜宸辯収鐫.NET Framework鍜孌elphi閭eVCL鐨勬牱瀛?a style="TEXT-DECORATION: underline" href="http://www.shnenglu.com/vczh/archive/2008/08/25/59954.html" target=_blank>灝佽浜嗕竴涓帶浠跺簱</a>鍑烘潵銆傛棤濂堝師鐢烝PI緇嗚妭鏃犳晫澶氾紝鍚庢潵娌″仛鎶婃墍鏈夌殑鍔熻兘閮藉叏閮ㄥ仛瀹屻傚洜姝ゅ悗鏉ヤ竴孌墊椂闂村嚒鏄渶瑕佺晫闈㈡垜閮界洿鎺ョ敤C#鍋氥傜劧鍚嶤EGUI鍑轟簡錛學PF鍜孲ilverlight涔熷嚭浜嗭紝鎴戝彂鐜板浠婅鍋氫竴涓紓浜殑GUI闈炶嚜緇樺凡緇忓仛涓嶅埌浜嗭紝鎵浠ユ垜鍙堝仛浜嗕竴嬈″皾璇曘?br><br>    鍘誨勾鍦ㄧ編甯濈殑鏃跺欐浘緇忚瘯鍥懼啀璁捐涓嬈★紝寰楀埌浜嗕竴浜涚粨鏋溿傚悗鏉ユ垜鍙戠幇鍏跺疄鏍規湰娌″姙娉曚負GDI銆丏irectX銆丱penGL鍜屽叾瀹冪粯鍥捐澶囨娊璞′竴涓叕鐢ㄧ殑鎺ュ彛錛屽惁鍒欏氨浼氶伃閬囧ぇ閲忔ц兘闂銆傚洜涓哄湪寰堝緇嗚妭涓婏紝璀璇存覆鏌撴枃瀛楋紝涓轟簡杈懼埌杈冮珮鐨勬ц兘錛孫penGL鍜孌irectX闇瑕佷嬌鐢ㄥ嚑涔庣浉鍙嶇殑絳栫暐鏉ュ仛銆傚洜姝よ繖嬈℃垜鍙堟崲浜嗕竴涓柟娉曪紝鑰屼笖鍦?a style="TEXT-DECORATION: underline" target=_blank>Vczh Library++ 3.0</a>鐨凜andidate鐩綍涓嬪凡緇廲heckin浜嗕竴涓瘯楠屽搧銆?br><br>    鎴戞妸涓涓嚜緇樼殑GUI鍒嗘垚浜嗕笅闈㈣嫢騫蹭釜灞傛銆?br>    1銆丯ativeWindow銆侼ativeWindow琛ㄧず鐨勬槸涓涓《灞傜獥鍙g殑瀹炵幇銆傝濡傝鎴戜滑鎯崇敤Windows鐨勭獥鍙d綔涓鴻嚜緇樼獥鍙g殑欏跺眰紿楀彛錛堟父鎴忛噷闈㈢殑寰堝欏跺眰紿楀彛鏄粯鍒跺湪娓告垙紿楀彛閲岄潰鐨勶紝鎵浠ラ《灞傜獥鍙e茍涓嶄竴瀹氭槸Windows鐨勭獥鍙o級銆?br>    2銆佹帶浠跺簱銆傛帶浠跺簱鍖呭惈浜嗚繖涓嚜緇楪UI搴撶殑鎵鏈夐瀹氫箟鎺т歡銆傛帶浠舵湰韜寘鍚鐢ㄦ埛杈撳叆鐨勭浉搴旈昏緫錛屼絾鏄瘡涓涓帶浠剁殑緇樺埗浠ュ強榧犳爣鐐逛腑嫻嬭瘯涓嶅湪姝よ寖鍥村唴銆?br>    3銆佹帶浠剁毊鑲ゆ帴鍙c傛瘡涓涓渶緇堟帶浠墮兘浼氭嫢鏈変竴涓帶浠剁毊鑲ゆ帴鍙c傛瘡褰撴帶浠剁殑鐘舵佸彂鐢熶簡鍙樺寲錛屾帶浠朵細璋冪敤鐨偆鎺ュ彛鏇存柊鎺т歡鐨勫綋鍓嶇姸鎬併傛瘡褰撴帶浠墮渶瑕佺煡閬撴煇涓涓偣鏄惁浣嶄簬涓涓帶浠墮噷闈㈢殑鏃跺欙紝浠栦篃浼氬幓璋冪敤璇ユ帶浠剁殑鐨偆鑾峰緱緇撴灉銆傚洜姝ゆ帶浠剁毊鑲ゆ帴鍙e寘鍚簡涓鍒囧叧浜庣粯鍒訛紙鍥犳鐞嗘墍褰撶劧涔熷氨鍖呭惈浜嗙偣涓祴璇曪級鐨勯昏緫銆?br><br>    涓轟簡杈懼埌鏈楂樼殑鎬ц兘錛屼竴濂楃毊鑲ょ殑瀹炵幇鍙兘緇戝畾鍦ㄦ煇縐嶇粯鍥捐澶囦笂錛屼篃灝辨槸璇寸己鐪佺姸鎬佷笅涓濂椾負GDI璁懼璁捐鍑烘潵鐨勭毊鑲ゆ槸涓嶈兘鐩存帴浣跨敤鍦―irectX璁懼涓婇潰鐨勩傚綋鐒舵垜榪欎釜妗嗘灦鐨勮璁′篃鏄凍澶熷紑鏀劇殑錛屽鏋滀綘闈炲緱鐢ㄥ悓涓濂椾唬鐮佹潵瀹炵幇涓嶅悓緇樺浘璁懼涓婄殑鐨偆錛岄偅涔堜綘鏄彲浠ヨ嚜宸卞姩鎵嬩赴琛h凍椋燂紝鍋氬埌緇橤DI鍜孌irectX璁捐涓涓叕鍏辨帴鍙e茍鎻掑叆鎴戠殑GUI妗嗘灦鐨勶紙鍙笉榪囪繖縐嶅仛娉曚竴鑸儏鍐典笅閮戒細鎯ㄦ錛夈?br><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><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><br>    閭d箞錛屽綋鎴戜滑浣跨敤HWND+HDC鐨勫疄鐜幫紝鍒涘緩浜嗕竴涓竷婊′簡鎺т歡鐨勭獥鍙o紝閭e疄闄呬笂鏄彂鐢熶簡浠涔堜簨鎯呭憿錛熼鍏堟帶浠惰嚜宸變細緇勬垚涓媯墊爲銆傚叾嬈★紝鎺т歡鐨勭毊鑲や篃浼氱粍鎴愪竴媯墊爲銆傜幇鍦ㄥ氨鏈夋帶浠舵爲璺熺毊鑲ゆ爲涓ら鏍戜簡銆傛帶浠舵爲璐熻矗鎵鏈夌敤鎴瘋緭鍏ュ彉鏇寸姸鎬佺殑閫昏緫閮ㄥ垎錛岃岀毊鑲ゆ爲璐熻矗緇樺浘鍜岀偣涓祴璇曘傝屼竴涓狧WND+HDC瀹炵幇鐨勭毊鑲ゆ爲錛屼細鍦ㄧ毊鑲ょ粍鍚堟垚鏍戠殑鏃跺欙紝鍦ㄥ簳涓嬪張緇勫悎鍑轟簡涓棰梂inGDIElement鏍戙傚洜姝ゅぇ灞涓婂氨鏄細<br>    鎺т歡鏍戯紙璐熻矗鐩稿簲杈撳叆鍙樻洿鐘舵侊級--> 鐨偆鏍戯紙璐熻矗鍌ㄥ瓨鎺т歡鐘舵佺殑鍙閮ㄥ垎騫跺喅瀹氫粈涔堟椂鍊欓渶瑕佸埛鏂幫級-->WinGDIElement鏍戯紙璐熻矗緇樺浘鏁翠釜紿楀彛錛?br><br>    榪欎釜鏃跺欙紝濡傛灉鎴戜滑浠呬粎闇瑕佺畝鍗曠殑閲嶆柊緇樺埗紿楀彛鐨勮瘽錛岄偅涔堟帶浠舵爲璺熺毊鑲ゆ爲閮戒笉闇瑕佽璁塊棶鍒幫紝搴曞眰浠呴渶瑕佽WinGDIElement鏍戦噸鏂扮粯鍒朵竴閬嶅嵆鍙傝學inGDIElement鐨勭矑搴﹀疄闄呬笂涔熶笉灝忥紝鍥犳涓嶄細姣忎竴涓浘鍏冮兘鏈変竴涓猈inGDIElement浠庤屼嬌寰楀垱寤哄嚭浜嗕竴澶у爢瀵硅薄鐨勩?br><br>    鏈鍚庝竴涓璁″氨鏄湪浠涔堟椂鍊欐墠閲嶇粯紿楀彛鐨勯棶棰樸傚亣璁捐鎴戜滑鐜板湪鏀跺埌浜嗕竴涓猈M_KEYDOWN娑堟伅錛屾渶緇堜紶鎾埌浜嗘帶浠舵爲閲岄潰鍘伙紝鐒跺悗淇敼浜?0涓帶浠朵笂闈㈢殑鏂囧瓧銆傛瘡褰撲綘淇敼鏂囧瓧鐨勬椂鍊欏疄闄呬笂閮介渶瑕侀噸緇橈紝閭e浣曞皢鏃犳暟嬈′笉鍙帶鐨勯噸緇樺悎騫舵垚涓嬈″憿錛烻endMessage(WM_PAINT)鏄珛鍒繪墽琛岀殑錛屾墍浠indows鑷甫鐨勫悎騫禬M_PAINT鐨勬柟娉曞湪榪欎釜鏃跺欐槸鏃犳晥鐨勩傛垜鎵閲囧彇鐨勮В鍐蟲柟娉曞氨鏄細鍙嶆鎺т歡鏍戠殑鎵鏈夋秷鎭潵婧愰兘鏄粠NativeWindow閲岄潰鏉ョ殑錛岄偅瀹為檯涓婃帶浠舵爲鍙戝嚭涓涓噸緇樿姹傜殑鏃跺欙紝鎴戝氨浼氭妸NativeWindow鐨凥WND瀹炵幇閲岄潰鐨勪竴涓猙ool鍙橀噺璁炬垚true錛岀劧鍚庡綋NativeWindow姣忎竴涓紶鎾埌鎺т歡鏍戠殑娑堟伅緇撴潫浼犳挱涔嬪悗錛屾墠璇諱竴嬈¢偅涓彉閲忥紝濡傛灉鏄痶rue錛岄偅涔堝氨璋冪敤WinGDIElement榪涜閲嶇粯騫舵妸鍙橀噺璁捐鎴恌alse銆傚潖澶勬槸姣忎竴涓紶鎾埌鎺т歡鏍戠殑娑堟伅鍦ㄥ鐞嗗畬涔嬪悗閮藉繀欏繪鏌ユ槸鍚﹂渶瑕侀噸緇橈紝濂藉鏄繖涓笢瑗胯灝佽鍦ㄤ簡NativeWindow鐨凥WND瀹炵幇閲岄潰閲岄潰錛屾棤璁烘槸鎺т歡鏍戙佺毊鑲ゆ爲榪樻槸WinGDIElement鏍戜篃濂斤紝閮藉湪涔熶笉闇瑕佸叧蹇冪粯鍥炬椂鏈虹殑浜嬫儏浜嗐?br><br>    鍥犱負GUI琚垎鍓叉垚浜嗗緢澶氬眰錛岃屼笖姣忎竴灞傜殑閮藉叧蹇冧笟鍔¢昏緫鐨勪笉鍚岄儴鍒嗭紝鎵浠ヤ粬浠兘鏄彲浠ヨ鏇挎崲鐨勩傝濡傝鎴戜滑鍙互鍋氭垚錛?br>    HWND+HDC瀹炵幇錛氭渶鏅氱殑鏂規硶<br>    HWND+DirectX錛歐PF鍜孲ilverlight鍦版柟娉?br>    鍗曚竴HWND+澶氫釜铏氭嫙紿楀彛+DirectX錛氬彲浠ュ湪娓告垙閲岄潰鐢?br><br>    鏃犺涓嬮潰鐨勭粯鍥捐澶囧拰紿楀彛瀹炵幇濡備綍鍙戠敓鍙樺寲錛孏UI鎺т歡鐨勯昏緫閮ㄥ垎閮借窡榪欎簺瀹炵幇涓ユ牸鍒嗙錛屽洜姝や笉浼氬彈鍒板獎鍝嶃傝屼笖澶ч儴鍒嗘儏鍐典笅錛屾垜浠槸涓嶉渶瑕佹嫢鏈変竴涓法緇樺浘璁懼鐨勭毊鑲ゅ簱鐨勶紝璀璇存父鎴忓拰搴旂敤紼嬪簭錛屽琛ㄦ諱笉鑳藉仛鎴愪竴鏍風殑銆傚浜庨偅浜涢渶瑕佸悓鏃跺湪DirectX鍜孫penGL涓婇潰榪愯鐨勭▼搴忥紙璀璇?dsmax錛夛紝瀹冨凡緇忔湁DirectX鍜孫penGL鐨勫叕鍏辨帴鍙d簡錛屽洜姝よ繖浜涜蔣浠跺彲浠ュ埄鐢ㄥ畠浠殑鍏叡鎺ュ彛鏉ュ疄鐜癎UI鐨勭粯鍥捐澶囬儴鍒嗭紝浠庤屽湪涓婇潰鏋勯犺搗鏉ョ殑鐨偆鑷劧鏄彲浠ヨ法DirectX鍜孫penGL鐨勩?br><br>    榪欐瘮璧蜂竴騫村墠浣滅殑GUI瀹炵幇鍙堣繘浜嗕竴澶ф銆備笂涓嬈$殑GUI灝濊瘯涓轟笉鍚岀殑緇樺浘璁懼鎶借薄涓濂楀叕鍏辨帴鍙o紝鍚庢潵鎯ㄦ銆備笉鐭ラ亾榪欐瀹為檯涓婂仛鍑烘潵鐨勬晥鏋滃浣曪紝鎷洰浠ュ緟鍚с? <img src ="http://www.shnenglu.com/vczh/aggbug/145380.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/vczh/" target="_blank">闄堟鐎?vczh)</a> 2011-04-30 11:50 <a href="http://www.shnenglu.com/vczh/archive/2011/04/30/145380.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C++鐣岄潰搴擄細浣跨敤Graphic Element Template鍒朵綔鎸夐挳妯℃澘http://www.shnenglu.com/vczh/archive/2009/08/20/93951.html闄堟鐎?vczh)闄堟鐎?vczh)Thu, 20 Aug 2009 13:38:00 GMThttp://www.shnenglu.com/vczh/archive/2009/08/20/93951.htmlhttp://www.shnenglu.com/vczh/comments/93951.htmlhttp://www.shnenglu.com/vczh/archive/2009/08/20/93951.html#Feedback7http://www.shnenglu.com/vczh/comments/commentRss/93951.htmlhttp://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 GMThttp://www.shnenglu.com/vczh/archive/2009/08/19/93848.htmlhttp://www.shnenglu.com/vczh/comments/93848.htmlhttp://www.shnenglu.com/vczh/archive/2009/08/19/93848.html#Feedback5http://www.shnenglu.com/vczh/comments/commentRss/93848.htmlhttp://www.shnenglu.com/vczh/services/trackbacks/93848.html闃呰鍏ㄦ枃

]]>
C++鐣岄潰搴擄細涓篏raphic Element Template鍋氫簡涓涓猉ML Schemahttp://www.shnenglu.com/vczh/archive/2009/08/07/92575.html闄堟鐎?vczh)闄堟鐎?vczh)Fri, 07 Aug 2009 15:29:00 GMThttp://www.shnenglu.com/vczh/archive/2009/08/07/92575.htmlhttp://www.shnenglu.com/vczh/comments/92575.htmlhttp://www.shnenglu.com/vczh/archive/2009/08/07/92575.html#Feedback1http://www.shnenglu.com/vczh/comments/commentRss/92575.htmlhttp://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 GMThttp://www.shnenglu.com/vczh/archive/2009/08/02/91972.htmlhttp://www.shnenglu.com/vczh/comments/91972.htmlhttp://www.shnenglu.com/vczh/archive/2009/08/02/91972.html#Feedback3http://www.shnenglu.com/vczh/comments/commentRss/91972.htmlhttp://www.shnenglu.com/vczh/services/trackbacks/91972.html
緇樺浘鐨勮澶囧綋鐒舵槸闇瑕佸彲鍒囨崲鐨勶紝浜庢槸鐢╞ridge妯″紡瀹氫箟浜嗗ぇ閲忕殑鎺ュ彛錛岃繖浜涙帴鍙g敤鏉ュ垱寤虹敾絎斻佺敾鍒楓佸瓧浣撳拰鍥懼艦錛岀劧鍚庡浘褰㈢敤鏍戠殑褰㈠紡緇勭粐璧鋒潵錛屾渶鍚庢斁鍒頒竴鍧楄窡紿楀彛閾炬帴鐨勭敾鏉夸笂闈紝鏈夐渶瑕佺殑鏃跺欒嚜鍔ㄧ粯鍒躲備負浜嗘渶蹇熷湴寮濮嬪伐浣滐紝鎴戝疄鐜頒簡涓涓狦DI鐨勭粯鍥捐澶囷紝浠ュ悗鏈夌┖鍐嶅仛DirectX鐨勩備絾鏄垜浠煡閬揋DI瀵筧lpha鐨勬敮鎸佹槸寰堝急鐨勶紝鍙湁涓涓彨alphablend鐨凙PI鐢ㄦ潵璐碽itmap錛屽洜姝や負浜嗚鐢誨埛鍜岀敾絎旈兘鑳藉鏀寔alpha娓愬彉銆乤lpha浣嶅浘鍜宎lpha棰滆壊錛屽仛浜嗗緢澶氱殑宸ヤ綔銆?nbsp; 闃呰鍏ㄦ枃

]]>
灝嗘爲鍨嬫暟鎹粨鏋勮漿鎹負鍥劇墖騫惰嚜鍔ㄦ帓鐗?/title><link>http://www.shnenglu.com/vczh/archive/2008/09/07/61244.html</link><dc:creator>闄堟鐎?vczh)</dc:creator><author>闄堟鐎?vczh)</author><pubDate>Sun, 07 Sep 2008 12:18:00 GMT</pubDate><guid>http://www.shnenglu.com/vczh/archive/2008/09/07/61244.html</guid><wfw:comment>http://www.shnenglu.com/vczh/comments/61244.html</wfw:comment><comments>http://www.shnenglu.com/vczh/archive/2008/09/07/61244.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.shnenglu.com/vczh/comments/commentRss/61244.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/vczh/services/trackbacks/61244.html</trackback:ping><description><![CDATA[     鎽樿: 銆庡晩錛岃懕鐖嗙緤鑲夌湡鏄鍟娿傘忎竴杈瑰洖蹇嗙潃榪欎釜浠や漢鎰熷姩鐨勭編椋燂紝涓杈瑰績涓嶅湪鐒夊湴鍐欎簡涓▼搴忋傝繖涓皬紼嬪簭瀹炵幇浜嗕竴涓緢綆鍗曠殑鍔熻兘錛屽皢涓媯墊爲杞崲鎴恇mp鍥劇墖騫惰嚜鍔ㄦ帓鐗堛?nbsp; <a href='http://www.shnenglu.com/vczh/archive/2008/09/07/61244.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/vczh/aggbug/61244.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/vczh/" target="_blank">闄堟鐎?vczh)</a> 2008-09-07 20:18 <a href="http://www.shnenglu.com/vczh/archive/2008/09/07/61244.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>浣跨敤鎷撴墤榪涜鍑犱綍鍥懼艦甯冨皵榪愮畻http://www.shnenglu.com/vczh/archive/2008/06/17/53675.html闄堟鐎?vczh)闄堟鐎?vczh)Tue, 17 Jun 2008 03:20:00 GMThttp://www.shnenglu.com/vczh/archive/2008/06/17/53675.htmlhttp://www.shnenglu.com/vczh/comments/53675.htmlhttp://www.shnenglu.com/vczh/archive/2008/06/17/53675.html#Feedback7http://www.shnenglu.com/vczh/comments/commentRss/53675.htmlhttp://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 GMThttp://www.shnenglu.com/vczh/archive/2008/06/13/53081.htmlhttp://www.shnenglu.com/vczh/comments/53081.htmlhttp://www.shnenglu.com/vczh/archive/2008/06/13/53081.html#Feedback2http://www.shnenglu.com/vczh/comments/commentRss/53081.htmlhttp://www.shnenglu.com/vczh/services/trackbacks/53081.html
    2錛氳В鍐沖杈瑰艦鐨勫竷灝旇繍綆楋紝鏈夊茍闆嗐佷氦闆嗗拰浣欓泦絳?br>
    3錛氫嬌鐢?寮鍙戠敾絎?br>
    4錛氬紑鍙戠敾鍒峰熀紜錛屽疄鐜癈olor Matrix銆乂ertex Transformation鍙婂杈瑰艦娓叉煋

    5錛氬浘鍍忓伐鍏?

]]>
妞渾孌墊壂鎻忓畬鎴?/title><link>http://www.shnenglu.com/vczh/archive/2008/06/12/53057.html</link><dc:creator>闄堟鐎?vczh)</dc:creator><author>闄堟鐎?vczh)</author><pubDate>Thu, 12 Jun 2008 14:02:00 GMT</pubDate><guid>http://www.shnenglu.com/vczh/archive/2008/06/12/53057.html</guid><wfw:comment>http://www.shnenglu.com/vczh/comments/53057.html</wfw:comment><comments>http://www.shnenglu.com/vczh/archive/2008/06/12/53057.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.shnenglu.com/vczh/comments/commentRss/53057.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/vczh/services/trackbacks/53057.html</trackback:ping><description><![CDATA[     鎽樿: 緇堜簬瀹屾垚浜嗙浉褰撲簬GDI涓瑼rc鍑芥暟鐨勫姛鑳戒簡銆傝繖嬈′粛鐒惰窡API鏈夌偣璇樊錛屼笉澶氳繖閲岀殑璇樊鏄疓DI鐨勯棶棰樸傝繖閲岃創鍑烘埅鍥懼拰浠g爜銆傝鐪嬪浘2鍜屽浘3錛屾垜浠煡閬撴き鍦嗘槸瀵圭О鐨勶紝浣嗘槸GDI騫舵病鏈夊仛鍒拌繖涓鐐廣傛垜鐨勭畻娉曚篃涓嶈兘綺劇‘瀵圭О錛屼絾鏄乏鍙充袱杈逛粎鐩稿樊1涓儚绱犮侫rc鏄き鍦嗙殑瀛愰泦錛屾墍浠rc鍦ㄨ繖涓眬閮紙妞渾鐨勬渶涓婃柟錛変腑涔熷簲璇ュ乏鍙沖縐般傚浘1涓垜鍏堢敤GDI緇樺埗榛戣壊Arc錛岀劧鍚庝嬌鐢ㄦ垜鐨勭畻娉曠粯鍒剁孩鑹睞rc銆傝繖閲岀殑鑷傚簲姝ラ暱綆楁硶璺熶笂涓綃囩殑Bezier鏇茬嚎鐨勭畻娉曟槸涓鏍風殑銆?nbsp; <a href='http://www.shnenglu.com/vczh/archive/2008/06/12/53057.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/vczh/aggbug/53057.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/vczh/" target="_blank">闄堟鐎?vczh)</a> 2008-06-12 22:02 <a href="http://www.shnenglu.com/vczh/archive/2008/06/12/53057.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鑷傚簲姝ラ暱Bezier鏇茬嚎鎵弿http://www.shnenglu.com/vczh/archive/2008/06/12/53000.html闄堟鐎?vczh)闄堟鐎?vczh)Thu, 12 Jun 2008 05:20:00 GMThttp://www.shnenglu.com/vczh/archive/2008/06/12/53000.htmlhttp://www.shnenglu.com/vczh/comments/53000.htmlhttp://www.shnenglu.com/vczh/archive/2008/06/12/53000.html#Feedback1http://www.shnenglu.com/vczh/comments/commentRss/53000.htmlhttp://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 GMThttp://www.shnenglu.com/vczh/archive/2008/06/11/52949.htmlhttp://www.shnenglu.com/vczh/comments/52949.htmlhttp://www.shnenglu.com/vczh/archive/2008/06/11/52949.html#Feedback11http://www.shnenglu.com/vczh/comments/commentRss/52949.htmlhttp://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; 闃呰鍏ㄦ枃

]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              国产日韩精品久久久| 玖玖视频精品| 欧美日韩在线播放一区| 日韩图片一区| 一区二区久久久久| 国产性猛交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日韩精品| 亚洲国产精品免费| 久久亚洲春色中文字幕|