이 창에 왜 모서리가 있습니까?


24

Aero 테마가있는 Windows 7에서 메모장 ++의 환경 설정 창에는 사각형 모서리, 시스템 메뉴 아이콘 없음, 닫기 단추 및 더 어두운 1px테두리가 있습니다. 이 창에는 AlwaysOnTop속성이 있습니다.

메모장 ++
(의 너비에 맞게 창 크기를 조정했습니다 640px.)

흥미롭게도 AutoHotkey를 사용하여이 스타일을 다른 창으로 복사 할 수 있습니다 . 따라서 더러운 트릭이 포함되지 않은 것 같습니다. 그러나 다른 곳에서는이 창 스타일을 보지 못했다고 생각합니다.

Microsoft에서이 스타일을 사용하고 있습니까? 이 유형의 창에 이름이 있습니까?


궁금한 점 : 보통 대 "사각"

표준   계산자


나는 .NET 프레임 워크가 기본적으로 둥근 모서리를 가진 프레임을 줄 것이라고 생각하지만 아무도 그것을 바꾸는 것처럼 느끼지 않습니다.
soandos

애플은 둥근 ​​모서리에 특허를 가지고 있기 때문이다.
Chloe

답변:


37

이를 도구 (바) 창 이라고 합니다 . WS_EX_TOOLWINDOW스타일이 확장 된 모든 창 은 시스템 메뉴없이 표시되거나 상자와 최소화 / 최대화 상자 및 작은 제목 표시 줄없이 렌더링됩니다. 테마를 지원하는 Windows XP 이상에서 도구 창은 일반적으로 둥근 모서리없이 렌더링됩니다 (적어도 기본 테마 사용).

이 스타일은 일반적으로 도구 모음에 사용됩니다 (그림 1). 도구 모음을 재정렬 할 수있는 프로그램에서 도구 모음을 끌어서 볼 수 있습니다. 문제의 창처럼 보이는 창이 나타납니다. Windows 탐색기는 또한 기본적으로 동일한 데스크 밴드 (그림 2)에도이 기능을 사용합니다. 폴더를 화면 가장자리 중 하나로 끌어다 놓은 다음 결과 도구 모음 / 데스크 밴드를 데스크탑으로 끌어서 볼 수 있습니다.

분명히 일부 프로그램은 다른 목적으로이 스타일을 사용하며, 종종 주 프로그램의 자식 인 일종의 모달 임시 대화 상자를 작성하는 방법으로 사용됩니다.

참고 : 여기에는 몇 가지 효과가 있습니다 (처음 두 가지가 일반적으로 비표준 사용 의 이유 임).

  • 이 스타일의 창 / 대화 상자에는 작업 표시 줄에 단추가 없습니다
  • 대화 상자에 Alt+ Tab빙을 방지 합니다.
  • 또한 Alt+ PrtScr가 대화 상자 만 캡처 하지 못하게합니다 . 전체 부모 프로그램 창이 캡처됩니다.

그림 1 : MSPaint 도구 모음 창

여기에 이미지 설명을 입력하십시오

그림 2 : Windows 탐색기 데스크 밴드

여기에 이미지 설명을 입력하십시오


아하! 말이 되네요 :)
iglvzx 2016 년

Alt+ PrintScreen는 메모장 ++ 환경 설정 대화 상자를 사용하여 Windows 7의 대화 상자 만 캡처합니다.
Bob

17

이 창 스타일의 이름과 .NET에서 사용할 수있는 옵션에 대해 자세히 설명합니다. 이 창 스타일의 원래 목적, 대화 상자에 사용되는 이유 및 메모장 ++과 같은 관리되지 않는 Windows 프로그램의 구현에 대해서는 @Synetech의 탁월한 답변을 참조하십시오.


창에는 사각형 모서리가 있으며 메모장 ++의 디자이너 / 프로그래머 중 하나가 특정 창 스타일을 사용하기로 결정했기 때문에 모양이 비슷합니다. Synetech은 해당 창 스타일의 장점을 자세히 설명합니다.

.NET / Visual Studio에서는 클래스 의 FormBorderStyle속성 에서 설정됩니다 System.Windows.Forms.Form. 구체적으로 FixedToolWindow. 가능한 값은 System.Windows.Forms.FormBorderStyle열거 형에 있습니다.

