2012-11-24 2 views
2

현재 창 내부에 검은 색 인 작은 입력 상자를 배치하려고합니다.C++ 창 내부 입력 상자

내 코드는 내가 창에 입력 상자를 입력 가겠어요 어떻게 사람이 창 클래스 이름으로하고 메인 창 L"EDIT"와 전화 CreateWindowEx()

"#include <windows.h> 

/* Declare Windows procedure */ 
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); 

    /* Make the class name into a global variable */ 
char szClassName[ ] = "WindowsApp"; 

int WINAPI WinMain (HINSTANCE hThisInstance, 
       HINSTANCE hPrevInstance, 
       LPSTR lpszArgument, 
       int nFunsterStil) 

{ 
HWND hwnd;    /* This is the handle for our window */ 
MSG messages;   /* Here messages to the application are saved */ 
WNDCLASSEX wincl;  /* Data structure for the windowclass */ 

/* The Window structure */ 
wincl.hInstance = hThisInstance; 
wincl.lpszClassName = szClassName; 
wincl.lpfnWndProc = WindowProcedure;  /* This function is called by windows */ 
wincl.style = CS_DBLCLKS;     /* Catch double-clicks */ 
wincl.cbSize = sizeof (WNDCLASSEX); 

/* Use default icon and mouse-pointer */ 
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION); 
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION); 
wincl.hCursor = LoadCursor (NULL, IDC_ARROW); 
wincl.lpszMenuName = NULL;     /* No menu */ 
wincl.cbClsExtra = 0;      /* No extra bytes after the window class */ 
wincl.cbWndExtra = 0;      /* structure or the window instance */ 
/* Use Windows's default color as the background of the window */ 
wincl.hbrBackground = (HBRUSH)GetStockObject (BLACK_BRUSH); 

/* Register the window class, and if it fails quit the program */ 
if (!RegisterClassEx (&wincl)) 
    return 0; 

/* The class is registered, let's create the program*/ 
hwnd = CreateWindowEx (
     0,     /* Extended possibilites for variation */ 
     szClassName,   /* Classname */ 
     "Windows App",  /* Title Text */ 
     WS_OVERLAPPEDWINDOW, /* default window */ 
     CW_USEDEFAULT,  /* Windows decides the position */ 
     CW_USEDEFAULT,  /* where the window ends up on the screen */ 
     544,     /* The programs width */ 
     375,     /* and height in pixels */ 
     HWND_DESKTOP,  /* The window is a child-window to desktop */ 
     NULL,    /* No menu */ 
     hThisInstance,  /* Program Instance handler */ 
     NULL     /* No Window Creation data */ 
     ); 

/* Make the window visible on the screen */ 
ShowWindow (hwnd, nFunsterStil); 

/* Run the message loop. It will run until GetMessage() returns 0 */ 
while (GetMessage (&messages, NULL, 0, 0)) 
{ 
    /* Translate virtual-key messages into character messages */ 
    TranslateMessage(&messages); 
    /* Send message to WindowProcedure */ 
    DispatchMessage(&messages); 
} 

/* The program return-value is 0 - The value that PostQuitMessage() gave */ 
return messages.wParam; 
} 


/* This function is called by the Windows function DispatchMessage() */ 

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM  lParam) 
{ 
switch (message)     /* handle the messages */ 
{ 
    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; 
}" 

답변

1

감사합니다, 말해 줄 수 아래입니다 부모. X 및 Y 위치를 지정해야 할 수도 있습니다 (CW_USEDEFAULT을 전달하는 것뿐만 아니라). 그렇지 않으면 텍스트 상자가 표시되지 않을 수 있습니다.