AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Inhalt einer Form bei Aufruf "SW_SHOWNOACTIVATE" nicht sichtbar
Thema durchsuchen
Ansicht
Themen-Optionen

Inhalt einer Form bei Aufruf "SW_SHOWNOACTIVATE" nicht sichtbar

Ein Thema von Helmi · begonnen am 23. Mai 2012 · letzter Beitrag vom 9. Jul 2013
Antwort Antwort
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#1

Inhalt einer Form bei Aufruf "SW_SHOWNOACTIVATE" nicht sichtbar

  Alt 23. Mai 2012, 21:32
Hallo,

mittels folgendem Code versuche ich eine Form anzeigen zu lassen, ohne das sie den Fokus erhält
(Code aus dem Forum).

Delphi-Quellcode:
If sichtbar then
  ShowWindow(Handle, SW_SHOWNOACTIVATE)
else
  ShowWindow(Handle, SW_HIDE);
Es funktioniert auch soweit. Also soweit dass die Form ohne Fokus angezeigt wird.
Leider seh ich nur ein weisses Feld in der Größe der Form, dummerweise aber total leer.
Auf dem Bild sieht man es.

Ich sollte noch erwähnen, dass folgende Eigenschaft gesetzt ist: BorderStyle = bsNone .

Mach ich aber Show seh ich alles auf der Form. Nur hat die Form damit auch den Fokus, was ich aber nicht möchte.

Was ist da faul? - Bzw. wie bekomme ich es hin, dass die Form keinen Fokus hat, dafür aber alles sichtbar ist?
Miniaturansicht angehängter Grafiken
neu-2.jpg  
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#2

AW: Inhalt einer Form bei Aufruf "SW_SHOWNOACTIVATE" nicht sichtbar

  Alt 23. Mai 2012, 22:12
Passiert was, wenn du ein Perform(CM_VISIBLECHANGED, Ord(sichtbar), 0); hinterherschickst?

Ist Visible danach True?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (23. Mai 2012 um 22:20 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#3

AW: Inhalt einer Form bei Aufruf "SW_SHOWNOACTIVATE" nicht sichtbar

  Alt 23. Mai 2012, 22:16
Passiert was, wenn du ein Perform(CM_VISIBLECHANGED, Ord(sichtbar), 0); hinterherschickst?
Leider nein! - Es bleibt wie bisher: leer!
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: Inhalt einer Form bei Aufruf "SW_SHOWNOACTIVATE" nicht sichtbar

  Alt 23. Mai 2012, 22:23
Und wenn du da nach das Fenster neu zeichnen lässt?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#5

AW: Inhalt einer Form bei Aufruf "SW_SHOWNOACTIVATE" nicht sichtbar

  Alt 23. Mai 2012, 22:27
Und wenn du da nach das Fenster neu zeichnen lässt?
Ich habs mit Repaint als auch Refresh probiert - bei beiden das gleiche Phänomen.
Es ändert sich nichts an der Sichtbarkeit der Komponenten auf der Form - sie werden
nicht angezeigt.
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

AW: Inhalt einer Form bei Aufruf "SW_SHOWNOACTIVATE" nicht sichtbar

  Alt 23. Mai 2012, 22:27
Delphi-Quellcode:
ShowWindow(Form3.Handle, SW_SHOWNOACTIVATE);
Form3.Visible := True;
Das sollte helfen. Beim SW_HIDE natürlich Visible := False setzen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#7

AW: Inhalt einer Form bei Aufruf "SW_SHOWNOACTIVATE" nicht sichtbar

  Alt 23. Mai 2012, 22:39
Delphi-Quellcode:
    ShowWindow(Handle, SW_SHOWNOACTIVATE);
    Visible := True;
?

[edit]
Ups, wo kommt den jbg denn urplötzlich her.
Aber scheinbar sieht es so gut aus.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (23. Mai 2012 um 22:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#8

AW: Inhalt einer Form bei Aufruf "SW_SHOWNOACTIVATE" nicht sichtbar

  Alt 24. Mai 2012, 18:51
Delphi-Quellcode:
ShowWindow(Form3.Handle, SW_SHOWNOACTIVATE);
Form3.Visible := True;
Das sollte helfen. Beim SW_HIDE natürlich Visible := False setzen.
Danke! - das hat funktioniert.

Habs jetzt so gemacht:

Delphi-Quellcode:
  If sichtbar then
    begin
      ShowWindow(Handle, SW_SHOWNOACTIVATE);
      Visible := true;
      Repaint;
      BringToFront;
    end
  else
    begin
      ShowWindow(Handle, SW_HIDE);
      Visible := false;
    end;
Stimmt die Erklärung, dass mit ShowWindow "an der VCL vorbei" das Fenster angezeigt wird und deswegen die VCL eigentlich gar nicht weiss das das Fenster angezeigt werden soll. Deswegen muss mit Visible das Fenster auch für die VCL sichtbar gemacht werden?!
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<

Geändert von Helmi (24. Mai 2012 um 19:04 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#9

AW: Inhalt einer Form bei Aufruf "SW_SHOWNOACTIVATE" nicht sichtbar

  Alt 9. Jul 2013, 09:10
Ich weiß das ich gerade gefahrlaufe Threadnecrophelie zu betreiben, aber da ich gerade vor dem selben Problem stand(was hiermit gelößt wurde) möchte ich noch meine 2Cent zur letzten Frage des Threaderstellers abgeben(falls später nochmals jemand hier drauf googlet):

In diesem speziellen Fall geht das nutzen von ShowWindow sogar soweit, das nichtmal irgendwelche Events von einer Control/Form getriggert werden. Das dürfte bestätigen, das hier an der VCL vorbeigearbeitet wird, da diese dann auch außen vor ist, was Message-Abarbeitung angeht.
Sowas ist also wohl mit Vorsicht zu genießen.


MFG
Memnarch
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#10

AW: Inhalt einer Form bei Aufruf "SW_SHOWNOACTIVATE" nicht sichtbar

  Alt 9. Jul 2013, 20:25
weil das Thema sowieso aufgewärmt wurde, muss ich gleich noch ein Problem loswerden:

Bei WinXP (ja, das gibt's noch) seh ich leider den Inhalt der Form nicht
muss man dabei etwas (anderes) beachten?

[Edit]
Kommando zurück - das Problem liegt auf meiner Seite (dumme If-Anweisung wird ned true)
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<

Geändert von Helmi ( 9. Jul 2013 um 21:00 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz