Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Visual C++ 5.0, Anwendung per Programmcode minimieren/maximi

anul / 3 Antworten / Baumansicht Nickles

Ich will ein Windowsprogramm schreiben, daß sich, wenn ein Button angeklickt wird, minimiert. Es soll nur ein Icon in der Systray zu sehen sein. Wenn ich das Icon anklicke, öffnet sich ein Menü und ich kann das Programm wieder maximieren.

Das Icon und das zugehörige Menü habe ich mir in die Systray geladen.
Ich habe es mit einer dialogbasierenden Anwendung(Basisklasse CDialog) und der Methode ShowWindow(Argumente: SW_HIDE & SW_RESTRE) probiert. Es funktioniert hunderprozentig.

Nun will ich den Code in eine Anwendung mit der Basisklasse Formview übernehmen. Nun geht es nicht mehr. Es scheint, als ob die Ansicht verschwindet - der Rahmen bleibt. Als Schlußfolgerung daraus, habe ich die Funktion Minimieren & Maximieren in CMainFrame programmiert und die Methode ActivateFrame verwendet. Leider ohne Erfolg.

Wie kann ich eine Windowsanwendung mit der Basisklasse CFormview schreiben, die sich auf ein Ereignis minimiert(es soll nur ein Systray-Icon sichtbar sein) und sich wieder maximieren läßt?




bei Antwort benachrichtigen
thomas woelfer anul „Visual C++ 5.0, Anwendung per Programmcode minimieren/maximi“
Optionen

das liegt daran das du nicht die view, sondern das mainwindow mit SW_HIDE etc. verschwinden lassen musst. im falle einer dialogboxbasierten anwendung ist die dlgbox das mainwindow, wenn du eine anwendung hast die views verwendest darfst du halt nicht die view verstecken sondern das main window der anwendung.

WM_HOPETHISHELPS

this posting contains no tpyos.
bei Antwort benachrichtigen
anul Nachtrag zu: „Visual C++ 5.0, Anwendung per Programmcode minimieren/maximi“
Optionen

Was ist mit mainwindow gemeint?
Ich verwende eine SDI Anwendung, deren Ansichtsklasse von CFormview abgeleitet ist.
Um die Anwendung zu minimieren, benutze ich die Memberfunktion:

void CMainFrame::OnSystrayMinimieren()
{
ShowWindow(SW_HIDE);
}


Die folgende Funktion dient dazu, die Anwendung wieder zu maximieren.

void CMainFrame::OnSystrayMaximieren()
{
ShowWindow(SW_RESTORE);
}

Was mache ich falsch?

bei Antwort benachrichtigen
thomas woelfer anul „Was ist mit mainwindow gemeint? Ich verwende eine SDI Anwendung, deren...“
Optionen

das sieht so voellig richtig aus. wenn ich die urspruengliche frage richtig verstanden habe, dann wird aber das ansichts-fenster und nicht das mainframe fenster minimiert... so sieht der code hier aber nicht aus. habe vermutlich das problem falsch verstanden ...

WM_SORRY

this posting contains no tpyos.
bei Antwort benachrichtigen