vc 文本输出
- C/C++ code
switch (message) /* handle the messages */ { case WM_COMMAND: switch (LOWORD(wParam)) { case HELP_WAY1: 、、SetWindowText(hwnd,TEXT("i love you")); //TextOut(hdc, TEXT("woshihebin"), lstrlen("woshihebin"), &rt, DT_CENTER); // EndPaint(hwnd, &ps); break; case IDM_EXIT: DestroyWindow(hwnd); break; /*case IDM_love: TextOut(hdc,0,50,"i love you!",strlen("i love you!")); break;*/ default: return DefWindowProc(hwnd, message, wParam, lParam); } break; case WM_PAINT: hdc = BeginPaint(hwnd, &ps); SetTextColor(hdc,RGB(255,0,0)); /* TODO: Add any drawing code here... */ GetClientRect(hwnd, &rt); DrawText(hdc, szHello, lstrlen(szHello), &rt, DT_CENTER); EndPaint(hwnd, &ps); break; case WM_DESTROY: PostQuitMessage (0); /* send a WM_QUIT to the message queue */ break; default: /* for messages that we don't deal with */ return DefWindowProc (hwnd, message, wParam, lParam); } return 0;}不行啊
我想让case HELP_WAY1时输出其他的文字,
[解决办法]
WM_PAINT这个是系统的消息,你的这个 HELP_WAY1消息 系统里会有吗;如果不可能有,那怎么进入你的代码!!
[解决办法]
建议楼主你创建一个全局变量CString,然后在 case HELP_WAY1时对CString进行赋值,接着调用Invalidate,在case WM_PAINT里面用hdc绘制文本就可以了
[解决办法]
8#楼的代码有两个问题:
第一个问题:两次定义同一个变量
char a[100]="i love you";
char a[100]=" i love you";
第二个问题:
strcat(a," l w y");
你始终在用strcat函数,在数组后面追加元素,100个空间很快就用完了,
[解决办法]
你显然不了解这个函数的调用流程。
strcpy(a,"00000");
InvalidateRect(NULL,NULL,1);
之后break; 函数退出。
下次再来到这个函数的时候会再次执行初始化 char a[1000]="i love you";
加static 的作用就是只初始化一次