Autor |
Beitrag |
mikro1986
      
Beiträge: 22
|
Verfasst: Do 16.04.09 14:15
Hi,
also erstmal zu meinem Prog:
Es ist mehr oder weniger ein Terminal, von dem mehrere Anwendungen gestartet werden können. Nun dauert es aber leider, bis die Anwendungen gestartet sind und wenn man nur auf die anderen Button drückt, um andere Anwendungen zu starten, werden irgendwann alle gestartet und das ist unschön.
meine bisherige Lösung:
ich hab die anderen Buttons deaktiviert mit enabled, aber jetzt hab ich das Problem, wenn jetzt einer auf die anderen Buttons drückt,s ich die Anwendung nur im Hintergrund öffnet, ich die aber im Vordergrund brauche!
Hat jemand eine Idee, wie ich die Anwendung in den Vordergrund bekomme, oder wie ich mein eigentliches Problem lösen kann.
Also nochmal im Klartext:
Sagen wir mal, ich hab auf meinem Form 4 Buttons. Mit jedem Button (ich benutze Images, aber ist ja selbe Prinzip) wird eine Präsentation gestartet. Wenn ich nun mehrere Buttons schnell hintereinander starte, werden alle Präsentationen gestartet -> sehr schlecht...
hab dann nach einem Buttonklick die anderen gesperrt, aber wenn ich dann auf dem Form rumdrücke, gelangt die Präsentation in den Hintergrund, brauch die aber dringend vorne...
mein Code
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TForm1.Image1Click(Sender: TObject); var i: Integer; begin TimeMessage('Bitte haben Sie einen Moment Geduld!',mtInformation,[mbOK], 3000, mrYes); for i := 1 to 4 do (FindComponent('image'+IntToStr(i)) as TImage).Enabled:=false; ShellExecute(application.Handle,'open', PChar ('C:\Heinz-Knut II\Präsentationen\' + TImage(Sender).Hint + '.pps'), Nil, Nil, SW_Normal); end; |
TimeMessage ist eine Messagebox, die sich automatisch wieder schließt...
Hoffe jetzt ist es verständlicher...
Gruß
mikro
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Do 16.04.09 14:43
Und wieso fängst du nun hier einen neuen Thread an, wo das Problem im anderen Forum schon fast gelöst ist?
forum.delphi-treff.d...owthread.php?t=26366
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
mikro1986 
      
Beiträge: 22
|
Verfasst: Do 16.04.09 14:55
weil das Problem in dem anderem Forum nicht gelöst ist und ich einfach hier auch nach Hilfe fragen wollte... Mehrere Leute, mehr Ideen, so verkehrt?
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Do 16.04.09 15:21
mikro1986 hat folgendes geschrieben : | Mehrere Leute, mehr Ideen, so verkehrt? |
Nö, aber es ist erwünscht, dass man solche >Crossposts< mit angibt. Dann kann man wenigstens vorher nachschauen, ob das Problem im anderen Forum bereits gelöst ist, bevor man anfängt nachzudenken.
In manchen Foren steht das auch in den Regeln, dass man solche Crossposts mit angeben muss. Aber da du die ja gelesen und akzeptiert hast... 
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
mikro1986 
      
Beiträge: 22
|
Verfasst: Do 16.04.09 15:28
feJa gut, da hast du Recht... Hab den Link nicht angegeben, tut mir Leid... hab ich nicht drüber nachgedacht, aber Recht haste ja...
können wir vll jetzt zu meinem Problem zurück kommen? 
|
|
Regan
      
Beiträge: 2157
Erhaltene Danke: 72
Java (Eclipse), Python (Sublimetext 3)
|
Verfasst: Do 16.04.09 17:55
mikro1986 hat folgendes geschrieben : | können wir vll jetzt zu meinem Problem zurück kommen?  |
Ich weiß nicht, ob ich das richtig verstanden habe, aber: Blende das Formular einfach aus und nach einer Zeit wieder ein!?
Wenn das nicht passt, dann habe ich das Problem schlicht nicht erkannt.
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Do 16.04.09 18:03
Wenn die Präsentation vorne sein soll, wieso blendest du dann das Hauptformular nicht aus? Dann kann man auch nicht mehr rumklicken.
|
|
mikro1986 
      
Beiträge: 22
|
Verfasst: Do 16.04.09 21:18
auf die einfachsten Sachen kommt man nicht
Form1.Hide, ist das richtig??
Muss ich moin mal direkt ausprobieren... wie kann ich denn dann das Form wieder zeigen, aber eben im HIntergrund?
Danke für die Tipps
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Fr 17.04.09 08:40
Hi
Ich weiß nicht, ob das wirklich eine so gute Idee ist. Permanentes ausblenden hätte den selben Effekt wie Deaktivieren der Knöpfe - zumal das Programm dann nur noch über den Taskmanager beendet werden könnte, sofern es sich um das einzige Fenster des Programms handelt.
Grundsätzlich sehe ich drei Lösungen: - Deaktiviere den Knopf für ein paar Sekunden.
- Zeige dem Nutzer, dass sich etwas tut(Label: Wird gestartet... erscheint und verschwindet nach ein paar Sekunden wieder. Oder etwas hübscher: kleine Animation, sich drehendes Zahnrad, etc.).
- Minimiere das Programmfenster oder schicke es in den Hintergrund. Damit wäre intuitiv ersichtlich, dass sich etwas tut und das wäre mt 1-2 Zeilen leicht umzusetzen(mein persönlicher Favourit).
E: Okay, die ersten beiden sind wohl schon in der Art umgesetzt
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Zuletzt bearbeitet von Hidden am Fr 17.04.09 10:00, insgesamt 2-mal bearbeitet
|
|
mikro1986 
      
Beiträge: 22
|
Verfasst: Fr 17.04.09 08:56
Wenn ich mein Form in den Hintergrund legen könnte, wäre es schon gut, aber hab leider keine Ahnung, wie das geht, kann mir das vll jemand sagen, oder erklären?
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Fr 17.04.09 09:57
Minimieren: Application.Minimize;
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
mikro1986 
      
Beiträge: 22
|
Verfasst: Fr 17.04.09 10:03
danke, das hab ich auch grad rausgefunden, aber wie geht das mit in den Hintergrund legen, das wäre meines erachtens nach sauberer und für mich auch zutreffender...
|
|
jaenicke
      
Beiträge: 19326
Erhaltene Danke: 1749
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 17.04.09 10:29
Meinst du SendToBack? 
|
|
mikro1986 
      
Beiträge: 22
|
Verfasst: Fr 17.04.09 13:00
ja, wäre was, abe rbringt nicht den gewünschten Erfolg...
Am optimalsten wäre es echt, wenn ich für 4 sekunden oder so grad die Maus deaktiviere...
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Fr 17.04.09 13:07
|
|
|