2009-07-14 3 views

ответ

4

Спасибо за ваш ответ, код с этой страницы не будет составлять для меня, однако это мне точку в правильном направлении, это код, я использую (с помощью XNA 3.1)

Во-первых, в то же пространство имен, как в игру скопировать и вставить в этом коде

class User32 
    { 
     [DllImport("user32.dll")] 
     public static extern void SetWindowPos(uint Hwnd, int Level, int X, int Y, int W, int H, uint Flags); 
    } 

Я просто написал это выше моего основного класса «Game», так как я только использовать его в моем классе Game.

Тогда в LoadContent() класса игры (должен быть в пределах метода LoadContent(), не работает должным образом в другом месте), напишите это где-то ...

User32.SetWindowPos((uint)this.Window.Handle, -1, 0, 0, graphics.PreferredBackBufferWidth, graphics.PreferredBackBufferHeight, 0); 

примечание: «графика «является экземпляром GraphicsDeviceManager, который будет создан для вас всякий раз, когда вы начинаете свой проект.

Это также можно использовать для размещения игрового окна везде, где вы хотите на экране. Для меня я хотел его в левом верхнем углу экрана.

+0

мне нравится больше раствора Marcus без размера вещи :) – mnn

+0

Мы на самом деле очень близко к тому же решение .. если вы на самом деле посмотрел на код с этой страницы, вы увидит, что его решение ТАКЖЕ имеет «размерный материал» Разница в том, что мой класс User32 намного проще, использует примитивные переменные вместо объектов и не имеет ненужных методов удобства. Однако причина, по которой я использую свое решение, заключалась в том, что у меня были ошибки времени компиляции при создании нескольких константных и статических переменных в классе User32. – Danny

3

http://www.pinvoke.net/default.aspx/user32/SetWindowPos.html

Включите значения из выборки страницы в классе WinAPI и вызвать эту функцию из своего класса игры:

WinApi.SetWindowPos(this.Window.Handle, HWND_TOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS); 

Это должно сделать это.

0

Самый простой способ - установить графическое устройство для отображения полного экрана. Поместите следующий код в ваш основной метод игры:

this.graphics.IsFullScreen = true; 
+0

Да, я знаю, что могу это сделать, но мое требование - сохранить окно в оконном режиме и сделать его самым верхним. Я уже пошел с ответом, который я предоставил для своего собственного вопроса, StackOverflow просто не позволяет мне принять мой собственный ответ. – Danny

Смежные вопросы