我需要使用一些GDI32函数,但我需要添加库1。我尝试将其与链接器选项链接,但文本未显示。 那么如何通过代码添加库? 注意:#pragma注释(lib,“gid32.lib”)不可移植,这就是我无法使用它的原因:(
#include <iostream>
#include <string.h>
#include <windows.h>
//#include <WinGdi.h>
using namespace std;
int main()
{
//TextBlink("hello world", 10,20,3,5);
HDC hDC=GetDC(GetConsoleWindow());
SetTextColor(hDC,6);
TextOut(hDC,1,5,"hello world",strlen("hello world"));
cin.get();
}
答案 0 :(得分:1)
您无法在控制台中使用TextOut,您必须创建一个Window获取窗口的句柄并使用该窗口的设备上下文。
另一个问题是为什么在使用非便携功能时担心可移植性? TextOut依赖于微软......
答案 1 :(得分:0)
在“链接器设置”选项卡下的“项目构建选项”中,确保kernel32
,gdi32
和user32
库都在“链接库”列表中。
如果缺少某些内容,您甚至无法获得可执行文件(链接器将失败!)。
无论如何,你做的不是hortodox:控制台是由操作系统在内部绘制的。在它之上绘图并不持久,并且每次操作系统更新控制台屏幕时都会被覆盖。可能在getch()
期间或每次写作之后。
如果您想自己绘制文本或使用任何gaphic函数,最好自己创建一个窗口,并通过自己的WM_PAINT事件对其进行绘制。换句话说,你需要一个可以自己控制的窗口。