easyx打开窗口时在屏幕左下角怎么办
时间: 2023-12-14 21:02:51 浏览: 170
c++ easyx入门示例源码_C++_EASYX语法_easyx窗口颜色_simpleist_easyx使用范例_
5星 · 资源好评率100%
如果在使用EasyX打开窗口时在屏幕左下角,可能是窗口的初始位置设置不正确导致的。可以通过如下两种方式进行修改:
1. 在调用 `initgraph` 函数之前,使用 `HWND` 类型的变量和 `GetDesktopWindow()` 函数获取桌面窗口句柄,然后使用 `GetClientRect` 函数获取桌面窗口客户区的大小并计算出窗口左上角的坐标,最后在 `initgraph` 函数的第三个参数中指定窗口的初始位置。
示例代码如下:
```c++
#include <graphics.h>
#include <Windows.h>
int main()
{
HWND hwnd = GetDesktopWindow();
RECT rect;
GetClientRect(hwnd, &rect);
int width = rect.right - rect.left;
int height = rect.bottom - rect.top;
initgraph(width, height, SHOWCONSOLE);
// 窗口左上角的坐标为 (0, 0)
// ...
closegraph();
return 0;
}
```
2. 在调用 `initgraph` 函数之后,使用 `HWND` 类型的变量和 `GetHwnd` 函数获取窗口句柄,然后使用 `SetWindowPos` 函数将窗口移动到屏幕的合适位置。
示例代码如下:
```c++
#include <graphics.h>
#include <Windows.h>
int main()
{
initgraph(640, 480, SHOWCONSOLE);
// ...
HWND hwnd = GetHWnd();
RECT rect;
GetClientRect(hwnd, &rect);
int width = rect.right - rect.left;
int height = rect.bottom - rect.top;
SetWindowPos(hwnd, NULL, 100, 100, width, height, SWP_SHOWWINDOW);
// ...
closegraph();
return 0;
}
```
以上两种方式都可以将窗口移动到屏幕的合适位置,具体实现可以根据自己的需要选择。
阅读全文