System.Windows.Forms.BorderStyle.FixedSingle per Winapi setzen



  • Hallo Forum,

    ich schreibe ein .net Addin für eine Anwendung. Die Eigenschaften und Methoden die zu mir durchgereicht werden sind leider manchmal fehlerhaft. Insbesondere möchte ich eine Form gerne als None-Resizeable festlegen. Wie könnte man das per WinApi machen? Im Internet habe ich einen Source Schnippsel umgesetzt:

    try {
    	int GWL_STYLE = -16;
    	int dwStyle = WinAPI_GetWindowLong(this.Handle , GWL_STYLE);
    	int WS_SIZEBOX = 0x00040000;
    	int WS_MAXIMIZE = 0x01000000;
    	dwStyle &= ~(WS_MAXIMIZE | WS_SIZEBOX);
    	int retval = WinAPI_SetWindowLong(this.Handle , GWL_STYLE , (int)dwStyle);
    	uint LastError1 = WinAPI_GetLastError();
    
    	IntPtr hMenu = WinAPI_GetSystemMenu(this.Handle , false);
    	uint SC_MAXIMIZE = 0xF030;
    	uint SC_SIZE = 0xF000;
    	uint MF_BYCOMMAND = 0x00000000;
    	WinAPI_DeleteMenu(hMenu , SC_MAXIMIZE , MF_BYCOMMAND);
    	WinAPI_DeleteMenu(hMenu , SC_SIZE , MF_BYCOMMAND);
    	uint LastError2 = WinAPI_GetLastError();
    } catch (Exception ex) {
    	MessageBox.Show(ex.ToString());
    }
    

    Die Rückgabewerte sind nicht null und LastError zeigt nichts an. Trotzdem kann ich die Form resizen. Wie kann ich per Winapi die Form als fixed Dialog anzeigen lassen?

    Vielen Dank

    Peter




Log in to reply