如何在C++中更改窗口大小
How to change window size in C++?
嗨,我必须在C++中运行一个程序,我想确保在执行程序时,它会以特定的大小/尺寸打开控制台,以便在我的程序中显示正确。我需要帮助,因为我不知道该怎么做。我正在使用开发C++ 5.42(奥威尔)。我试过使用
#include<iostream>
#include<windows.h>
using namespace std;
SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW);
int main(){
cout<<"Hello World";
}
并收到错误
[Error] expected constructor, destructor, or type conversion before '(' token
我是初学者,因此对这些事情了解不多。
该函数对于没有窗口的控制台应用程序毫无用处(除非它们使用 CreateWindow
API 创建一个窗口,这对于控制台应用程序来说是非典型的)。 相反,它们的输出连接到csrss,它确实有窗口。
你应该使用
-
SetConsoleScreenBufferSize
-
SetConsoleWindowInfo
相反。
有一个例子在 http://www.cplusplus.com/forum/windows/10731/
这对
我有用:
HWND hwnd = GetConsoleWindow();
if( hwnd != NULL ){ MoveWindow(hwnd ,340,550 ,680,150 ,TRUE); }
如果您要更改屏幕缓冲区,则:
HANDLE buff = GetStdHandle(STD_OUTPUT_HANDLE);
COORD sizeOfBuff;
sizeOfBuff.X=150;
sizeOfBuff.Y=100;
SetConsoleScreenBufferSize(buff,sizeOfBuff);
要调整屏幕大小,请使用DaveWalley的解决方案。
或者你可以这样做(仅用于调整大小)
HWND hwnd = GetConsoleWindow();
if( hwnd != NULL ){ SetWindowPos(hwnd ,0,0,0 ,1000,300 ,SWP_SHOWWINDOW|SWP_NOMOVE); }
请务必包括:
#define _WIN32_WINNT 0x0502
#include<windows.h>
在文件的开头。字面意思是第一行。
通过编辑本·福格特提到的功能来获得解决方案。
相关文章:
- SDL2 调整窗口大小后如何缩放鼠标坐标?
- 如何设置与其背景图像大小相对应的窗口大小?
- 如何防止opengl绘图拉伸到窗口大小?
- 使用 Win32 将 GDI 绘制大小缩放为窗口大小
- 恢复Qt窗口大小和位置问题
- 与WM_DPICHANGED消息一起发送的建议窗口大小太大
- 快板获取当前窗口大小
- 当窗口大小更改时,如何自动缩放QT中的图表
- 尝试在 win 32 中禁用窗口大小调整时,窗口样式行为不一致
- OpenGL纹理闪烁/有时在窗口大小上移动
- QGraphics手动调整窗口大小后场景宽度/高度没有变化
- Qt - 防止在拖动标题栏时调整窗口大小
- 在 Direct2D 绘图中,调整窗口大小后尺寸会更改
- 在窗口大小上绘制的OpenGL消失
- XDG-Shell:如何更改窗口大小
- WinAPI.检查窗口大小调整是否已完成
- Win32 透明全屏仅在窗口大小溢出桌面时才有效
- 如何设置启用setFixize后再次调整主窗口大小
- C ,QT,防止窗口大小大于实际布局高度
- 使用第二个线程快速更新 GUI 窗口会通过调整窗口大小或移动窗口而崩溃