用界面库Duilib的函数 (UIBase.h)
Create(HWND hwndParent, LPCTSTR pstrName, DWORD dwStyle, DWORD dwExStyle, int x = CW_USEDEFAULT, int y = CW_USEDEFAULT, int cx = CW_USEDEFAULT, int cy = CW_USEDEFAULT, HMENU hMenu = NULL);
如此调用:
pFrame->Create(NULL, NULL, UI_WNDSTYLE_FRAME, 0, 0, 500, 240, NULL);
窗口创建成功,window handle是有效的,通过Spy++可以查到,但是看不到窗口显示,只有任务栏图表。为什么???
通过debug发现窗口的实际size是240*0,而不是预期的500*240。所以窗口不显示的原因是高度为零。为什么高度为0???
原因是在函数调用时默认参数少了一个,所以原本宽度和高度的值分别是500和240,而实际是240和NULL(0)。但是没有报错,窗口也创建成功了!压根没想到是size的问题!!!算是入的默认参数的一个“坑”。
总结:带有默认参数列表的函数调用时一定要仔细核对参数数目和对应位置!!!