C ++从静态方法设置Windows中的控制台文本颜色

时间:2012-09-19 01:54:04

标签: c++ windows oop class console-application

是否可以在类中使用静态方法来设置Windows C ++应用程序的控制台的文本颜色?我的代码如下所示:

Display.h:

class Display {
public:
  Display();
  static void setTextColor(int color);
};

Display.cpp:

#include <windows.h>
#include "Display.h"

void Display::setTextColor(int color) {
  HANDLE cHandle;
  cHandle = GetStdHandle(STD_OUTPUT_HANDLE);

  SetConsoleTextAttribute(cHandle, color);
}

main.cpp中:

#include <iostream>
#include "Display.h"

int main(int argc, char *argv[]) {
  std::cout << "HI"; //Outputs default color
  Display::setTextColor(9);
  std::cout << "HI"; //Still default color

  return 0;
}

任何人都可以解释为什么这种静态方法不会更新文本颜色?如果放置内联,此激励码将起作用。

感谢您的时间。

0 个答案:

没有答案