3.창의 속성

창 속성 대화상자는 윈도우의 여러 가지 상세한 정보를 보여주는데 두가지 방법으로 호출할 수 있다. 첫 번째는 창 뷰의 팝업 메뉴에서 속성 항목을 선택하는 것이고 두 번째는 창 찾기 대화상자에서 찾기 도구로 창을 선택한 후 아래쪽의 표시 항목에서 '속성' 옵션을 선택하는 것이다. 어떤 방법으로 대화상자를 열든지 보여주는 정보는 동일하다. 다섯 개의 페이지로 구성된 프로퍼티 시트 형태를 띠고 있는데 각 페이지별로 어떤 정보들을 보여 주는지 보자.

일반 페이지에는 윈도우에 대한 일반적인 정보들이 나타난다. 캡션이나 윈도우 핸들, 클래스 명, 크기와 위치, 윈도우의 여분 바이트에 기록된 정보 등이 있는데 이 정보가 무엇을 뜻하는지는 따로 설명하지 않아도 잘 알 것이다. 만약 이 대화상자에 나타나는 정보가 어떤 의미인지 모른다면 API를 공부해야 한다. 다음은 스타일 페이지이다.

윈도우 스타일과 확장 스타일을 따로 보여주는데 적용된 스타일을 Win32의 매크로 상수로 보여주므로 API 개발자에게 특히 유용하다. 더구나 표준 컨트롤과 공통 컨트롤에 대한 스타일까지 비트를 해석해 주는 서비스까지 해 준다. 예를 들어 버튼 컨트롤의 경우 BS_PUSHBOTTON 같은 스타일명을 보여준다.

이 페이지에 나타나는 정보도 아주 요긴하게 사용되는데 주로 남의 프로그램을 모방하고자 할 때 사용된다. 예를 들어 툴바 컨트롤을 원하는대로 만들고 싶은데 뜻대로 잘 안된다고 하자. 이럴 때 만들고 싶은 툴바를 가지고 있는 응용 프로그램을 조사한 후 해당 응용 프로그램의 툴바는 어떤 스타일로 생성했는지 조사해 보고 그대로 따라하면 된다.

물론 컨트롤의 동작이 스타일만으로 결정되는 것은 아니지만 최소한 스타일을 맞춰 놓고 다음 조치를 결정할 수 있다는 점에서 아주 훌륭한 정보이다. '잘 선택한 스타일 하나가 백줄의 코드보다 더 낫다'는 속담이 있지 않은가? 다음은 창 페이지이다.

이 윈도우의 이전, 이후, 부모 창에 대한 정보와 자식창, 소유창에 대한 정보를 보여준다. 해당 창이 없으면 (없음)이라고 나타난다. 바탕 화면은 부모창이 없으며 컨트롤들은 보통 자식을 가지지 않는다. 창의 핸들이 녹색으로 나타나는데 이 페이지를 통해 마치 웹 페이지에서 하이퍼 링크로 이동하듯이 다른 윈도우로 이동할 수 있다.

어떤 윈도우들은 차일드에 의해 완전히 가려져 있어 찾기 도구로 찍어볼 수 없는 경우가 있다. 예를 들어 MFC로 만든 윈도우는 프레임안에 차일드 뷰가 있는데 뷰가 프레임을 완전히 덮고 있으므로 일단 뷰를 찍은 후 부모 윈도우로 이동해야만 프레임의 속성을 조사할 수 있다. 다음은 클래스 페이지이다.

윈도우 클래스의 이름과 클래스 스타일 그리고 윈도우 클래스에 저장된 값, 구체적으로 WNDCLASS 구조체의 내용을 보여 준다. 어떤 스타일이 적용되어 있고 배경 브러시나 커서는 어떤 것이 선택되어 있는지를 볼 수 있다. 그외 나머지 정보는 사실 그다지 유용하게 참고가 되지는 않는다. 마지막 페이지는 프로세스 페이지인데 이 윈도우가 소속된 프로세스와 스레드를 보여준다.

각 링크를 클릭하면 프로세스와 스레드에 대한 속성 대화상자를 열어 준다.