win32 api 예제

이 예제에서는 Windows 창(GUI) 기본 진입점 인터페이스에 대해 설명합니다. 이 항목을 살펴보려면 WNDCLASS 구조에 여기에 표시되지 않은 다른 멤버가 있습니다. 이 예제와 같이 0으로 설정하거나 채울 수 있습니다. MSDN 설명서에서는 구조를 자세히 설명합니다. 이름 필드에서 Win32Project1의 이름을 소개로 바꿉니다. 솔루션 이름 필드에서 Win32Project1의 이름을 win32 자습서로 바꿉니다. 다음 (NULL, NULL, g_hInst, NULL) 우리는 부모 창 핸들, 메뉴 핸들, 응용 프로그램 인스턴스 핸들 및 창 만들기 데이터에 대 한 포인터. 창에서 화면의 창은 부모와 자식 창의 계승자로 정렬됩니다. 창에 단추가 표시되면 단추는 자식이며 해당 버튼은 부모인 창 내에 포함됩니다. 이 예제에서는 상위 핸들이 NULL이므로 부모가 없기 때문에 기본 또는 최상위 창입니다. 메뉴는 아직 없는 경우 NULL입니다. 인스턴스 핸들은 WinMain()에 대한 첫 번째 매개 변수로 전달되는 값으로 설정됩니다.

생성되는 창으로 추가 데이터를 보내는 데 사용할 수 있는 생성 데이터(거의 사용하지 않는 데이터)도 NULL입니다. 창 프로시저는 각 메시지에 대해 호출되고 HWND 매개 변수는 창의 핸들이며 메시지가 적용되는 것입니다. 이는 동일한 클래스의 두 개 이상의 창이 있고 동일한 창 프로시저(WndProc))를 사용하기 때문에 중요합니다. 차이점은 hwnd 매개 변수가 어떤 창인지에 따라 다르다는 것입니다. 예를 들어 WM_CLOSE 메시지가 있으면 창이 파기됩니다. 첫 번째 매개 변수로 받은 창 핸들을 사용하기 때문에 다른 창은 영향을 받지 않으며 메시지의 의도된 창만 영향을 받습니다. 솔루션 탐색기에서 솔루션을 마우스 오른쪽 단추로 클릭하고 이 경우 win32-자습서를 클릭한 다음 솔루션 빌드를 선택합니다. 클래스 이름은 현재 프로세스에 로컬이므로 프로세스 내에서 만 고유해야 합니다. 그러나 표준 Windows 컨트롤에는 클래스도 있습니다.

이러한 컨트롤을 사용하는 경우 컨트롤 클래스 이름과 충돌하지 않는 클래스 이름을 선택해야 합니다. 예를 들어 단추 컨트롤의 창 클래스이름은 “Button”입니다. 이진 COM 서버의 본질은 C++ 프로그래머가 VB6에서 사용할 수 있는 COM 클래스를 빌드할 수 있도록 언어 독립적인 방식으로 액세스할 수 있다는 것입니다. 그러나 그것은 언어의 독립이 제한되어 있습니다. 예를 들어 COM은 상속을 지원하지 않으므로 기존 COM 클래스를 사용하여 COM 클래스를 파생할 수 없습니다. 따라서 COM 클래스 유형을 재사용하려면 번거로운 경로를 취해야 합니다. 창 클래스는 여러 창이 공통으로 가질 수 있는 동작 집합을 정의합니다. 예를 들어 단추 그룹에서 각 단추는 사용자가 단추를 클릭할 때 비슷한 동작이 있습니다. 물론 버튼이 완전히 동일하지는 않습니다. 각 단추는 자체 텍스트 문자열을 표시하고 자체 화면 좌표를 가집니다. 각 창에 대해 고유한 데이터를 인스턴스 데이터라고 합니다.

Condividi
Questo articolo è stato pubblicato in Senza categoria . Bookmark permalink .
error

Ti piace quello che facciamo? Ti prego, spargi la voce!