2011-09-27 13 views
5

CreateWindow
WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX
को कॉल करते समय मैं इन विंडो शैलियों का उपयोग कर रहा हूं यह अधिकतम बॉक्स को अक्षम करता है, लेकिन क्या कोई तरीका है कि मैं इसे पूरी तरह से हटा सकता हूं?सी ++ विंडोज अधिकतम बॉक्स हटा दें

+0

नहीं, संभव नहीं है। –

+3

मुझे लगता है कि प्रयोज्यता के कारण इसे हटाने का बुरा विचार होगा। बंद के बाईं ओर तुरंत बटन हमेशा अधिकतम होता है और उसके बाईं ओर हमेशा कम होता है। इस तरह की चीजों को बदलना लोगों को भ्रमित करता है। – IronMensan

+0

@ हंसपैसेंट - क्या आप एक लिंक के साथ _PLEASE_ प्रतिक्रिया दे सकते हैं जहां मैं "संभव नहीं" के बारे में अधिक पढ़ सकता हूं। यह विश्वास करना वाकई मुश्किल है कि माइक्रोसॉफ्ट ऐसा करने का कोई तरीका नहीं प्रदान करेगा ... (लेकिन मैंने देखा है, और अब तक आपको गलत साबित नहीं कर सकता :) धन्यवाद – ryyker

उत्तर

2

कोई आसान तरीका नहीं है, लेकिन यदि आप शीर्षक बार को स्वयं आकर्षित करने जा रहे हैं - इस मामले में आप इसे कर सकते हैं।

आपको एक विचार देने के लिए, यह आलेख Adding a 'Minimize to tray'-button to a Form's caption bar बताता है कि एक बटन कैसे जोड़ें। मानक बटन को हटाने के बारे में है - non-client area का अनुकूलन।

1

यह करीब निकाल देंगे, एक विंडोज 7 पैनल से कम करने और बटन को अधिकतममुझे लगता है यह बहुत (बहुत) देर से आने के में है, लेकिन यह यहां पोस्ट यह एक ही समस्या के साथ किसी और को मदद मिल सकती है के रूप में ।

void ClearButtons(void) 
{ 
    int index = WS_BORDER; 
    unsigned int a = (unsigned int)((WS_BORDER | WS_CAPTION) & (~WS_ICONIC)); 

    LONG_PTR lPtr; 
    HWND hWnd = GetActiveWindow(); 
    lPtr = GetWindowLongPtr(hWnd, index); 
    SetWindowLongPtr(hWnd, GWL_STYLE, a); 
} 
संबंधित मुद्दे