我正在为我的高中做一个c ++项目。我正在使用Dev c ++和图形。我想要的是当BGI窗口打开时它应该以最大化模式而不是普通窗口开始。 以下是我的代码,但它不起作用:(
#include<iostream>
#include<conio.h>
#include<graphics.h>
#include<windows.h>
using namespace std;
void loading() {
int x=170,i,gdriver=DETECT,gmode;
initgraph(&gdriver,&gmode,"");
settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(170,180,"LOADING,PLEASE WAIT");
for(i=0;i<300;++i)
{
delay(30);
line(x,200,x,220);
x++;
}
getch();
}
main() {
ShowWindow( GetConsoleWindow(), SW_HIDE );
loading();
ShowWindow(FindWindow(NULL,"Windows BGI"),SW_MAXIMIZE);
}
控制台窗口根据我的需要隐藏,但BGI窗口没有达到最大化。我是c ++的新手所以我不知道如何用c ++处理windows。请帮助解决一些有用的代码或解决方案。
答案 0 :(得分:1)
我没有立即回答,但我可以建议一个方向。
你需要将其分解以查看失败的位置(这种方法可以解决许多不同类型的错误)。
你是否到了第二个&#34; ShowWindow&#34;代码行?您可以检查该行的断点。
什么是FindWindow返回?我的猜测是NULL,但你可以确认(例如将其拉出到自己的行: HWND hwndBGI = FindWindow(NULL,&#34; Windows BGI&#34;); 的ShowWindow(hwndBGI,SW_MAXIMIZE);
然后你可以查看FindWindow返回的内容。如果为NULL,您知道在哪里查找问题;在FindWindow的调用中。
FindWindow并不总能成功。潜在的问题可能是窗口名称不准确,在不同的进程中找到窗口的问题,窗口不是顶级窗口....
祝你成功!
答案 1 :(得分:0)
使用getmaxwidth()、getmaxheight()
打开最大窗口/* getmaxwidth and getmaxheight example */
#include <graphics.h>
int main(void)
{
/* Make a window, as big as possible */
initwindow(getmaxwidth( ), getmaxheight( ));
/* clean up */
getch();
closegraph();
return 0;
}