ToolWindow모든 값이 기본값 인 .NET 의 s WS_EX_TOOLWINDOW는 동일하게 보이지만 Windows API 의 일반 과 약간 다르게 작동합니다 . 테스트로, 나는 그들이 것으로 확인되었습니다 않는 작업 표시 줄에 표시하고 그들이 상의 표시 Alt+의 Tab양식 속성이하지 않는 작업 스위처 ShowInTaskbar로 설정됩니다 false. ShowInTaskbar작업 표시 줄과 Alt+에 Tab대한 가시성에 영향을 ToolWindow주지만 다른 작업 표시 줄에만 영향을 미칩니다 .

한편 아이콘 / 최소화 / 복원 / 최대화 버튼을보다 일반적인 창 스타일에서 제거 할 수도 있지만 ToolWindows 에 추가 할 수는 없습니다 . 작업 표시 줄에서 일반 창을 숨길 수도 있습니다.

WS_EX_TOOLWINDOW내가 알 수 있는 한 유일한 기능적 이점 은 창이 Alt+에 나타나지 않는다는 것입니다 Tab.


.NET 창 스타일을 비교하는 스크린 샷을 포함 시켰습니다. 이들은 직접 메모장 ++이나 다른 관리되지 않는 프로그램에서 사용되지 않지만 되어 있으므로, 마이크로 소프트라는 이름의 ...

가능한 값 FormBorderStyle:

첫 번째 이미지는 Aero가 활성화 된 실행중인 프로그램의 스크린 샷이고 두 번째 이미지는 Visual Studio 디자이너보기 (Aero 없음)입니다.
전체 크기 버전의 이미지를 클릭하십시오 . 열거 에 대한 MSDN 기사
에서 설명을 가져옵니다 .FormBorderStyle

  • None

    국경이 없습니다.

스크린 샷 Screenshot_NonAero

  • FixedSingle

    고정 된 한 줄 테두리

스크린 샷 Screenshot_NonAero

  • Fixed3D

    고정 된 3 차원 테두리.

스크린 샷 Screenshot_NonAero

  • FixedDialog

    두껍고 고정 된 대화 스타일 테두리.

스크린 샷 Screenshot_NonAero

  • Sizable (태만)

    크기 조정이 가능한 테두리.

스크린 샷 Screenshot_NonAero

  • FixedToolWindow

    크기를 조정할 수없는 도구 창 테두리 도구 모음은 작업 표시 줄이나 사용자가 ALT+를 누를 때 나타나는 창에 나타나지 않습니다 TAB. FixedToolWindow일반적으로 지정하는 양식 은 작업 표시 줄에 표시되지 않지만 기본값이이므로 ShowInTaskbar속성이로 설정되어 있는지 확인해야합니다 .falsetrue

스크린 샷 Screenshot_NonAero

  • SizableToolWindow

    크기 조정 가능한 도구 창 테두리 도구 모음은 작업 표시 줄이나 사용자가 ALT+를 누를 때 나타나는 창에 나타나지 않습니다 TAB.

스크린 샷 Screenshot_NonAero


네! 우리가 말한 것.
avirk

관리 / 관리되지 않거나 네이티브 /.NET 코드와는 아무런 관련이 없습니다. 단순히 Windows가 스타일을 사용하여 창을 WS_EX_TOOLWINDOW스타일링 하는 방식의 문제 입니다. .NET은 단순히 별명 FixedToolWindowWS_EX_TOOLWINDOWSizableToolWindowWS_EX_TOOLWINDOW|WS_THICKFRAME. 위반은 없지만이 답변은 실제로 질문에 대답하거나 요청 된 동작을 설명하지는 않습니다. 단순히 .NET에서 사용되는 다른 창 스타일 의 목록 / 자원 입니다 .
Synetech

@ Synetech 코드 관리 여부와 관련이 없다는 것을 알고 있습니다. 차이점의 스크린 샷과 함께 .NET 사용 이름과 사용 가능한 다른 옵션을 제공 할 것이라고 생각했습니다. Does this type of window have a name?적어도 .NET 프로그래머의 관점에서 그렇게 많이 대답합니다. 그리고 설명? 프로그래머가 그것을 사용하는 것처럼 느꼈기 때문입니다. 원하는 효과를 나열했습니다. 그게 다야. MS가 권장하든 정죄하든 상관 없습니다. 개인적으로, 당신이 그것을 설명 할 때 훌륭한 일을했다고 생각합니다.

그것이 편집을위한 것입니다.
Synetech

@Synetech는 무엇입니까?
Bob
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.