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

隨筆 - 505  文章 - 1034  trackbacks - 0
<2025年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910


子曾經曰過:編程無他,唯手熟爾!

常用鏈接

留言簿(94)

隨筆分類(649)

隨筆檔案(505)

相冊

BCB

Crytek

  • crymod
  • Crytek's Offical Modding Portal

Game Industry

OGRE

other

Programmers

Qt

WOW Stuff

搜索

  •  

積分與排名

  • 積分 - 925422
  • 排名 - 14

最新隨筆

最新評論

閱讀排行榜

評論排行榜

索性這幾個UI庫都試試 ^_^

截圖


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

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

       本來我是打Run的主意的
Application::Run(gcnew MainForm());
寫個類繼承自Application,然后override這個Run,在其中調用Render(),試了下,編譯出錯
錯誤    1    error C3246: “EditorApplication”: 無法從“System::Windows::Forms::Application”繼承,因為它已被聲明為“sealed”    f:\Practise\Practise_2005\WorldEditor\WorldEditor.cpp    9    
Application類不能被繼承!??!

看了下xoyojank寫的 原創 DirectX in C++/CLI ,也用定時器好了。

3)項目配置: 公共語言運行庫支持(/clr)    多線程調試 DLL (/MDd)


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

FeedBack:
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉動的三角形 2008-11-27 21:39 xoyojank
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉動的三角形 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);

}

  回復  更多評論
  
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉動的三角形 2008-11-28 14:21 七星重劍
這種方式是最好的?
  回復  更多評論
  
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉動的三角形 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.

  回復  更多評論
  
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉動的三角形 2010-04-19 15:55 七星重劍
現在見到這種方式,把控件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內容。  回復  更多評論
  
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉動的三角形 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;
}  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              国产伦精品一区二区三区在线观看 | 亚洲天堂av在线免费| 亚洲精品一区二区三区av| 99精品国产热久久91蜜凸| 亚洲永久字幕| 欧美激情按摩在线| 激情丁香综合| 亚洲综合色自拍一区| 欧美电影免费观看大全| 亚洲一区二区在线观看视频| 国产精品视频专区| 亚洲视频免费观看| 亚洲第一黄色| 久久久久欧美| 这里只有视频精品| 欧美伦理影院| 亚洲精品视频免费观看| 久久综合九色综合欧美狠狠| 亚洲无线一线二线三线区别av| 国产精品久久久久久久久久免费 | 欧美大片免费观看| 国产一区二区高清不卡| 亚洲视频在线二区| 午夜欧美不卡精品aaaaa| 欧美性大战久久久久久久蜜臀| 亚洲激情第一区| 蜜臀99久久精品久久久久久软件| 亚洲欧美日韩国产综合| 国产精品久久久久久av福利软件| 久久久久国产一区二区三区四区 | 亚洲午夜国产成人av电影男同| 国产精品在线看| 欧美成人三级在线| 国产精品成人免费| 免费亚洲视频| 国产精品家庭影院| 欧美高清视频在线观看| 国产精品久久久久久久一区探花 | 欧美激情a∨在线视频播放| 欧美在线网站| 激情欧美丁香| 亚洲图片欧美一区| 亚洲精品乱码视频| 欧美在线播放| 亚洲中午字幕| 欧美精品日韩精品| 亚洲一区二区三区免费在线观看| 一本色道久久综合亚洲91| 欧美视频精品在线| 新67194成人永久网站| 午夜精品一区二区三区在线| 一本色道久久88亚洲综合88| 一区二区三区欧美成人| 亚洲国产精品视频| 日韩视频免费| 国产欧美日韩不卡| 欧美aⅴ一区二区三区视频| 欧美精品七区| 亚洲二区视频在线| 狠狠色狠色综合曰曰| 亚洲国产一二三| 国产精品黄色在线观看| 91久久精品美女高潮| 国产精品久久一区二区三区| 亚洲人午夜精品| 国产精品一区二区三区久久| 亚洲精品视频在线观看免费| 亚洲日本激情| 欧美国产丝袜视频| 亚洲欧洲精品成人久久奇米网| 亚洲黄色成人网| 欧美sm极限捆绑bd| 性久久久久久久久久久久| 欧美色播在线播放| 一区二区国产日产| 亚洲欧美成人一区二区在线电影 | 欧美一区深夜视频| 亚洲精品少妇网址| 欧美激情aⅴ一区二区三区| 亚洲第一黄网| 一区二区三区国产在线| 久久久五月天| 欧美在线免费一级片| 欧美激情欧美狂野欧美精品| 亚洲高清色综合| 99v久久综合狠狠综合久久| 久久疯狂做爰流白浆xx| 在线综合欧美| 国产精品成人一区二区三区夜夜夜 | 午夜精品久久久久久久久| 久久综合色8888| 久久久久国产一区二区三区四区 | 国产精品一区二区三区观看| 性亚洲最疯狂xxxx高清| 蜜桃av一区二区| 99精品国产在热久久婷婷| 欧美涩涩网站| 欧美中文字幕| 亚洲欧洲免费视频| 性欧美精品高清| 亚洲电影免费| 久久亚洲视频| 免费看成人av| 亚洲午夜国产成人av电影男同| 国产精品三级久久久久久电影| 午夜精品久久久久久久久| 久久这里有精品视频| 亚洲最新在线视频| 国产一区激情| 最近中文字幕日韩精品| 午夜在线电影亚洲一区| 亚洲福利视频在线| 国产精品无人区| 欧美国产成人在线| 欧美中文字幕| 一区二区三区蜜桃网| 欧美不卡在线| 久久er99精品| 亚洲婷婷综合色高清在线| 国精品一区二区| 国产精品热久久久久夜色精品三区| 久久五月天婷婷| 亚洲免费在线播放| 久久综合亚州| 亚洲美女视频网| 欧美四级在线观看| 免费看的黄色欧美网站| 性色av一区二区三区| avtt综合网| 亚洲国产日本| 欧美大成色www永久网站婷| 欧美一区激情视频在线观看| 狠狠色狠狠色综合日日小说| 国产精品美女主播| 欧美视频精品在线| 欧美另类久久久品| 欧美激情一区三区| 欧美成人精品高清在线播放| 久久久久成人网| 久久精品盗摄| 欧美在线观看视频一区二区三区 | 亚洲高清av在线| 牛牛精品成人免费视频| 麻豆久久婷婷| 蜜桃久久精品乱码一区二区| 久久久夜夜夜| 久久综合给合| 老司机精品福利视频| 麻豆国产精品一区二区三区| 久久免费的精品国产v∧| 久久se精品一区精品二区| 午夜精品www| 久久国产精品99国产精| 欧美伊人久久久久久久久影院| 性久久久久久久| 久久精品亚洲国产奇米99| 亚洲精品一区二区三区蜜桃久 | 国产精品免费一区二区三区观看| 欧美日韩中文字幕在线| 欧美午夜一区二区| 国产欧美日韩亚洲一区二区三区| 国产区精品视频| 黄色成人在线网址| 亚洲欧洲日夜超级视频| 国产亚洲欧美一区二区| 激情五月***国产精品| 一区在线视频| 欧美视频一区在线| 国产精品久久久久久福利一牛影视| 国产精品mm| 狠狠综合久久av一区二区老牛| 在线观看成人网| 亚洲深夜av| 久久国产精品黑丝| 欧美国产日本韩| 亚洲天堂男人| 久久久久久久综合狠狠综合| 欧美金8天国| 国产色爱av资源综合区| 国产精品久久一级| 韩国av一区| 亚洲午夜精品视频| 久久免费一区| 一本大道久久a久久精品综合| 欧美一级理论片| 欧美破处大片在线视频| 国产欧美日韩在线播放| 亚洲乱码国产乱码精品精可以看| 亚洲天堂成人在线视频| 久久久久国产精品www| 亚洲激情视频在线播放| 性色一区二区| 欧美激情综合五月色丁香| 国产精品久久一卡二卡| 亚洲欧洲日本专区| 久久激情综合网| 一区二区三区欧美在线观看| 久久一区激情| 国产自产女人91一区在线观看| 在线性视频日韩欧美|