2012-08-03 6 views
2

이 코드 :Captionless wxPython에 창을 숨기 작업 표시 줄

import wx 

app = wx.App() 
frame = wx.Frame(None, style = wx.DEFAULT_FRAME_STYLE & ~wx.CAPTION) 
frame.Maximize() 
frame.Show() 
app.MainLoop() 

내 작업 표시 줄을 포함하여, 화면 전체를 커버하는 프레임을 생성합니다. 작업 표시 줄에없는 화면 만 차지하도록 만드는 방법이 있습니까?

  • OS : 윈도우 XP

  • 파이썬 : 2.7.3

  • wxPython을 : 2.9.3.1
+0

나는 당신이 캡션 창을 떠나 있지만 캡션 표시 줄 및 테두리 제로 폭을함으로써 그것을 할 수 있다고 생각. 직접 Windows API 호출로도 까다 롭습니다. wx에서이를 수행하는 방법을 모릅니다. –

+0

@ MarkRansom, Windows API에서 수행하는 방법을 가르쳐 주시겠습니까? 이 프로젝트의 확장 모듈에서 이미 C++을 사용하고 있으므로이 작업을 수행 할 수 있습니다. –

+0

미안하지만 전적으로 확신 할 수는 없네요. 내 실험이 필요합니다. WM_NCCALCSIZE 또는 WM_NCHITTEST로 시작할 수 있습니다. –

답변

2

내가 볼 수있는, 내가 어떤 말을에서 당신이 할 수있는 ' Maximize 메서드로 처리하십시오. 아마 화면 크기를 얻고 프레임의 점유 크기를 마이너스로 설정하여 가짜로 만들 수 있습니다. 어떤 사람들은 그것을 바닥에 두지 않기 때문에 작업 표시 줄의 위치를 ​​얻는 방법을 찾아야 할 수도 있습니다.

+0

+1 ... "어떤 사람들은 그것을 바닥에 남기지 않습니다". 나는 그 사람들 중 하나입니다. –

+0

한 명 이상은 왼쪽에두고 다른 한 명은 맨 위에있는 것을 알고 있습니다. –

+1

내 응용 프로그램이 실행되는 태블릿이 화면 키보드를 제자리에 배치 할 수 있기 때문에 내 경우에는 배치가 걱정됩니다. 창문을 다루는 방법이 있기를 바랬습니다. –

0

미래의 사람들을 위해. ShowFullScreen (true)를 사용하여 시도

내가 WX에 새로운 해요하지만 self.ShowFullScreen (True) 또는 frame.ShowFullScreen (참)

+0

내 경우에는 작업 표시 줄에 숨김 상태를 유지하고 싶었다. 나는 당신이 전체 화면으로 그것을 잃을 것이라고 생각합니다. –

1

를 사용해보십시오 작업 표시 줄이없는 작업 영역의 위치와 크기를 가져 오기 :

c_x, c_y, c_w, c_h = wx.ClientDisplayRect() 

설정 POS 및 크기 :

frame = wx.Frame(None, pos=(c_x, c_y), size=(c_w, c_h), 
         style=wx.DEFAULT_FRAME_STYLE & ~wx.CAPTION & ~wx.RESIZE_BORDER) 
+0

이것이 나를 위해 일했습니다. –