我又是伙计们,到目前为止,我已经设法了解了有关窗口创建和消息系统的大多数基础知识,现在我想询问格式问题,因为我没有设法在 google 上找到有关我的特定案例的任何信息。这是到目前为止的样子:
其中带有 0 的框是静态窗口,因为我并没有真正获得 Rect 绘制作业。我还需要它是动态的;这些框将显示 int 数组中的一个元素,我会将其传输到 wchar_t 数组以进行输出。现在是否可以更改字体,让我们说增加它并使其加粗?还是只能使用打印文本功能?任何帮助将不胜感激,因为我真的试图让这个“居中”可以这么说。
编辑:另一个问题,所以我不会再发另一个帖子:我只是注意到我的愚蠢的静态窗口在我更改数组中的值后没有更新,我正在打印它们并重新绘制它们。例如,每个零都包含在 wchar_t 数组[16][15] 中;在我打印此设置并更改之后,让我们说 array[13][0] = 'A'; 什么也没有发生,是因为静态窗口类型还是因为我是菜鸟并使用 MoveWindow 重新绘制它们 XD?
为什么我在使用时不能在窗口中打印文字SetWindowText()
?这是我的窗口创建代码的样子:
game_board[i] = CreateWindowEx(0,
L"Static",
board_elements[i],
WS_CHILD | WS_VISIBLE | WS_BORDER,
0,
0,
0,
0,
hwnd,
(HMENU)IDC_STATICBOARD + i + 1,
hInst,
NULL);
Run Code Online (Sandbox Code Playgroud)
当我写下这样的东西:
wchar_t c;
for(i = 0; i < 15; i++){
c = 'a' + i;
SetWindowText(game_board[i], c);
UpdateWindow(game_board[i]);
}
Run Code Online (Sandbox Code Playgroud)
触发该事件后,我的程序崩溃了.
如果我使用SetWindowText(game_board[i], L"TEXT");
它然后通常打印TEXT.
我也有这些问题需要预制一切,我不知道为什么.
我正在使用VS 13,而project是一个用C++编写的Windows应用程序.如果我在Codeblocks中复制代码,那么它会为我在VS中创建的每个强制转换弹出一个错误,在我将它们全部删除后,它会正常工作.
为什么?任何人都可以帮我解决这个问题吗?