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

隨筆 - 505  文章 - 1034  trackbacks - 0
<2012年3月>
26272829123
45678910
11121314151617
18192021222324
25262728293031
1234567


子曾經(jīng)曰過:編程無他,唯手熟爾!

常用鏈接

留言簿(94)

隨筆分類(649)

隨筆檔案(505)

相冊(cè)

BCB

Crytek

  • crymod
  • Crytek's Offical Modding Portal

Game Industry

OGRE

other

Programmers

Qt

WOW Stuff

搜索

  •  

積分與排名

  • 積分 - 923077
  • 排名 - 14

最新隨筆

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

索性這幾個(gè)UI庫都試試 ^_^

截圖


重點(diǎn)
 1)取得句柄
      
pSystem->InitD3D((HWND)this->Handle.ToPointer());

 2)刷新畫面也跟Qt一樣靠定時(shí)器:拖個(gè)Timer(注意:默認(rèn)是Enabled:false,改成true),雙擊下,改下面的函數(shù)
     
    private: System::Void timerRender_Tick(System::Object^  sender, System::EventArgs^  e) {
                 
if (pSystem)
                 {
                     pSystem
->Render();
                 }
             }

       本來我是打Run的主意的
Application::Run(gcnew MainForm());
寫個(gè)類繼承自Application,然后override這個(gè)Run,在其中調(diào)用Render(),試了下,編譯出錯(cuò)
錯(cuò)誤    1    error C3246: “EditorApplication”: 無法從“System::Windows::Forms::Application”繼承,因?yàn)樗驯宦暶鳛?#8220;sealed”    f:\Practise\Practise_2005\WorldEditor\WorldEditor.cpp    9    
Application類不能被繼承?。?!

看了下xoyojank寫的 原創(chuàng) DirectX in C++/CLI ,也用定時(shí)器好了。

3)項(xiàng)目配置: 公共語言運(yùn)行庫支持(/clr)    多線程調(diào)試 DLL (/MDd)


posted on 2008-11-26 23:35 七星重劍 閱讀(1245) 評(píng)論(6)  編輯 收藏 引用 所屬分類: PL--c/c++ 、Game GraphicsIDE -- visual c++

FeedBack:
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉(zhuǎn)動(dòng)的三角形 2008-11-27 21:39 xoyojank
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉(zhuǎn)動(dòng)的三角形 2008-11-28 14:20 七星重劍
 
protected override void WndProc(ref Message m)

{

   
if (m.Msg == 0x000F)

   {

      Frame();

      
this.Invalidate();

   }

   
else

      
base.WndProc(ref m);

}

 
[DllImport("user32.dll")]

public static extern int SendNotifyMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam); 



protected override void WndProc(ref Message m)

{

if (m.Msg == 0x000F)

{

   Frame();

   SendNotifyMessage(
this.Handle, 0x000F, IntPtr.Zero, IntPtr.Zero);

}

else

   
base.WndProc(ref m);

}

  回復(fù)  更多評(píng)論
  
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉(zhuǎn)動(dòng)的三角形 2008-11-28 14:21 七星重劍
這種方式是最好的?
  回復(fù)  更多評(píng)論
  
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉(zhuǎn)動(dòng)的三角形 2010-04-19 15:46 七星重劍
http://blogs.msdn.com/tmiller/archive/2005/05/05/415008.aspx

My last post on render loops (hopefully)..
The most common topic on my blog returns again. This time it will be brief as all I'm going to to do now is show you the render loop the June'05 SDK will be using. A coworker in another group came up with this markedly simple, yet deceptively effective loop for that groups projects. I liked it so much, i'm sharing it with everyone else. =)

The basic loop (slightly modified from his original version and the version in the new SDK for ease of reading):

public void MainLoop()
{
// Hook the application's idle event
System.Windows.Forms.Application.Idle += new EventHandler(OnApplicationIdle);
System.Windows.Forms.Application.Run(myForm);
}

private void OnApplicationIdle(object sender, EventArgs e)
{
while (AppStillIdle)
{
// Render a frame during idle time (no messages are waiting)
UpdateEnvironment();
Render3DEnvironment();
}
}

private bool AppStillIdle
{
get
{
NativeMethods.Message msg;
return !NativeMethods.PeekMessage(out msg, IntPtr.Zero, 0, 0, 0);
}
}


