[Delphi] 'alt-tab' tussen forms

Pagina: 1
Acties:

  • Parcye
  • Registratie: Maart 2001
  • Laatst online: 24-08-2017
Ik ben bezig met een script waarbij ik iedere keer dat er data binnen komt van een ander adres een nieuwe standaard formulier wordt getoond.

Geen enkel probleem, Form gemaakt niet autocreate gemaakt en bij de ClientSocket OnRead event wordt er een neiuwe form gemaakt. Toppie!

Alleen nu heb ik bijvb 5 forms open en ik kan niet wissellen van form naar form, de nieuwste staat bovenaan en ik kan ook niet op me main form klikken.

Nou heb ik hier gezocht naar 'form wisselen delphi' maar niets gevonden, zelf even wat gespeeld maar ook dan kom ik er niet uit.

Ik kan het oplossen door MDI te gaan werken maar dat is niet de bedoeling.

Het liefst heb ik de optie om de forms al dan niet op de taak balk ook zichbaar te hebben, zoals word2000 dat doet maar ook msn en icq bijvb... .

Hoe kan dit gedaan worden is dus de vraag?

Geprobeerd: alle opties die ik kon bedenken...

code...

Form.Create(nil)
... init code, public vars goed zetten, caption etc....
Form.ShowModal;

"Als je het kan bedenken, kan het gemaakt worden" Parcye - 14 januari 2002


  • martijn_brinkers
  • Registratie: November 2001
  • Laatst online: 25-08 22:13
omdat je Form.ShowModal gebruikt zijn je dialogs Modal :) ... dwz dat er maar 1 actief kan zijn en je dus niet een andere kan selecteren. Je moet dus een non-modal dialog maken. Je kan ShowModal vervangen door Show. Het kan zijn dat je app nu wel wat ingewikkelder wordt omdat de 'program flow' niet meer zo serieel is zoals je had met modal windows.

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Parcye schreef op 13 January 2003 @ 04:49:
Ik ben bezig met een script waarbij ik iedere keer dat er data binnen komt van een ander adres een nieuwe standaard formulier wordt getoond.
Noem Delphi aub geen script })
Het liefst heb ik de optie om de forms al dan niet op de taak balk ook zichbaar te hebben, zoals word2000 dat doet maar ook msn en icq bijvb... .
Standaard komen ze niet op de taakbalk. Met de onderstaande code wel:
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Interface
type
  TfrmTest = class(TForm)
  protected
    procedure CreateParams(var Params: TCreateParams); override;
  end;

// Implementation
procedure TfrmTest.CreateParams(var Params: TCreateParams);
begin
  inherited;

  Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
end;

// Of: Iets minder net, maar Alt-Tab werkt dan ook
procedure TfrmTest.CreateParams(var Params: TCreateParams);
begin
  inherited;

  Params.WndParent := 0;
end;

We adore chaos because we like to restore order - M.C. Escher


  • Parcye
  • Registratie: Maart 2001
  • Laatst online: 24-08-2017
Mijn excuus voor script noemen, sorry kwam door de tijd van de dag...

Damn... waarom ik nou niet zelf zag Model...... bah bah, tijd van de dag ;)

"Als je het kan bedenken, kan het gemaakt worden" Parcye - 14 januari 2002