C ++ Windows fjerner maksimere boksen

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg bruger disse vinduestilarter, når du ringer til CreateWindow

WS\_OVERLAPPED | WS\_CAPTION | WS\_SYSMENU | WS\_MINIMIZEBOX

Dette deaktiverer maksimeringskassen, men er der nogen måde jeg helt kan fjerne den?

Bedste reference


Ingen nem måde, men hvis du skal tegne titellinjen selv - i dette tilfælde kan du gøre det.


For at give dig en ide, forklarer denne artikel, hvordan du tilføjer en 'Minimer til bakke' -knap til en formes tekstbjælke, hvordan man tilføjer en knap. Fjernelse af standardknappen er omtrent det samme - tilpasning af non-client area. [5]

Andre referencer 1


Dette fjerner lukkede, minimerer og maksimerer knapper fra et Windows 7-panel Jeg er klar over, at dette er meget (meget) sent i kommende det her som det kan hjælpe andre med samme problem.


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);  
}