And the declarations for those two native methods members:

[StructLayout(LayoutKind.Sequential)]
public struct Message
{
public IntPtr hWnd;
public WindowMessage msg;
public IntPtr wParam;
public IntPtr lParam;
public uint time;
public System.Drawing.Point p;
}

[System.Security.SuppressUnmanagedCodeSecurity] // We won't use this maliciously
[DllImport("User32.dll", CharSet=CharSet.Auto)]
public static extern bool PeekMessage(out Message msg, IntPtr hWnd, uint messageFilterMin, uint messageFilterMax, uint flags);


------

Simple, elegant, effective. No extra allocations, no extra collections, it just works.. The Idle event fires when there's no messages in the queue, and then the handler keeps looping continuously until a message does appear, in which case it stops.. Once all the messages are handled, the idle event is fired again, and the process starts over.

  回復(fù)  更多評(píng)論
  
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉(zhuǎn)動(dòng)的三角形 2010-04-19 15:55 七星重劍
現(xiàn)在見到這種方式,把控件invalidate了讓其重新繪制。

Application.Idle += new EventHandler(form.Application_Idle);
Application.Run(form);

Invalidator.Shutdown();
MFramework.Shutdown();
}

private void Application_Idle(object sender, EventArgs e)
{
if (this.Visible &&
this.WindowState != FormWindowState.Minimized &&
Form.ActiveForm == this)
{
Invalidator.Instance.Update(true);
}
}

在控件的protected override void OnPaint(PaintEventArgs e)里繪制3D內(nèi)容。  回復(fù)  更多評(píng)論
  
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉(zhuǎn)動(dòng)的三角形 2010-10-31 18:42 funcman
Void OnIdle(Object^ sender, EventArgs^ e) {
MSG msg;
while( !PeekMessage(&msg, 0, 0, 0, 0) ) {
Render();
}
}

//...

