From 4a3ee5449b0311d7bdbbceaaaaa644eb8a314dfb Mon Sep 17 00:00:00 2001 From: cxl Date: Fri, 3 Jul 2009 06:47:22 +0000 Subject: [PATCH] TopWindow::NoCloseBox git-svn-id: svn://ultimatepp.org/upp/trunk@1353 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/CtrlCore/TopWin32.cpp | 5 +++-- uppsrc/CtrlCore/TopWindow.cpp | 2 +- uppsrc/CtrlCore/TopWindow.h | 2 ++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/uppsrc/CtrlCore/TopWin32.cpp b/uppsrc/CtrlCore/TopWin32.cpp index d5f1161e4..a08afd9e6 100644 --- a/uppsrc/CtrlCore/TopWin32.cpp +++ b/uppsrc/CtrlCore/TopWin32.cpp @@ -105,10 +105,11 @@ void TopWindow::SyncCaption0() if(frameless) style = (style & ~WS_CAPTION) | WS_POPUP; else - if(IsNull(icon) && !maximizebox && !minimizebox) { + if(IsNull(icon) && !maximizebox && !minimizebox || noclosebox) { style |= WS_POPUPWINDOW|WS_DLGFRAME; exstyle |= WS_EX_DLGMODALFRAME; - style &= ~WS_SYSMENU; + if(noclosebox) + style &= ~WS_SYSMENU; } else #endif diff --git a/uppsrc/CtrlCore/TopWindow.cpp b/uppsrc/CtrlCore/TopWindow.cpp index c053a689d..575939c0d 100644 --- a/uppsrc/CtrlCore/TopWindow.cpp +++ b/uppsrc/CtrlCore/TopWindow.cpp @@ -504,7 +504,7 @@ TopWindow::TopWindow() class_hint = XAllocClassHint(); topmost = false; #endif - maximizebox = minimizebox = sizeable = tool = false; + maximizebox = minimizebox = sizeable = tool = noclosebox = false; state = OVERLAPPED; WhenClose = THISBACK(Close); overlapped.Clear(); diff --git a/uppsrc/CtrlCore/TopWindow.h b/uppsrc/CtrlCore/TopWindow.h index a93af17eb..e6c17911e 100644 --- a/uppsrc/CtrlCore/TopWindow.h +++ b/uppsrc/CtrlCore/TopWindow.h @@ -116,6 +116,7 @@ private: WString title; bool minimizebox:1; bool maximizebox:1; + bool noclosebox:1; bool sizeable:1; bool tool:1; bool frameless:1; @@ -203,6 +204,7 @@ public: TopWindow& FrameLess(bool b = true) { frameless = b; return *this; } bool IsFrameLess() const { return frameless; } TopWindow& NoAccessKeysDistribution() { dokeys = false; return *this; } + TopWindow& NoCloseBox(bool b = true) { noclosebox = b; return *this; } TopWindow& Icon(const Image& m); TopWindow& LargeIcon(const Image& m);