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

隨筆 - 505  文章 - 1034  trackbacks - 0
<2008年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

搜索

  •  

積分與排名

  • 積分 - 920381
  • 排名 - 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 七星重劍 閱讀(1236) 評論(6)  編輯 收藏 引用 所屬分類: PL--c/c++Game GraphicsIDE -- 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>
              欧美福利电影网| 亚洲自拍偷拍福利| 91久久嫩草影院一区二区| 亚洲国产欧美一区| 日韩亚洲精品电影| 欧美在线视频在线播放完整版免费观看| 欧美亚洲综合在线| 欧美精品久久久久久久久老牛影院| 欧美日韩精品是欧美日韩精品| 国产亚洲精品资源在线26u| 亚洲国产成人在线视频| 午夜精品www| 欧美激情视频在线播放 | 欧美韩国一区| 国产精品日韩欧美综合| 99精品国产福利在线观看免费| 国产精品久久久久免费a∨| 影音先锋中文字幕一区| 久久国产精品久久久久久| 99re视频这里只有精品| 欧美不卡视频一区| 亚洲乱码视频| 午夜精品久久久久久99热软件| 黄色成人片子| 销魂美女一区二区三区视频在线| 亚洲电影自拍| 久久综合给合| 亚洲精品1区2区| 欧美激情一区三区| 欧美日韩一区免费| 午夜久久久久久久久久一区二区| 亚洲国产精品ⅴa在线观看| 欧美不卡激情三级在线观看| 亚洲欧美日韩精品久久久| 国产精品www| 欧美一区免费视频| 欧美一级久久久久久久大片| 欧美视频在线观看免费| 亚洲私人黄色宅男| 午夜在线观看免费一区| 在线观看亚洲精品| 亚洲乱码国产乱码精品精| 亚洲一区亚洲| 亚洲精品中文字| 99精品国产一区二区青青牛奶| 欧美午夜精品久久久久久超碰| 久久国产主播| 欧美成人午夜影院| 久久综合精品一区| 亚洲视频免费看| 蜜臀va亚洲va欧美va天堂| 亚洲欧美成人精品| 久久五月婷婷丁香社区| 亚洲欧美日韩国产一区二区| 一本色道88久久加勒比精品 | 国产一区二区三区的电影| 久久精品人人做人人综合| 欧美日韩一级视频| 亚洲九九精品| 欧美精品一区二区在线观看| 9人人澡人人爽人人精品| 最近中文字幕mv在线一区二区三区四区| 欧美日韩日韩| 亚洲人www| 亚洲美女福利视频网站| 久久久久久久久岛国免费| 欧美一区二区三区在线观看视频| 欧美精品日韩一区| 老色鬼精品视频在线观看播放| 久久久久99精品国产片| 久久九九久久九九| 欧美国产在线电影| 伊人久久亚洲热| 久久国产一区二区三区| 久久成人资源| 亚洲国产婷婷香蕉久久久久久99| 久久久久一区二区三区四区| 久久黄色级2电影| 亚洲成人在线网站| 欧美一级久久久久久久大片| 欧美精品在线观看91| 这里只有精品电影| 蜜桃av综合| 亚洲精品麻豆| 国产日韩精品视频一区| 欧美在线视频观看| 亚洲欧洲一区二区在线观看 | 久久久久国产免费免费| 欧美激情第三页| 欧美淫片网站| 一本大道av伊人久久综合| 国产精品影视天天线| 久久综合给合久久狠狠色| 日韩一级在线观看| 欧美不卡一区| 久久三级福利| 欧美一区视频在线| 在线综合亚洲| 亚洲人成亚洲人成在线观看图片| 国产精品视频免费| 欧美日韩免费观看一区| 老司机免费视频一区二区| 欧美亚洲一区| 亚洲网站在线| 亚洲高清精品中出| 一区二区电影免费在线观看| 亚洲字幕在线观看| 久久日韩精品| 中文国产成人精品久久一| 免费看的黄色欧美网站| 亚洲已满18点击进入久久| 亚洲视频福利| 国产精品自在欧美一区| 欧美精品亚洲二区| 夜夜嗨av一区二区三区网站四季av| 欧美一区在线看| 久久国产精品一区二区| 国产亚洲精品bt天堂精选| 欧美专区第一页| 久久久久在线观看| 9色精品在线| 午夜精品久久| 看欧美日韩国产| 久久三级视频| 欧美一区二区三区四区在线| 亚洲欧美日韩国产成人| 亚洲视频播放| 欧美国产日韩亚洲一区| 国产精品日韩欧美一区二区| 亚洲精品在线电影| 麻豆国产精品一区二区三区 | 免费成人av资源网| 欧美二区在线观看| 一区二区三区在线观看国产| 亚洲网站在线| 亚洲国产精品成人综合| 久久欧美中文字幕| 在线观看视频一区| 老妇喷水一区二区三区| 久久电影一区| 国产婷婷成人久久av免费高清| 一本色道久久综合亚洲精品小说 | 欧美va亚洲va日韩∨a综合色| 国产亚洲精品美女| 欧美xx69| 国产精品久久久久久久久搜平片 | 国语自产在线不卡| 欧美激情四色| 极品裸体白嫩激情啪啪国产精品| 亚洲精品系列| 一区二区在线观看av| 亚洲精品五月天| 99亚洲一区二区| 国产欧美日韩综合精品二区| 久久精品一区二区三区不卡牛牛| 欧美激情精品久久久久久久变态| 欧美在线免费视屏| 尤物精品国产第一福利三区| 亚洲国产精品尤物yw在线观看 | 夜夜嗨av一区二区三区网页| 99视频精品在线| 国产欧美日韩一区二区三区| 欧美在线网站| 免费成人av在线| 日韩视频免费观看高清在线视频| 亚洲免费av网站| 国产视频欧美| 亚洲精品欧美日韩专区| 国产一区二区三区免费不卡| 久久夜色精品国产欧美乱| 欧美日韩在线看| 欧美成人午夜免费视在线看片 | 美女视频网站黄色亚洲| 日韩亚洲在线观看| 亚洲在线一区二区| 国产日本欧美一区二区三区| 欧美69wwwcom| 欧美精品一区二区久久婷婷| 久久精品国产精品亚洲综合| 欧美三级在线| 一本久久青青| 99热在线精品观看| 久久久精品999| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 国内精品免费午夜毛片| 91久久久亚洲精品| 欧美—级高清免费播放| 亚洲美女在线看| 亚洲免费在线观看| 一色屋精品视频免费看| 夜夜嗨av色一区二区不卡| 久久综合给合久久狠狠狠97色69| 亚洲视频一区二区在线观看| 国产欧美精品xxxx另类| 久久久亚洲欧洲日产国码αv| 欧美一区二区观看视频| 亚洲国产另类 国产精品国产免费| 牛牛影视久久网| 亚洲精品国精品久久99热一| 篠田优中文在线播放第一区|