int main(array<System::String^>^ args) {
//...

EventHandler^ idle = gcnew EventHandler(OnIdle);
Application::Idle += idle;
Application::Run(gcnew MainForm());
Application::Idle -= idle;

return 0;
}  回復(fù)  更多評(píng)論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              欧美一级大片在线观看| 亚洲毛片一区| 欧美成人国产一区二区| 亚洲另类黄色| 欧美视频日韩视频| 亚洲国产精品成人综合色在线婷婷 | 欧美一区二区视频97| 欧美黄色免费网站| 亚洲欧美日韩一区| 欧美精品二区| 在线观看福利一区| 久久精品国产一区二区三区免费看 | 日韩视频精品在线| 美女亚洲精品| 欧美一区二区日韩| 亚洲东热激情| 亚洲毛片av| 国产日韩精品一区二区浪潮av| 国内精品久久久久影院色 | 亚洲视频免费看| 亚洲国产美国国产综合一区二区| 亚洲欧美另类在线观看| 亚洲精品美女久久7777777| 久久久久成人精品免费播放动漫| 国产精品综合久久久| 亚洲午夜免费福利视频| 亚洲欧洲日产国产综合网| 噜噜爱69成人精品| 亚洲第一在线| 亚洲电影av| 欧美精品福利| 久久久久久久综合日本| 在线视频你懂得一区| 欧美体内she精视频在线观看| 久久国产主播| 欧美日韩天天操| 亚洲欧美精品在线| 免费一级欧美在线大片| 亚洲精品国产精品久久清纯直播| 亚洲第一精品影视| 国产偷国产偷亚洲高清97cao| 亚洲蜜桃精久久久久久久| 欧美私人啪啪vps| 男女精品网站| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲摸下面视频| 葵司免费一区二区三区四区五区| 亚洲人成亚洲人成在线观看图片| 亚洲成人在线网| 欧美日韩一区二区在线观看| 欧美暴力喷水在线| 国产一区欧美日韩| 亚洲综合三区| 亚洲精品1区| 亚洲视频精选在线| 一区二区三区国产在线观看| 午夜精品国产更新| 性色一区二区| 欧美高清一区二区| 午夜精品久久久久久久99水蜜桃 | 欧美国产乱视频| 欧美精品久久久久a| 欧美激情精品久久久六区热门| 狠狠色综合网站久久久久久久| 亚洲高清av| 亚洲精品女人| 欧美激情亚洲自拍| 亚洲美女诱惑| 亚洲午夜国产一区99re久久| 欧美色网在线| 亚洲欧美另类在线观看| 欧美一区二区在线| 国产亚洲欧美在线| 久久亚洲国产精品日日av夜夜| 亚洲图中文字幕| 国产精品护士白丝一区av| 女同一区二区| 亚洲毛片在线看| 欧美日韩一区在线| 亚洲综合导航| 久久综合久久美利坚合众国| 国产精品毛片高清在线完整版| 亚洲成色www久久网站| 亚洲精品乱码视频| 国产精品高清网站| 欧美伊人久久| 久久福利资源站| 国产精品久久综合| 欧美在线影院在线视频| 亚洲国产精品一区二区久 | 国产精品欧美激情| 久久国产手机看片| 久久成人一区| 亚洲日本欧美日韩高观看| 欧美日韩三级在线| 欧美一级淫片播放口| 亚洲激情在线激情| 欧美尤物巨大精品爽| 在线不卡a资源高清| 欧美日韩一区二区视频在线观看 | 亚洲一区二区毛片| 亚洲专区在线视频| 欧美丝袜第一区| 久久久久久久久久久久久女国产乱| 亚洲国产人成综合网站| 午夜亚洲福利| 99re亚洲国产精品| 欧美天堂亚洲电影院在线观看| 欧美一区午夜精品| 日韩午夜电影av| 久久夜色精品国产| 午夜精品久久久久久| 亚洲区中文字幕| 国产三区二区一区久久| 欧美日本一道本| 一区二区三区三区在线| 欧美亚洲网站| 中文高清一区| 亚洲黄网站黄| 亚洲第一搞黄网站| 国产亚洲aⅴaaaaaa毛片| 欧美午夜在线视频| 午夜精品久久久久久久久久久久久| 亚洲高清不卡一区| 久久天天躁夜夜躁狠狠躁2022 | 欧美在线国产精品| 亚洲美女在线视频| 亚洲福利视频一区| 在线观看欧美成人| 国产在线精品一区二区夜色| 国产精品毛片高清在线完整版| 欧美精品三级| 欧美护士18xxxxhd| 欧美成人资源| 亚洲一区二区三区三| 亚洲理伦在线| 亚洲理论在线观看| 亚洲精品专区| 亚洲美女在线观看| 亚洲精品三级| 日韩视频―中文字幕| 亚洲精品一区二区三| 亚洲欧洲美洲综合色网| 亚洲黑丝在线| 亚洲欧洲一区二区天堂久久 | 亚洲精品小视频| 日韩午夜av| 中文欧美字幕免费| 亚洲小视频在线观看| 欧美不卡三区| 亚洲国产日韩欧美综合久久| 欧美激情一区二区三区蜜桃视频 | 欧美www视频| 欧美国产精品久久| 欧美另类久久久品| 欧美三级视频在线播放| 国产精品伦理| 国产一区美女| 亚洲精品一区二区三区四区高清| 亚洲美女精品成人在线视频| 亚洲午夜成aⅴ人片| 欧美在线观看视频在线| 久久综合狠狠综合久久激情| 欧美韩日一区| 中文av一区二区| 久久国产高清| 欧美激情亚洲| 国产精品一区二区久久国产| 一区二区亚洲精品| 国产婷婷成人久久av免费高清 | 黄色av一区| 亚洲免费观看在线观看| 亚洲欧美在线x视频| 久久综合色88| 久久婷婷亚洲| 亚洲精品日韩精品| 欧美亚洲自偷自偷| 欧美激情影音先锋| 国产亚洲成人一区| 日韩香蕉视频| 久久夜色撩人精品| 日韩午夜电影av| 久久躁狠狠躁夜夜爽| 国产精品国内视频| 亚洲国产日韩欧美| 午夜日韩福利| 亚洲人成亚洲人成在线观看图片| 午夜老司机精品| 久久国产精品亚洲va麻豆| 欧美精品在线观看播放| 国产亚洲制服色| 亚洲午夜在线观看| 欧美激情视频一区二区三区免费 | 欧美成人免费网站| 国产一区白浆| 亚洲欧美日本视频在线观看| 亚洲黄色毛片| 麻豆亚洲精品| 精品成人一区二区| 久久精品99无色码中文字幕|