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

隨筆 - 505  文章 - 1034  trackbacks - 0
<2008年3月>
2425262728291
2345678
9101112131415
16171819202122
23242526272829
303112345


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

常用鏈接

留言簿(94)

隨筆分類(649)

隨筆檔案(505)

相冊

BCB

Crytek

  • crymod
  • Crytek's Offical Modding Portal

Game Industry

OGRE

other

Programmers

Qt

WOW Stuff

搜索

  •  

積分與排名

  • 積分 - 923668
  • 排名 - 14

最新隨筆

最新評論

閱讀排行榜

評論排行榜

索性這幾個(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 七星重劍 閱讀(1246) 評論(6)  編輯 收藏 引用 所屬分類: PL--c/c++Game GraphicsIDE -- visual c++

FeedBack:
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉(zhuǎn)動的三角形 2008-11-27 21:39 xoyojank
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉(zhuǎn)動的三角形 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ù)  更多評論
  
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉(zhuǎn)動的三角形 2008-11-28 14:21 七星重劍
這種方式是最好的?
  回復(fù)  更多評論
  
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉(zhuǎn)動的三角形 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ù)  更多評論
  
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉(zhuǎn)動的三角形 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ù)  更多評論
  
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉(zhuǎn)動的三角形 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ù)  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              开心色5月久久精品| 一区在线免费| 午夜国产欧美理论在线播放| 免费成人美女女| 久久精品国产2020观看福利| 久久久久久电影| 亚洲二区精品| 欧美伦理a级免费电影| 一本色道久久综合一区| 欧美亚洲综合在线| 黄色成人片子| 欧美精品免费看| 亚洲欧美日韩在线| 蘑菇福利视频一区播放| 日韩视频免费在线观看| 国产精品午夜国产小视频| 久久久久国产精品午夜一区| 亚洲国内精品| 午夜精品久久久久99热蜜桃导演| 国产亚洲电影| 欧美成人免费全部观看天天性色| 99国产一区二区三精品乱码| 久久久久久久久久久久久女国产乱| 亚洲国产精品尤物yw在线观看| 欧美日韩国产一级| 久久国产精品99精品国产| 亚洲精品小视频| 久久久精品午夜少妇| av72成人在线| 国产最新精品精品你懂的| 欧美日韩国产美| 久久精品女人的天堂av| 一本一本久久a久久精品综合妖精| 久久精品国产免费看久久精品| 亚洲精品少妇| 激情小说另类小说亚洲欧美| 欧美三级网址| 欧美成年人网站| 欧美影视一区| 亚洲一区二三| 日韩香蕉视频| 亚洲第一精品福利| 久久色在线播放| 先锋影音久久久| 一区二区三区欧美在线观看| 在线成人h网| 国产人成精品一区二区三| 欧美日韩不卡| 欧美激情第1页| 鲁大师影院一区二区三区| 久久国产主播| 午夜在线电影亚洲一区| 亚洲视频精选| 99国产精品自拍| 亚洲精品一二| 91久久国产综合久久蜜月精品| 久久综合久久综合久久| 久久国产加勒比精品无码| 宅男噜噜噜66一区二区66| 亚洲美女精品久久| 亚洲黄色免费电影| 亚洲国产1区| 亚洲电影免费在线观看| 在线看片日韩| 一区二区三区在线观看欧美| 国产最新精品精品你懂的| 国产女人18毛片水18精品| 国产精品一级在线| 国产精品免费看片| 国产乱码精品| 国产视频一区二区在线观看| 国产欧美日韩综合| 国产视频在线观看一区二区| 国产三级欧美三级| 国产一区二区三区丝袜| 国产主播一区二区三区四区| 国产综合视频| 伊人精品久久久久7777| **欧美日韩vr在线| 亚洲人成欧美中文字幕| 亚洲免费高清视频| 亚洲一区在线播放| 欧美在线3区| 狂野欧美激情性xxxx| 欧美国产日韩精品| 亚洲日本成人网| 亚洲无线视频| 久久成人亚洲| 你懂的成人av| 国产精品成人免费| 国产日韩在线一区| 亚洲电影在线| 99国产精品久久久久久久| 亚洲视频高清| 久久狠狠婷婷| 欧美国产综合| 亚洲视频电影在线| 久久精品91久久久久久再现| 蜜臀av国产精品久久久久| 欧美日韩免费在线观看| 国产伦精品一区二区三区高清版 | 久久精品夜色噜噜亚洲a∨| 久久久久一本一区二区青青蜜月| 免费成人在线视频网站| 欧美视频四区| 激情综合五月天| 一区二区日韩精品| 久久精品亚洲国产奇米99| 欧美成人精品在线| 亚洲视频综合在线| 麻豆av一区二区三区| 欧美日韩综合| 1024国产精品| 亚洲伊人伊色伊影伊综合网| 久久亚洲视频| 一本色道久久综合精品竹菊| 久久久久久久97| 欧美午夜激情在线| 亚洲国产日韩欧美在线99| 亚洲欧美激情在线视频| 欧美成人综合网站| 亚洲伊人网站| 欧美区高清在线| 悠悠资源网久久精品| 午夜伦欧美伦电影理论片| 欧美电影免费观看高清完整版| 在线综合亚洲| 欧美激情欧美狂野欧美精品| 狠久久av成人天堂| 亚洲在线视频观看| 亚洲欧洲在线免费| 老司机成人网| 国产一区二区高清不卡| 亚洲一区二区在线免费观看视频| 六月天综合网| 欧美一区二区三区视频在线 | 亚洲精品一区在线观看香蕉| 久久不见久久见免费视频1| 国产精品乱码| 亚洲性图久久| 亚洲免费成人| 欧美精品一区二| 91久久在线观看| 蜜臀av国产精品久久久久| 亚洲欧美日韩精品久久亚洲区| 欧美美女日韩| 99国产精品视频免费观看| 欧美sm极限捆绑bd| 久久精品国产第一区二区三区最新章节 | 国产婷婷色一区二区三区在线 | 欧美精品在线一区二区| 亚洲国产精品成人| 免费成人黄色| 久久综合九色综合久99| 国产亚洲精品成人av久久ww| 亚洲女人天堂成人av在线| 日韩亚洲欧美高清| 欧美日韩国产精品成人| 99亚洲精品| 亚洲美女av在线播放| 欧美麻豆久久久久久中文| 日韩一二三区视频| 亚洲麻豆国产自偷在线| 欧美日韩和欧美的一区二区| 一二三区精品福利视频| 日韩视频专区| 国产精品久久国产精麻豆99网站| 亚洲永久免费精品| 亚洲一区二区三区欧美| 国产欧美日韩综合| 久久青草久久| 免费不卡在线视频| av成人老司机| 一区二区三区波多野结衣在线观看| 欧美日韩免费观看一区三区| 亚洲一区二区视频| 午夜精品免费| 黄色av日韩| 91久久国产综合久久| 欧美视频精品在线观看| 欧美中文字幕第一页| 久久9热精品视频| 亚洲激情欧美| 一区二区久久| 国产曰批免费观看久久久| 欧美成人精精品一区二区频| 欧美国产精品v| 亚洲欧美日韩精品综合在线观看| 亚洲欧美视频一区二区三区| 好看的av在线不卡观看| 亚洲国产经典视频| 国产精品乱码人人做人人爱| 久久久999国产| 欧美国产丝袜视频| 欧美一级午夜免费电影| 久久免费视频在线观看| 在线一区免费观看| 久久国产日本精品| 亚洲美女在线一区| 欧美亚洲尤物久久|