며칠전에 질문을 했었는데요.
마침 어느분께서 배열로 만들어서 시도해보라고 답변을 해주셔서 읽어보고 집에서 시도하려고 했었는데
그런데 어제 집의 PC의 하드디스크 포맷하고 윈도우업데이트 재설치하고 셋팅하다가 자동로긴 부분을 잘못건드렸는지 계속 윈도우 로긴이 않되는 심각한 상황이 연출되어서 결국 첨부터 또 다시 설치하고 설정하느라고 어제 하루종일 PC셋팅과 씨름하느라 다 허비해서 어제는 확인을 전혀 하지 못하고 오늘에서야 확인해보니 며칠전에 보았던 답변이 삭제되었네요ㅡ.ㅜ;
일단 제가 원하는 것은 api에서 TCHAR형으로 a라는 변수 혹은 배열을 만들어서
그 a 변수에 값을 대입하고 그 값을 WM_PAINT명령의 TextOut(hdc,x,y,a,1);으로 출력하기를 원하는데
아래처럼 소스를 만들면
자꾸 컴파일 에러가 나네요.ㅡ.ㅡ;
TCHAR형의 변수나 배열의 값을 TextOut함수를 이용해서 출력할 경우는 소스를 어떻게 써야 하는지 알고 싶네요.
답변 주시면 좋겠습니다.
#include <windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
HINSTANCE g_hInst;
LPCTSTR lpszClass=TEXT("Key");
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance
,LPSTR lpszCmdParam,int nCmdShow)
{
HWND hWnd;
MSG Message;
WNDCLASS WndClass;
g_hInst=hInstance;
WndClass.cbClsExtra=0;
WndClass.cbWndExtra=0;
WndClass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
WndClass.hInstance=hInstance;
WndClass.lpfnWndProc=WndProc;
WndClass.lpszClassName=lpszClass;
WndClass.lpszMenuName=NULL;
WndClass.style=CS_HREDRAW | CS_VREDRAW;
RegisterClass(&WndClass);
hWnd=CreateWindow(lpszClass,lpszClass,WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
NULL,(HMENU)NULL,hInstance,NULL);
ShowWindow(hWnd,nCmdShow);
while (GetMessage(&Message,NULL,0,0)) {
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return (int)Message.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
static int x;
static int y;
TCHAR a[2];
a='A';
switch (iMessage) {
case WM_PAINT:
hdc=BeginPaint(hWnd,&ps);
TextOut(hdc,x,y,a,1);
EndPaint(hWnd,&ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}