BorderStyle Icons
-
Guten Tag,
ich hab da ein kleines Problem, irgendwie komme ich nicht dahinter wie ich das maximieren Symbol aus der Leiste entfernen kann (es soll nurnoch das minimieren- und das schließen Symbol erscheinen) _ X
vielen dank schonmal!
-
hi,
willst du das icon ganz weg haben oder nur deaktivieren?
falls du es nur deaktivieren willst kannst du im Obejct Inspector das Formular anwählen und unter BorderIcons biMaximize auf false stellen.
mfg
-
Hallo
Zumindest deaktivieren kannst du ihn so:Im Objectinspector
BorderIcons:
biSystemMenu=true
biMinimize=true
biMaximize=false
biHelp=falseund
BorderStyle=bsSingle
setzen.
Mir hat das gereicht...wNw
-
Zu spät
-
passiert ^^
-
ja genau, aber kann mir jemand sagen wie ich den Button ganz entfernen kann ? bei Visual Studio ist es ja möglich
-
Hallo,
biSystemMenu=false
biMinimize=false
biMaximize=false
biHelp=falsemfg, Micha
-
@RandomAccess85:
Deine erste Zeile biSystemMenue=false im Objekt-Inspektor würde da reichen, weil dann alle Button ausgeblendet werden.
Die Frage war aber:...es soll nur noch das minimieren- und das schließen Symbol erscheinen
und die Möglichkeit besteht so eigentlich nicht, bin ich der Meinung.
@Stelfer:
Wie machst Du das im VisualStudio???
-
Hallo,
sorry, da hab ich mich wohl verlesen!
@arnedrews:
Im VS scheint es wohl mit SetWindowLong zu funktionieren. Tuts im BCB nicht.Das hat auch nur wieder den Erfolg dass der Maximierenbutton zwar deaktiviert aber noch sichtbar ist:
SetWindowLong(Handle, GWL_STYLE, WS_POPUP | WS_SYSMENU | WS_MINIMIZEBOX | WS_CAPTION | WS_SIZEBOX);
Damit kann man zumindest die Menüeinträge zu "Maximieren", "Größe ändern", "Verschieben" und "Wiederherstellen" entfernen:
hMenu = GetSystemMenu(Handle, 0); RemoveMenu (hMenu, SC_MAXIMIZE, MF_REMOVE || MF_BYCOMMAND); RemoveMenu (hMenu, SC_SIZE, MF_REMOVE || MF_BYCOMMAND); RemoveMenu (hMenu, SC_MOVE, MF_REMOVE || MF_BYCOMMAND); RemoveMenu (hMenu, SC_RESTORE, MF_REMOVE || MF_BYCOMMAND); DrawMenuBar (Handle);
mfg, Micha
-
Immerhin...
Warum will man den Button "Maximieren" überhaupt ausblenden?
So schlimm finde ich den nicht, wenn der deaktiviert ist.Aber wenn man da so gesteigerten Wert drauf legt, kann man ja die Systemleiste
mit biSystemMenue=false ausblenden und sich am oberen Rand ne eigene Leiste
mit angepaßten Buttons entwerfen.Button "Minimieren" ruft das WindowEvent WM_MINIMIZE auf und
Button "Schließen" löst ein Form1->Close(); aus.Is' vielleicht nicht sehr elegant, aber sicher leichter zu bewrkstelligen.
Nur wenn man das wirklich inbedingt möchte...
-
RandomAccess85 schrieb:
hMenu = GetSystemMenu(Handle, 0); RemoveMenu (hMenu, SC_MAXIMIZE, MF_REMOVE || MF_BYCOMMAND);
Der boolesche ||-Operator ist hier unangebracht; benutze |.