[C++] Afvangen minimaliseer knop

Pagina: 1
Acties:

  • boobobob
  • Registratie: Oktober 2004
  • Laatst online: 31-08-2021

boobobob

Dancing Goaly

Topicstarter
Ik heb een probleem met het minimaliseren van mijn programma.
Ik gebruik in C++ Builder 5 meerdere Forms die ik aanroep door de instructie ShowModal.
Als ik dan het top form minimaliseer dan blijft de rest zichtbaar in de achtergrond.
Nu wil ik onderstaande code toepassen om alle forms te minimaliseren.
C++:
1
ShowWindow(Application->Handle, SW_MINIMIZE);

Deze code werkt als ik die achter een button stop.
Maar ik wil de standaard minimalizeerknop gebruiken.

Via google kom ik vele hits tegen met dit probleem maar allemaal voor Delphi.
Ik heb vanalles geprobeerd maar kreeg niks werkend.

Mijn vraag dus: Hoe kan ik een minimaliseerknop afvangen zodat ik er zelf bovenstaande code in kan zetten.

  • WalterTamboer
  • Registratie: December 2003
  • Laatst online: 13-01-2017
Misschien met de WM_ACTIVATE code in je windows procedure?

http://www.google.nl/search?q=WM_ACTIVATE

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 21-04 01:08

.oisyn

Moderator Devschuur®

Demotivational Speaker

WM_SIZE

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • schoene
  • Registratie: Maart 2003
  • Laatst online: 20:51
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// in header
void __fastcall WMSysCommand(TMessage &Msg);

BEGIN_MESSAGE_MAP
    MESSAGE_HANDLER(WM_SYSCOMMAND, TMessage, WMSysCommand)
END_MESSAGE_MAP(TForm)

// in cpp:

 void __fastcall TForm1::WMSysCommand(TMessage& Msg)
{
  if (Msg.WParam == SC_MINIMIZE)
  {
    ShowWindow(Application->Handle, SW_MINIMIZE);
  }
  else
  { 
  TForm::Dispatch(&Msg);
  }
}

[ Voor 3% gewijzigd door schoene op 24-11-2005 11:38 ]


  • boobobob
  • Registratie: Oktober 2004
  • Laatst online: 31-08-2021

boobobob

Dancing Goaly

Topicstarter
schoene schreef op donderdag 24 november 2005 @ 11:37:
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// in header
void __fastcall WMSysCommand(TMessage &Msg);

BEGIN_MESSAGE_MAP
    MESSAGE_HANDLER(WM_SYSCOMMAND, TMessage, WMSysCommand)
END_MESSAGE_MAP(TForm)

// in cpp:

 void __fastcall TForm1::WMSysCommand(TMessage& Msg)
{
  if (Msg.WParam == SC_MINIMIZE)
  {
    ShowWindow(Application->Handle, SW_MINIMIZE);
  }
  else
  { 
  TForm::Dispatch(&Msg);
  }
}
Thanks deze werkt perfect. Mijn dank is groot _/-\o_

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 21-04 01:08

.oisyn

Moderator Devschuur®

Demotivational Speaker

Ik wist niet dat we tegenwoordig aan kant-en-klare oplossingen deden?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1