2009-05-19 7 views
1

Linux에서 wxDialog 개체를 사용하여 문제가 발생했습니다. 개체의 construtor에서 관련 스타일 플래그 (wxCAPTION|wxMINIMIZE_BOX|wxMAXIMIZE_BOX|wxCLOSE_BOX|wx_RESIZE_BORDER)을 전달하지만 단추가 표시되지 않습니다. 쪽으로. wxformbuilder에서 클래스를 디자인 할 때 표시되는 디자인에 표시되지만 실행중인 응용 프로그램에는 표시되지 않습니다.최소화 및 최대화 단추를 wxDialog 개체에 표시하는 방법

현재 wxWidgets 2.8.7을 사용하고 있으며 Scientific Linux 5 (RHEL 5)에서 실행 중입니다. 이 문제를 해결하는 방법에 대한 제안이나 아이디어?

편집 : BTW, 이것은 당신이 대신 wxDialog의 wxWindow를 사용할 수 this question

+0

MakeModal (true)을 호출 해보십시오. 다른 모든 창을 사용하지 않도록 설정하고 프레임을 사용하려면 버튼이 필요하고 그렇지 않으면 작동하지 않습니다. (또한 wxMiniFrame을 고려하십시오) –

답변

1

이 창에 대해 표시됩니다 무엇을 장식 창 관리자에 그것을 잎

gtk_window_set_type_hint(GTK_WINDOW(m_widget), GDK_WINDOW_TYPE_HINT_DIALOG); 

가 호출 건설 중에 다음 wxGTK에 대화 상자를 만드는 경우. 그래서 스타일을 지정했지만 버튼이 표시되지 않으면 할 수있는 일이 없습니다. 어쨌든, 나는 wxFrame을 보여주고 있다고 생각하는데, 부모 프레임이 비활성화되어있는 동안은 잘 작동 할 것이다.

+0

나는 이것을 컴파일 할 수조차 없었다. 이 기능을 사용하는 방법을 언급하는 링크가 있습니까? 그것은 wxWidgets의 일부입니까? – dagorym

+0

쓴대로 : 이것은 wxWidgets 소스의 일부이며 대화 상자 생성 중에 호출됩니다. 이것이 보여주는 것은 wxWidgets이 책임지지 않지만 윈도우 관리자가 대화 상자를 장식하는 방법을 결정한다는 것입니다. 따라서 할 수있는 일은 없습니다. wxMINIMIZE_BOX 및 wxMAXIMIZE_BOX는 단순히 무시됩니다. 현재 Linux 데스크탑의 단추로는 대화 상자를 사용할 수 없습니다. – mghie

+0

알리미, 귀하의 의견을 틀린. 감사. – dagorym

1

관련이있다? 어쩌면 대화 상자를 최소화하는 것이 이치에 맞지 않지만 응용 프로그램 창에 대한 일반적인 작업입니다.

+0

실제로 코드가 작성된 방법이지만 원하는 모달 동작을 얻지 못하는 것 같습니다. (내 편집의 링크 참조). – dagorym

관련 문제