Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Messagebox im nur im Vordergrund anzeigen?

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 30.07.2012, 22:33    Titel: Messagebox im nur im Vordergrund anzeigen? Antworten mit Zitat

Gibt es eine Möglichkeit, dass eine Messagebox immer nur im Vordergrund angezeigt wird? Über allen anderen Programmen steht? Brauche dies für mein Schachturnierorganisationsprogramm.

Ich hoffe es kann mir einer weiterhelfen.

Gruß
ALWIM
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dominik



Anmeldungsdatum: 22.12.2004
Beiträge: 172

BeitragVerfasst am: 30.07.2012, 23:13    Titel: Antworten mit Zitat

Hallo,

diese Möglichkeit gibt es, Stichwort "modality":

http://msdn.microsoft.com/en-us/library/windows/desktop/ms645505%28v=vs.85%29.aspx

LG
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 30.07.2012, 23:13    Titel: Antworten mit Zitat

Eine MessageBox sollte man nie vor alle anderen Programme stellen, aber es geht mit dem Flag MB_SYSTEMMODAL (sollte in den vierten Parameter gehen wenn ich mich recht erinnere). Wenn sie nur vor alle Fenster des eigenen Programms gestellt werden soll, geht das mit MB_APPMODAL.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 31.07.2012, 19:48    Titel: Antworten mit Zitat

Vielen herzlichen Dank für die Info!

Bei dem Programm wo ich es jetzt einbaue, muss es über allen Fenstern liegen.
Sicherheitsabfrage!!!
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 01.08.2012, 02:39    Titel: Antworten mit Zitat

Deine "Sicherheitsabfrage" ist aber nicht wichtiger als alles andere, was der Benutzer grade so mit anderen Programmen tut, so eine System-modale MessageBox verstößt wohl gegen so ziemlich alle Usability-Prinzipien. Es genügt, wenn die MessageBox Applikations-Modul ist, also vor all deinen eigenen Fenstern liegt.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Cherry



Anmeldungsdatum: 20.06.2007
Beiträge: 249

BeitragVerfasst am: 08.08.2012, 22:20    Titel: Antworten mit Zitat

Ich würde die Messagebox aber nicht topmost machen (also nicht MB_SYSTEMMODAL oder MB_TOPMOST verwenden), so eine Box nervt normalerweise nur. Du kannst aber das Flag MB_SETFOREGROUND verwenden, um die Messagebox automatisch in den Vordergrund zu holen, das kann zwar auch nerven, aber weniger.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 08.08.2012, 23:59    Titel: Antworten mit Zitat

ALWIM hat Folgendes geschrieben:
Bei dem Programm wo ich es jetzt einbaue, muss es über allen Fenstern liegen.
Sicherheitsabfrage!!!
Sicher nicht.

Einmal bitte standesrechtliche Erschießung für denjenigen, der hier MB_SYSTEMMODAL ausgeplaudert hat durchgeknallt
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 09.08.2012, 00:34    Titel: Antworten mit Zitat

28398 hat Folgendes geschrieben:
ALWIM hat Folgendes geschrieben:
Bei dem Programm wo ich es jetzt einbaue, muss es über allen Fenstern liegen.
Sicherheitsabfrage!!!
Sicher nicht.

Einmal bitte standesrechtliche Erschießung für denjenigen, der hier MB_SYSTEMMODAL ausgeplaudert hat durchgeknallt


Hinterher ärgerst dich, weil Dateien durch einen Rechnerabsturz verloren gingen und das nur, weil das Fenster nicht im Vordergrund war!

Es hat schon seinen Grund warum das Fenster im Vordergrund sein muss!
Ich bin erst bis zur Hälfte fertig. Wenn ich mal mit meinem Projekt fertig bin, wirste es einsehen warum das ganze im Vordergrund sein muss.

Gruß
ALWIM
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 09.08.2012, 00:47    Titel: Antworten mit Zitat

ALWIM hat Folgendes geschrieben:
Es hat schon seinen Grund warum das Fenster im Vordergrund sein muss!

Hat es nicht. Hast du jemals ein Programm gesehen, das den Benutzer, der grade mit einem anderen Programm arbeiten möchte, mit seinen Fragen nervt? Nein.

Zitat:
Einmal bitte standesrechtliche Erschießung für denjenigen, der hier MB_SYSTEMMODAL ausgeplaudert hat

Du willst den MSDN-Schreiber erschießen? durchgeknallt
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 09.08.2012, 02:17    Titel: Antworten mit Zitat

ALWIM hat Folgendes geschrieben:
28398 hat Folgendes geschrieben:
ALWIM hat Folgendes geschrieben:
Bei dem Programm wo ich es jetzt einbaue, muss es über allen Fenstern liegen.
Sicherheitsabfrage!!!
Sicher nicht.

Einmal bitte standesrechtliche Erschießung für denjenigen, der hier MB_SYSTEMMODAL ausgeplaudert hat durchgeknallt


Hinterher ärgerst dich, weil Dateien durch einen Rechnerabsturz verloren gingen und das nur, weil das Fenster nicht im Vordergrund war!

Es hat schon seinen Grund warum das Fenster im Vordergrund sein muss!
Ich bin erst bis zur Hälfte fertig. Wenn ich mal mit meinem Projekt fertig bin, wirste es einsehen warum das ganze im Vordergrund sein muss.

