delphi programming forums mysql charset mget recursive synonimos
free ventrilo servers hosting cs javascript delay python find in list
Back Forum New
abstract:

(
var
Params: TCreateParams
)
; override;
procedure
TFormA.
CreateParams
(
var
Params: TCreateParams
)
;
begin
inherited
;
    Params.
ExStyle
:= Params.
ExStyle
or
WS_EX_APPWINDOW;
    Params.
WndParent
:= GetDesktopWindow;
end
;

I don't know whether this code has anything todo with this problem, but even then i am posting it.
Another issue (i guess related to the same problem), the window that is being created by the application gain focus automatically (if it is not minimized) on any event on other form (specially if there are some other dialog open). This window also has a number of cases to handle WINDOWS_MESSAGE but no case is XPILICTLY setting the focus.


I have made an application, on startup there are two forms (formA, formB) that are being load. so in task bar i can see 3 forms, (application, formA, formB). There is one form that is being created at application startup before the application main form is created, and if this form is open i can see 1 extra form in taskbar. else not i.e
Delphi Code:
[url=#top]
[/url]Original
                - Delphi Code
        DlgFormA := TFormA.Create(nil);

        {..ON SOME CONDITION TRUE}
        application.CreateForm(TfrmMainFrame, frmMainFrame);
  1.     DlgFormA := TFormA.
  2. Create
  3. (
  4. nil
  5. )
  6. ;
  7. {..ON SOME CONDITION TRUE}
  8.         application.
  9. CreateForm
  10. (
  11. TfrmMainFrame, frmMainFrame
  12. )
  13. ;
Copy Code
Now, whenever i have FormA open, i can see Active form + 1 window in task bar. i.e if there is on FormA active then i can see 2 windows in task bar. if there are 2 windows active (one formA and other some other form) then i can see three windows in task bar.
I don't want to see that one extra window in task bar. how can i tackle it?
One more thing. I have used this code which have solved the minimizing issue to the taskbar. before this code if i minimized the form it did not minimize to taskbar, rather it minimized above taskbar in the lower left corner.
Delphi Code:
[url=#top]
[/url]Original
                - Delphi Code
    procedure CreateParams(var Params: TCreateParams); override;

  procedure TFormA.CreateParams(var Params: TCreateParams);
  begin
    inherited;
    Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
    Params.WndParent := GetDesktopWindow;
  end;
  1. procedure
  2. CreateParams
  3. (
  4. var
  5. Params: TCreateParams
  6. )
  7. ; override;
  8. procedure
  9. TFormA.
  10. CreateParams
  11. (
  12. var
  13. Params: TCreateParams
  14. )
  15. ;
  16. begin
  17. inherited
  18. ;
  19.     Params.
  20. ExStyle
  21. := Params.
  22. ExStyle
  23. or
  24. WS_EX_APPWINDOW;
  25.     Params.
  26. WndParent
  27. := GetDesktopWindow;
  28. end
  29. ;
Copy Code
I don't know whether this code has anything todo with this problem, but even then i am posting it.
Another issue (i guess related to the same problem), the window that is being created by the application gain focus automatically (if it is not minimized) on any event on other form (specially if there are some other dialog open). This window also has a number of cases to handle WINDOWS_MESSAGE but no case is XPILICTLY setting the focus.

TOP


Originally Posted by alee
I have made an application, on startup there are two forms (formA, formB) that are being load. so in task bar i can see 3 forms, (application, formA, formB). There is one form that is being created at application startup before the application main form is created, and if this form is open i can see 1 extra form in taskbar. else not i.e
Delphi Code:
[url=#top]
[/url]Original
                - Delphi Code
        DlgFormA := TFormA.Create(nil);

        {..ON SOME CONDITION TRUE}
        application.CreateForm(TfrmMainFrame, frmMainFrame);
  1.     DlgFormA := TFormA.
  2. Create
  3. (
  4. nil
  5. )
  6. ;
  7. {..ON SOME CONDITION TRUE}
  8.         application.
  9. CreateForm
  10. (
  11. TfrmMainFrame, frmMainFrame
  12. )
  13. ;
Copy Code
Now, whenever i have FormA open, i can see Active form + 1 window in task bar. i.e if there is on FormA active then i can see 2 windows in task bar. if there are 2 windows active (one formA and other some other form) then i can see three windows in task bar.
I don't want to see that one extra window in task bar. how can i tackle it?
Have you tried
Delphi Code:
[url=#top]
[/url]Original
                - Delphi Code
        DlgFormA := TFormA.CreateParented(Handle);

        {..ON SOME CONDITION TRUE}
        application.CreateForm(TfrmMainFrame, frmMainFrame);
  1.     DlgFormA := TFormA.
  2. CreateParented
  3. (
  4. Handle
  5. )
  6. ;
  7. {..ON SOME CONDITION TRUE}
  8.         application.
  9. CreateForm
  10. (
  11. TfrmMainFrame, frmMainFrame
  12. )
  13. ;
Copy Code
I'm afraid I can't help you with your other issues.

TOP

I don't want DlgFormA has child of someone .. i want it independent.



(
var
Params: TCreateParams
)
; override;
procedure
TFormA.
CreateParams
(
var
Params: TCreateParams
)
;
begin
inherited
;
    Params.
ExStyle
:= Params.
ExStyle
or
WS_EX_APPWINDOW;
    Params.
WndParent
:= GetDesktopWindow;
end
;

I don't know whether this code has anything todo with this problem, but even then i am posting it.
Another issue (i guess related to the same problem), the window that is being created by the application gain focus automatically (if it is not minimized) on any event on other form (specially if there are some other dialog open). This window also has a number of cases to handle WINDOWS_MESSAGE but no case is XPILICTLY setting the focus.

TOP

Back Forum