다음을 통해 공유


보강 rebar 컨트롤 정보

rebar 컨트롤은 자식 창에 대한 컨테이너로 사용됩니다. 하나 이상의 밴드를 포함할 수 있으며 각 밴드는 위치 조정 막대, 비트맵, 텍스트 레이블 및 하나의 자식 창을 조합할 수 있습니다. 애플리케이션은 자식 창(일반적으로 다른 컨트롤)을 rebar 컨트롤 밴드에 할당합니다. rebar 컨트롤 밴드를 동적으로 재배치하면 rebar 컨트롤이 해당 밴드에 할당된 자식 창의 크기와 위치를 관리합니다. 또한 애플리케이션은 밴드에 대한 배경 비트맵을 지정할 수 있으며 rebar 컨트롤은 비트맵 위에 밴드의 자식 창을 표시합니다.

다음 스크린샷은 두 개의 밴드가 있는 rebar 컨트롤을 보여 줍니다. 하나는 도구 모음을 포함하고 다른 하나는 콤보 상자를 포함합니다. 두 밴드 모두 이동 및 크기 조정이 가능한 위치 조정 막대가 있습니다.

screen shot of dialog box showing a rebar control with a band containing a toolbar and a band containing a combo box

참고 항목

rebar 컨트롤은 Comctl32.dll 버전 4.70 이상에서 구현됩니다.

 

Rebar 밴드 및 자식 창

애플리케이션은 RB_INSERTBANDRB_SETBANDINFO 메시지를 사용하여 Rebar 밴드의 특성을 정의합니다. 이러한 메시지는 REBARBANDINFO 구조체의 주소를 lParam 매개 변수로 허용합니다. REBARBANDINFO 구조체 멤버는 지정된 밴드의 특성을 정의합니다. 밴드의 특성을 설정하려면 구조체의 크기를 바이트 단위로 나타내도록 cbsize 멤버를 설정합니다. 그런 다음 fMask 멤버를 설정하여 애플리케이션이 채우는 구조체 멤버를 나타냅니다.

자식 창을 밴드에 할당하려면 REBARBANDINFO 구조체의 fMask 멤버에 RBBIM_CHILD 플래그를 포함하고 hwndChild 멤버를 자식 창 핸들로 설정합니다. 애플리케이션은 cxMinChildcyMinChild 멤버에서 자식 창의 최소 허용 너비와 높이를 설정할 수 있습니다.

rebar 컨트롤이 제거되면 그 안의 밴드에 할당된 자식 창도 제거됩니다. 컨트롤이 밴드에 할당된 자식 창을 제거하지 않도록 하려면 RB_DELETEBAND 메시지를 전송하여 밴드를 제거한 다음 rebar 컨트롤을 제거하기 전에 RB_SETPARENT 메시지를 사용하여 부모를 다른 창으로 초기화합니다.

rebar 컨트롤 사용자 인터페이스

RBBS_FIXEDSIZE 스타일을 사용하는 것을 제외하고 모든 rebar 컨트롤 밴드의 크기를 조정할 수 있습니다. 컨트롤 내에서 밴드의 크기를 조정하거나 순서를 변경하려면 밴드의 위치 조정 막대 막대를 클릭하고 끕니다. rebar 컨트롤은 밴드에 할당된 자식 창의 크기와 위치를 자동으로 조정합니다. 또한 밴드 텍스트가 있는 경우 밴드 텍스트를 클릭하여 밴드 크기를 전환할 수 있습니다.

rebar 컨트롤의 이미지 목록

애플리케이션이 rebar 컨트롤이 있는 이미지 목록을 사용하는 경우 밴드를 컨트롤에 추가하기 전에 RB_SETBARINFO 메시지를 보내야 합니다. 이 메시지는 REBARINFO 구조체의 주소를 lParam 매개 변수로 허용합니다. 메시지를 보내기 전에 cbSize 멤버를 구조체의 크기(바이트)로 설정하여 REBARINFO 구조체를 준비합니다. 그런 다음 rebar 컨트롤이 밴드에 이미지를 표시하려는 경우 fMask 멤버를 RBIM_IMAGELIST 플래그로 설정하고 이미지 목록 핸들을 himl 멤버에 할당합니다. Rebar이 밴드 이미지를 사용하지 않을 경우 fMask를 0으로 설정합니다.

rebar 컨트롤 메시지 전달

rebar 컨트롤은 모든 WM_NOTIFY 창 메시지를 부모 창으로 전달합니다. 또한 rebar 컨트롤은 WM_CHARTOITEM, WM_COMMAND 등과 같은 밴드에 할당된 창에서 전송된 모든 메시지를 전달합니다.