Forum
Tipps
News
Menu-Icon

Fenster in C nicht größenverstellbar

Hi,
ich wüsste gerne wie man mit C ein Fenster nicht mehr verändern kann (bei eigenen Programmen)

matze


Antworten zu Fenster in C nicht größenverstellbar:

Musst den WS_THICKFRAME bzw WS_SIZEBOX style wegnehmen

Hi,
wie soll ich des machen?

wahrscheinlich hier irgendwo oder? (Hier wird bekanntlicherweise das Fenster geöffnet)



//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop
//---------------------------------------------------------------------------
USEUNIT("main.c");
//---------------------------------------------------------------------------
extern "C"
LRESULT CALLBACK WindowProc(HWND hwnd, UINT m, WPARAM wParam, LPARAM lParam);
/* Prototyp fuer die selbstgemachte Funktion WindowProc
   WindowProc ist eine C Funktion in einer anderen Datei
   extern "C" wird in C nicht benoetigt, aber hier sind wir in C++
*/


/* main fuer Windows */
int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE dummy0, PSTR dummy1, int dummy2)
{
  WNDCLASS wc;  // Fensterklasse
  HWND hwnd;    // Handle des Fensters
  MSG msg;      // Message (Nachricht)
 
  /* Initialisiere Fensterklasse */
  wc.lpfnWndProc   = WindowProc;    // Zeiger auf WindowProc, siehe oben
  wc.lpszMenuName  = NULL;
  wc.cbClsExtra    = 0;
  wc.cbWndExtra    = 0;
  wc.hInstance     = hInstance;
  wc.hIcon         = LoadIcon(NULL, IDI_APPLICATION);     // Icon
  wc.hCursor       = LoadCursor(NULL, IDC_ARROW);         // Cursor
  wc.hbrBackground = GetStockObject(WHITE_BRUSH);         // Hintergrund
  wc.style         = CS_OWNDC;                            // Stilparameter
  wc.lpszClassName = "KlasseHallo";                       // Klassenname
 
  /* Registriere Fensterklasse */
  RegisterClass(&wc);
 
  /* Erzeuge Fenster, merke dir den Handle */
  hwnd = CreateWindow("KlasseHallo",                      // Klassenname
                      "WinHallo",                         // Titel
                      WS_OVERLAPPEDWINDOW,                // Fenstertyp
                      100, 100,                               // Ursprung x,y
                      338, 280,                           // Breite, Hoehe
                      NULL, NULL, hInstance, NULL);
 
  /* Zeige Fenster */
  ShowWindow(hwnd, SW_SHOW);
 
  /* Nachrichtenschleife, Ausstieg falls GetMessage 0 liefert */
  while (GetMessage(&msg, 0, 0, 0)) {
    TranslateMessage(&msg);
    DispatchMessage(&msg);      // Ruft WindowProc auf
  }
 
  /* beende WinMain und damit das Programm */
  return msg.wParam;
}

Ja, da wo WS_OVERLAPPEDWINDOW steht, is WS_THICKFRAME mit drin, also an der Stelle:

WS_OVERLAPPEDWINDOW & ~WS_THICKFRAME

Wenn das Fenster dann noch maximierbar ist, vielleicht auch noch zusätzlich mit ~WS_MAXIMIZEBOX verunden.

Vielen Dank,

matze


« Anderes Programm mit C öffnenBin afnänger hilfe »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Auslagerungsdatei
Die Auslagerungsdatei, auch bekannt als virtueller Speicher, ist ein wichtiges Element im Windows-Betriebssystem. Sie dient als Erweiterung des physischen Arbeitsspeicher...

Dateiendungen
Die Dateiendung, auch Dateinamenerweiterung, Dateierweiterung oder einfach "Endung" genannt, besteht aus meistens drei oder vier Buchstaben und wird mit einem Punkt an de...

Dateisystem
Das Dateisystem eines Computers definiert, wie Daten auf einem Speichermedium organisiert werden. Es bestimmt dabei, wie die Informationen auf dem Medium gespeichert, gel...