小编dev*_*urs的帖子

你如何清除C中的控制台屏幕?

是否有一种"正确"的方式来清除C中的控制台窗口,除了使用system("cls")

c windows console console-application

51
推荐指数
8
解决办法
34万
查看次数

有没有办法为函数创建预处理器宏?

是否可以根据函数结果创建C++预处理器宏?

例如,我想在预处理器宏定义中动态保存屏幕高度:

#define SCREEN_HEIGHT   GetSystemMetrics(SM_CYVIRTUALSCREEN)
Run Code Online (Sandbox Code Playgroud)

然后我想使用结果根据屏幕高度设置值:

#if SCREEN_HEIGHT < 1200
    #define TOP_COORD     200
    #define BOTTOM_COORD  500
    #define LEFT_COORD    0
    #define RIGHT_COORD   1280
#else
    #define TOP_COORD     1100
    #define BOTTOM_COORD  1400
    #define LEFT_COORD    0
    #define RIGHT_COORD   1280
#endif
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为SCREEN_HEIGHT似乎没有得到正确定义.

有没有更好的方法来实现这一目标?这甚至可能吗?我希望能够在头文件中获得此屏幕高度信息(如果可能),因为这是大量遗留代码的一部分.

c++ macros winapi c-preprocessor

2
推荐指数
1
解决办法
206
查看次数