Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Dialog Verstecken

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
05.05.2004, 22:50 Uhr
Tolotos



Hallo,
wie kann ich denn einen Dialog den ich so erstelle verstecken?


C++:
int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrI, PSTR szCmdLine, int iCmdShow)
{
DialogBox(hInst,MAKEINTRESOURCE(IDD_DIALOG1),GetDesktopWindow(),(DLGPROC)DlgProc);
return(0);
}


LRESULT CALLBACK DlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
  switch (message)
  {
  case WM_INITDIALOG:
      {  ShowWindow(hDlg,SW_HIDE);    // <----- Das funktioniert nicht.
          return TRUE;
      }
   .
   .
   .



Das IDD_DIALOG1 wird über den Resourcen-Editor von VC++ gemacht.
Aber verstecken tut sich das nicht.
Wenn ich aber statt SW_HIDE, SW_MINIMIZE mache geht das.

Weiss einer wie ich den Dialog von der Taskleiste weg bekomme?

Dieser Post wurde am 05.05.2004 um 22:51 Uhr von Tolotos editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
06.05.2004, 20:40 Uhr
Tolotos



Also wenn ich das mit einem Window versuche, das mit CreateWindow gemacht wurde geht es.
Liegt es an dem Befehl DialogBox? Aber ohne das waere es so umständlich.


Ich will nämlich den Dialog in den Tray machen nachdem er minimiert wurde.
Das mit dem Tray hab ich glaube ich kapiert, aber es ist immer noch ein button in der tasklaeiste von dem Program.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.05.2004, 13:21 Uhr
Tolotos



So jetzt hab ich es allein rausgefunden.

Also fuer den, den es interresiert.

C++:
int DialogBox(HINSTANCE hInstance,LPCTSTR lpTemplate,HWND HwndParent, DLGPROC lpDialogFunc);


erzeugt einen Modalen Dialog. D.h. gibt erst die Kontrolle an das Parent zurück wenn es beendet ist. Da ich mit GetDesktopWindow() das Handle vom System
habe funktioniert das nicht.

Die Lösung liegt bei:

C++:
HWND CreateDialog(HINSTANCE hInstance,LPCTSTR lpTemplate,  
  HWND hWndParent,DLGPROC lpDialogFunc);


Wo man zugleich noch ein Handle zurück bekommt. Und somit ein "Moduslossen"
Dialog erstellt.

Dank an Petzold den API-Gott
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: