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

隨筆 - 505  文章 - 1034  trackbacks - 0
<2010年4月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678


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

常用鏈接

留言簿(94)

隨筆分類(649)

隨筆檔案(505)

相冊

BCB

Crytek

  • crymod
  • Crytek's Offical Modding Portal

Game Industry

OGRE

other

Programmers

Qt

WOW Stuff

搜索

  •  

積分與排名

  • 積分 - 923086
  • 排名 - 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 七星重劍 閱讀(1245) 評論(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久久精品日日躁夜夜躁欧美| 欧美专区在线观看| 一区二区三区久久网| 欧美日韩国产综合在线| 91久久夜色精品国产网站| 亚洲破处大片| 欧美视频中文一区二区三区在线观看 | 欧美一区在线直播| 久久国产精品第一页 | 欧美精品激情在线观看| 亚洲午夜久久久久久久久电影院| 亚洲新中文字幕| 在线不卡a资源高清| 最新国产乱人伦偷精品免费网站| 欧美日韩在线视频首页| 欧美在线一二三四区| 美日韩精品视频| 中文精品一区二区三区| 香蕉成人久久| 日韩视频在线一区二区| 亚洲欧美激情一区二区| 亚洲国产日韩欧美| 亚洲视频在线观看视频| 亚洲第一精品在线| 亚洲专区在线视频| 亚洲人成在线影院| 午夜精品999| 99综合在线| 久久精品一区二区国产| 一区二区三区欧美激情| 久久伊人免费视频| 性欧美xxxx大乳国产app| 欧美高清在线视频| 久久综合色影院| 国产精品久久久999| 亚洲国产另类久久久精品极度| 国产精品免费小视频| 欧美大片在线看| 国产日韩欧美91| 亚洲乱码久久| 亚洲日本无吗高清不卡| 欧美中文日韩| 亚洲自拍啪啪| 欧美精品乱码久久久久久按摩 | 亚洲激情在线视频| 欧美一区二区三区精品| 亚洲一区二区三区久久| 欧美极品影院| 亚洲大片在线| 亚洲电影av在线| 久久久久.com| 久久九九久久九九| 国产欧美精品日韩区二区麻豆天美| 91久久国产综合久久91精品网站| 极品尤物久久久av免费看| 亚洲欧美激情诱惑| 午夜久久tv| 国产精品激情偷乱一区二区∴| 9l国产精品久久久久麻豆| 一本色道久久综合亚洲精品小说| 欧美二区视频| 亚洲国产一区二区三区青草影视 | 国产综合久久| 久久激情一区| 麻豆成人综合网| 在线观看视频一区二区| 久久婷婷影院| 欧美成人嫩草网站| 亚洲国内自拍| 欧美激情综合色| 一本久道久久综合狠狠爱| 亚洲永久免费观看| 国产精品久久久久天堂| 亚洲先锋成人| 久久蜜桃精品| 在线成人激情| 欧美日本不卡| 亚洲一区二区视频| 久久久成人网| 在线观看亚洲视频| 免费成人美女女| 夜夜嗨av一区二区三区四区| 性久久久久久久久久久久| 国产精品久久一卡二卡| 久久精品国产v日韩v亚洲| 欧美v亚洲v综合ⅴ国产v| 在线精品在线| 欧美日韩福利在线观看| 亚洲综合色网站| 免费中文日韩| 亚洲一区二区三区视频播放| 国产欧美一区二区三区在线看蜜臀| 欧美中文在线视频| 91久久国产自产拍夜夜嗨| 亚洲欧美激情精品一区二区| 韩国三级电影久久久久久| 欧美乱大交xxxxx| 午夜精品在线观看| 亚洲日本激情| 久久婷婷影院| 亚洲综合色激情五月| 黄色成人91| 国产精品jvid在线观看蜜臀| 久久精品一区蜜桃臀影院| 一区二区不卡在线视频 午夜欧美不卡在| 久久国产精品色婷婷| 亚洲视频中文字幕| 亚洲经典三级| 国产日韩在线不卡| 欧美午夜不卡| 男女精品网站| 久久九九全国免费精品观看| 国产精品99久久久久久www| 欧美激情按摩| 久久久www| 性做久久久久久久久| 一区二区三区福利| 亚洲黄色在线看| 伊人久久亚洲美女图片| 国产精品视频午夜| 欧美日韩一区在线视频| 欧美大片在线看免费观看| 久久精品视频网| 欧美在线免费播放| 午夜激情一区| 亚洲欧美另类中文字幕| 一区二区不卡在线视频 午夜欧美不卡在| 欧美成ee人免费视频| 噜噜噜躁狠狠躁狠狠精品视频| 欧美亚洲免费高清在线观看| 亚洲性视频网址| 亚洲天堂男人| 亚洲女爱视频在线| 亚洲一区免费网站| 亚洲一区二区伦理| 亚洲午夜精品国产| 国产精品99久久久久久白浆小说| 亚洲美女视频在线免费观看| 亚洲精品欧美日韩| 亚洲精一区二区三区| 亚洲精品一区二区三区樱花| 亚洲精品欧美日韩专区| 亚洲精品免费在线| 999亚洲国产精| 亚洲网在线观看| 亚洲男人天堂2024| 欧美亚洲一区二区在线| 久久精品国产96久久久香蕉| 久久精品国产久精国产思思| 久久久久久久综合| 欧美高清在线观看| 亚洲国产三级在线| 一本到高清视频免费精品| 亚洲色图自拍| 欧美一区二区三区在线免费观看 | 亚洲美女在线看| 亚洲午夜久久久久久久久电影院| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲欧美日韩系列| 久久一区二区三区四区五区| 欧美黑人在线观看| 国产精品日本一区二区| 国产婷婷色一区二区三区在线 | 国内精品久久久久久久97牛牛| 国产一区视频网站| 亚洲精品免费在线| 香蕉久久国产| 欧美xx69| 亚洲五月婷婷| 美国成人直播| 国产精品久久久久久久7电影| 国产一区二区三区成人欧美日韩在线观看 | 亚洲国产99| 亚洲自拍16p| 欧美福利视频在线| 一本一道久久综合狠狠老精东影业| 欧美一区二区在线免费播放| 欧美成人视屏| 国产亚洲一区精品| 99re66热这里只有精品4| 久久久精品一区二区三区| 亚洲高清视频中文字幕| 亚洲欧美怡红院| 欧美日韩999| 伊人久久婷婷色综合98网| 亚洲欧美第一页| 亚洲经典三级| 久久尤物视频| 国产日韩精品视频一区| 一本久道久久久| 欧美国产综合视频| 久久国产乱子精品免费女| 国产精品伦子伦免费视频| 日韩网站在线| 欧美成年人网|