Gruß
ALWIM

Kurz gesagt: Nein.

Jojo hat Folgendes geschrieben:
Zitat:
Einmal bitte standesrechtliche Erschießung für denjenigen, der hier MB_SYSTEMMODAL ausgeplaudert hat

Du willst den MSDN-Schreiber erschießen? durchgeknallt
Besser wär das... es war seitens MS imho ein Fehler dieses Flag für unpriviligierte Prozesse zuzulassen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Cherry



Anmeldungsdatum: 20.06.2007
Beiträge: 249

BeitragVerfasst am: 09.08.2012, 16:49    Titel: Antworten mit Zitat

Naja das Flag an sich ist nicht so böse, im Prinzip setzt es ja nur WS_EX_TOPMOST. Du kannst jedes beliebige Fenster WS_EX_TOPMOST machen und das ist auch gut so, sonst wären viele Sachen nicht möglich (wie z.B. die alles überdeckende Taskleiste).
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 09.08.2012, 17:59    Titel: Antworten mit Zitat

ALWIM hat Folgendes geschrieben:
28398 hat Folgendes geschrieben:
ALWIM hat Folgendes geschrieben:
Bei dem Programm wo ich es jetzt einbaue, muss es über allen Fenstern liegen.
Sicherheitsabfrage!!!
Sicher nicht.

Einmal bitte standesrechtliche Erschießung für denjenigen, der hier MB_SYSTEMMODAL ausgeplaudert hat durchgeknallt


Hinterher ärgerst dich, weil Dateien durch einen Rechnerabsturz verloren gingen und das nur, weil das Fenster nicht im Vordergrund war!

Es hat schon seinen Grund warum das Fenster im Vordergrund sein muss!
Ich bin erst bis zur Hälfte fertig. Wenn ich mal mit meinem Projekt fertig bin, wirste es einsehen warum das ganze im Vordergrund sein muss.

Gruß
ALWIM


nein. außer dein Programm tut ungefragt und automatisch Dinge, über die es den Nutzer mit irgendeiner Art von Zeitdruck informiert ("a la "System wird in 2 min Heruntergefahren, wenn du nichts dagegen tust"). Das ist böse, lass es. pfui. aus.

[sarcasm]
Btw, mein übliches Vorgehen bei systemmodalen Messageboxen ist das Folgende: Ich informiere mich, wer betreffendes Programm entwickelt hat und wer für die Messagebox verantwortlich ist. Ich sammle finde heraus wo er wohnt und wann er allein ist. Ich besuche ihn und zerschneide ihn schön langsam in kleine Scheibchen. Mit einer Glasscherbe.
[/sarcasm]


(Disclaimer: Achtung, Ironie)

_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 09.08.2012, 23:25    Titel: Antworten mit Zitat

Zitat:
nein. außer dein Programm tut ungefragt und automatisch Dinge, über die es den Nutzer mit irgendeiner Art von Zeitdruck informiert ("a la "System wird in 2 min Heruntergefahren, wenn du nichts dagegen tust"). Das ist böse, lass es. pfui. aus.

Die Messagebox ist nur eine Sicherheitsinformation! Die muss über alles andere sein! Ihr werdet es irgendwann einmal verstehen warum!

Zitat:
Rechner runterfahren? Böse?

Nein, nicht mit Absicht! Es sollen dadurch ja keine Dateien oder Sonstiges gelöscht werden! zwinkern

Zitat:
Btw, mein übliches Vorgehen bei systemmodalen Messageboxen ist das Folgende: Ich informiere mich, wer betreffendes Programm entwickelt hat und wer für die Messagebox verantwortlich ist. Ich sammle finde heraus wo er wohnt und wann er allein ist. Ich besuche ihn und zerschneide ihn schön langsam in kleine Scheibchen. Mit einer Glasscherbe.


Zerschneiden zwecklos, ich bin ein Geist!
Verfolgung zwecklos, Jan Ullrich!
Prügeln zwecklos, Henry Maske!
lachen lachen lachen

Gruß
ALWIM
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 10.08.2012, 11:19    Titel: Antworten mit Zitat

ALWIM hat Folgendes geschrieben:
Die Messagebox ist nur eine Sicherheitsinformation! Die muss über alles andere sein! Ihr werdet es irgendwann einmal verstehen warum!

Nein, aber vielleicht wirst du irgendwann mal endlich die sünden im UI-Design lernen und feststellen, dass dein Wunsch absoluter Schwachsinn ist.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 10.08.2012, 16:44    Titel: Antworten mit Zitat

ALWIM hat Folgendes geschrieben:
Die Messagebox ist nur eine Sicherheitsinformation! Die muss über alles andere sein! Ihr werdet es irgendwann einmal verstehen warum!

Nein, das werde ich nicht verstehen.

Ich hab da mal was zum Lesen für dich: http://www.microsoft.com/en-us/download/details.aspx?id=2695

/e: Mal ganz ab vom Thema: Wenn das Programm nur auf >= Vista eingesetzt wird, ist es oft sinnvoll keine MessageBox sondern einen TaskDialog einzusetzen. (WINVER muss mindestens 0x0600 sein)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz