windows程序设计35课-插入符号
本帖最后由 独一无② 于 2019-9-16 00:50 编辑在甲鱼哥的第35课,插入字符这课中,对于一段代码不太理解,不知道啥时候会有这种情况出现:
case WM_CREATE:
hdc = GetDC(hwnd);
SelectObject(hdc, GetStockObject(SYSTEM_FIXED_FONT));
GetTextMetrics(hdc, &tm);
cxChar = tm.tmAveCharWidth;
cyChar = tm.tmHeight;
ReleaseDC(hwnd, hdc);
// 此处木有返回,木有break
case WM_SIZE:
就是上面消息处理回调的WM_CREATE结束后为什么不用返回呢,这样会继续调用下面的WM_SIZE。
在CreateWindow的时候,WM_CREATE调用完也会有WM_SIZE消息产生,这样子不是会多调用了一次吗
因为我直接return好像程序也没出问题,说明这里应该是有中特殊情况才需要这样做。
同样的,在45课,数字时钟里面也出现了这样的设计
case WM_CREATE:
hBrushRed = CreateSolidBrush(RGB(255, 0, 0));
SetTimer(hwnd, ID_TIMER, 1000, NULL);
// 没有 return
case WM_SETTINGCHANGE:
这节课里甲鱼哥提了下,说是以防止用户在中途修改设置。
这里的话我是这样理解的,因为消息循环在CreateWindow的下面,所以此时修改一些配置数据啥的,我们会接收不到消息(还没建立消息循环),不知道这样理解对不对? 请小甲鱼老师出山解答
页:
[1]