我有这个传统的宏
#define ASYNC_FUNCTION(x) \
void x(void) { \
static void internal ## x (ASYNCIOCB *); \
ASYNCIOCB *aiocb = AcquireAsyncIOCB(); \
CallAsyncNativeFunction_md(aiocb, internal ## x); \
} \
static void internal ## x (ASYNCIOCB *aiocb)
Run Code Online (Sandbox Code Playgroud)
接着是这一个
#define ASYNC_FUNCTION_START(x) ASYNC_FUNCTION(x) {
#define ASYNC_FUNCTION_END ASYNC_resumeThread(); }
Run Code Online (Sandbox Code Playgroud)
它们的用途如下:
ASYNC_FUNCTION_START(Occasional_function_name)
{
//actual stuff
}
ASYNC_FUNCTION_END
Run Code Online (Sandbox Code Playgroud)
它与cl编译很好,但是gcc给出了
invalid storage class for function ‘internalOccasional_function_name’
static void internal##x (ASYNCIOCB *);
^
Run Code Online (Sandbox Code Playgroud)
我试图扩展它们只是为了看它变成什么并且没有发现任何损坏.我还在文件中搜索了未闭合的弧形括号,并找到了这样的其他宏
#define Foo_Bar1() { \
extern int foo; \
int bar = foo; \
if (condition) …Run Code Online (Sandbox Code Playgroud) 我需要禁用除 之外的所有调整大小WMSZ_BOTTOM,包括禁用相应的鼠标图标。
处理WM_GETMINMAXINFO没有帮助,因为它是在窗口矩形调整(内部WM_CREATE)之前调用的,所以我没有什么可设置的。我尝试复制当前矩形并将其设置为WM_SIZING,lParam但是何时调用该副本没有完美的点GetWindowRect(),因为有时当我移动窗口然后通过拖动非预期的边来调整其大小时,它会跳到之前的位置(旧的)矩形得到恢复)。这些看起来像是黑客行为,而不是某种聪明的方法。
当鼠标悬停在窗口边框而非底部时,如何禁用调整鼠标图标大小?