Fenstermindestgröße setzen ?!
-
Hallo Leutz,
bin grade neu in der WIN-API Branche angelangt und habe schon n paar Tutorials durchgemacht. Ich würde gerne wissen, wie man eine Fenstermindestgröße festlegen kann, sprich, dass bei einer Fensterverkleinerung nur bis zu einem bestimmten Pixelzahl verkleinert werden kann ?!Ich habe versucht, dies mit der WM_SIZE Nachricht zu errichten, doch irgendwie funktioniert das nicht, oder ich bin auf der völlig falschen Fährte ... Naja, mein Quellcode, der eh nicht funktioniert:
case WM_SIZE: { rect.left = 0; rect.top = 0; rect.right = LOWORD(lParam); rect.bottom = HIWORD(lParam); if(LOWORD(lParam) <= 200){ InvalidateRect(hWnd, NULL, FALSE); }Könnte mir bitte jemand einen Lösungsvorschlag - am besten mit Quellcodeerläuterung (wenn möglich) - posten ? Wäre echt nett! ThX! Gez:
N()()bi
-
Schau dir mal WM_GETMINMAXINFO an!
-
Sorry, aber leider bringt mir das nicht viel! Ich habe nun ein bisschen gegoogelt, doch ich verstehs einfach nicht! Kannsd du oder irgendjemand mir bitte ein kleines Beispiel posten? Wäre echt nett! Thx!
-
Ich würde die Antwort so interpretieren:
Das hier einfügen in deiner WndProc, wo du die Nachrichten abfängstcase WM_GETMINMAXINFO: { MINMAXINFO* info = (MINMAXINFO*)lParam; info.ptMinTrackSize.x = 200 //Das hier abändern auf die gewünschten Größen info.ptMinTrackSize.y = 200 return 0; }
-
ThX! Das hat geklappt!
Ich hätte aber noch eine weitere Frage ... z.B. Wie sieht es mit Bildern aus ? wie kann ich welche einbinden ?
Und:
wc.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);Wie kann ich auch andere - z.B. selbst erstellte - Farben benutzen ? Was ist mit Backgroundimages?
ThX auf jeden Fall für die Antworten, Quelltexte mit Beschreibungen erleichtern mir das Lernen um einiges! GEZ:
n()()bi
-
wc.hbrBackground=CreateSolidBrush( RGB(rotwert,grünwert,blauwert) );Wenn Windows ein Fenster zeichnet, sendest es meistens erstmal ne WM_ERASEBKGND-Nachricht an das Fenster, das kannst du abfangen und da ein Hintergrundbild malen.
Es empfiehlt sich das Platform SDK runterzuladen, da drin ist eine Hilfe in der Dinge wie WM_GETMINMAXINFO, WM_PAINT, WM_ERASEBKGND, CreateSolidBrush(), CreateWindow(), etc. alle beschrieben werden...
(...alternativ in der MSDN nachsehen)