工作之余写一下,给有帮助的朋友。
typedef struct 
...{
int a;
int b;
int c;
char *str;
}PROCLIST_ENTRY;
typedef struct 
...{
int* a;
PROCLIST_ENTRY* entry;
int c;
int d;
}WINDOW_PROCREG;

#define BEGIN_CLASSMESSAGE_MAP(msgHandleMap, newClassID, classID)
extern PROCLIST_ENTRY msgHandleMap##wpList[];
WINDOW_PROCREG msgHandleMap[1] = ...{...{(int*)NULL, msgHandleMap##wpList, newClassID, classID}};
PROCLIST_ENTRY msgHandleMap##wpList[] = ...{
#define END_MESSAGE_MAP() {0, -1, -1, NULL} }; //缺省处理函数.
#define ON_MESSAGE(msg , proc) {0, msg, msg , proc},


/**///////////////////////////////////////////////////////////////////////////
BEGIN_CLASSMESSAGE_MAP(Class, 1, 2)
ON_MESSAGE(1, "no.1")
ON_MESSAGE(2, "no.2")
ON_MESSAGE(3, "no.3")
ON_MESSAGE(4, "no.4")
ON_MESSAGE(5, "no.5")
END_MESSAGE_MAP()

/**///////////////////////////////////////////////////////////////////////////
int main (int argc, char* argv[])
...{
int i;
for(i=0; i<5; i++)
...{
printf("%s ", (Class->entry)[i].str);
}
return 0;
}
3908

被折叠的 条评论
为什么被折叠?



