2010-01-24 2 views

답변

3

창없는 컨트롤은 창을 만들지 않아도 컨트롤의 동작을 제공하는 개체입니다.

이 동작은 동작을 수정 또는 확장하거나 창 만들기가 어색하거나 어려울 수있는 곳에서 동작을 사용하려는 경우에 유용합니다.

예를 들어 페이지에 수백 개의 풍부한 편집 컨트롤을 삽입하려는 경우, 각 창인 경우 사용자 입력을 얻고 각기 개별적으로 페인트해야합니다.

하지만 창없는 컨트롤의 위치를 ​​추적하고 일반적으로 창을 만들면 (즉, 키보드 메시지 라우팅) 무료로 얻을 수있는 몇 가지 정리 작업을 수행하려는 경우 낮은 수준에서 더 나은 결과를 얻을 수 있습니다 오버 헤드는 창없는 컨트롤을 사용합니다.

2

This이 도움이 될 수 있습니다.

+1

높은 수준의 설명/역사를 찾고 있습니다. 링크를 가져 주셔서 감사합니다. –

1

창없는 컨트롤에는 전용 창 핸들이 없습니다.

+0

Ok ... 창없는 컨트롤을 정의하지만 창 핸들없이 컨트롤의 이점과 용도는 무엇입니까? –

1

Anon's입니다. 기본 창 핸들 (HWND)이 필요없는 컨트롤입니다. 프로세스 당 최대 10,000 개의 핸들이 있기 때문에 특히 웹 브라우저에서는 그러한 요구가 필요했습니다. 반 복잡한 웹 페이지의 두 탭처럼 열면 핸들이 다 떨어질 수 있습니다.

창문이없는 컨트롤을 사용하는 작업은 적어도 입니다. 왜냐하면 적어도 원래의, 때로는 매우 복잡하고 까다로운 구현을 다시 작성해야하기 때문입니다. 내 의견 (f.e : IE's listbox is still windowed control because of all the tricky intricacies)

1

는 창문 제어는 덜 SYS 자원을 사용할 수 있습니다 그리고 그것은 "창 핸들을 필요로하지 않습니다"

관련 문제