Titel Bar
-
Hallo
ich möchte gerne, dass bei meinem Prgrammfenster die Leiste, wo der Titel und das Systemmenü ist, nicht angezeigt wird.
Wie macht man das?
-
Falls es sich um eine dialogfeldbbasierte Anwendung handelt kannst du das in den Eigenschaften deines Dialogs einstellen.
-
Nein ist keine dialogbasierte Anwendung.
Ist ein ganz normales Wnd.
-
CWnd::OnNcRButtonDown
The framework calls this member function when the user presses the right mouse button while the cursor is within a nonclient area.
---------------------
Natürlich musst du jetzt 1.) auf 'this' capturen 2.) auswerten, ob du wirklich auf der Caption gelandet bist (Hinweis: Hittest, GetSystemMetrics, SM_CYCAPTION, SM_CYFRAME usw.) & 3.) bei !NULL einen unconditionalen return geben.MfG Jens Rybacke
-
Ach, bin müde. Letzteres stimmt so nicht.
if(this != GetCapture()) return; // ;-)
-
Hallo
Ich möchte nicht, dass man nicht mehr auf meine Titel Bar klicken kann oder so etwas.
Ich möchte, dass gar keine Titel Bar erscheint in meinem Programm.
Mfg
-
Ach, so einfach!
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_Window_Styles.asp
-
Genau das meinte ich die Window styles.
Doch ich habe dort kein passendes gefunden. Bei allen ,wenn man sie aufruft, bleibt die Titel Bar.
Hier ist der Code wie ich die Window Styles aufrufe:
Was mache ich falsch?BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !CFrameWnd::PreCreateWindow(cs) ) return FALSE; // TODO: Ändern Sie hier die Fensterklasse oder die Darstellung, indem Sie // CREATESTRUCT cs modifizieren. cs.style = WS_CAPTION; return TRUE; }
-
cs.style &= ~WS_CAPTION;
-
Hallo
ich habe es jetzt wie Jochen Kalmbach gesagt hat,gemacht.
Hier der CodeBOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !CFrameWnd::PreCreateWindow(cs) ) return FALSE; // TODO: Ändern Sie hier die Fensterklasse oder die Darstellung, indem Sie // CREATESTRUCT cs modifizieren. cs.style &= ~WS_CAPTION; return TRUE; }
Doch die Titelleiste ist immer noch da.
ich dachte auch schon daran, dass & wegzulassen.
Also so:cs.style = ~WS_CAPTION;
Doch dann passiert etwas ganz komisches, wenn ich das Prog starte.
Dann wird es nämlich garnicht mehr angezeigt(es startet aber) und wenn man in der Taskleiste auf das Programm drückt passiert auch nichts.
Was muss ich ändern?
-
cs.style |= ~WS_CAPTION;
*rat* ich habe es immer anders realisiert..
-
Hallo
dann bekomme ich den gleichen Probleme wie beics.style = ~WS_CAPTION;
Das Programm wird zwar gestartet doch nicht angezeigt. Man kann garnichts mit dem Prog machen nur noch mit dem Task-Manager beenden.
Wie hast du das denn gemacht mit dem nicht anzeigen der Titelbar?
-
Du hast Recht..
cs.style &= ~WS_CAPTION;
..sollte stimmen, aber fkt. tatsächlich nicht.
-
Genau das verstehe ich ja leider auch nicht.
Aber es muss doch einen Weg geben die Titelbar nicht angezeigt zubekommen.
-
Ich schreibe dir den Code nachhern neu.
Habe das Projekt leider nicht mehr.
-
Das wäre super
Danke
-
Bin für eine Woche nicht zu Hause.
Wäre super, wenn du mir trotzdem noch den Code geben könntest Jens Rybacke.
Und schon mal vielen Dank