如何在最大化模式下启动c++程序的BGI窗口?

6ss1mwsb  于 2023-04-13  发布在  其他
关注(0)|答案(2)|浏览(134)

我正在为我的高中做一个c项目。我使用Dev c与图形。我想要的是当华大基因窗口打开时,它应该以最大化模式而不是正常窗口开始。下面是我的代码,但它不起作用:(

#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);

}

控制台窗口得到隐藏根据我的需要,但华大基因窗口不得到最大化。我是新手,以c++,所以我不知道如何处理窗口与c++。请帮助一些有用的代码或解决方案。

xzlaal3s

xzlaal3s1#

我没有一个直接的答案,但我可以提出一个方向。
您需要将其分解,以查看它失败的地方(这种方法有助于解决许多不同类型的错误)。
1.您是否已经到了第二行“ShowWindow”代码?您可以在该行上使用断点进行检查。

  1. FindWindow返回的是什么?我的猜测是NULL,但你可以确认一下(比如把它拉到它自己的行:String s = String s(NULL,“String s”);ShowWindow(hwndBGI,SW_MAXIMIZE);
    然后你可以检查FindWindow返回的是什么,如果是NULL,你知道在哪里寻找问题;在FindWindow的调用中。
    1.如果FindWindow失败,则在调用FindWindow之后调用GetLastError可能会给予更多信息。
    FindWindow并不总是成功。潜在的问题可能是窗口名称不准确,在不同进程中查找窗口的问题,不是顶级窗口的窗口....
    祝你成功!
klr1opcd

klr1opcd2#

使用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;

}

相关问题