Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Emporea1997
Anmeldungsdatum: 07.07.2011 Beiträge: 58
|
Verfasst am: 17.07.2011, 18:16 Titel: MessageBox im Vordergrund |
|
|
Hi!
Ich bin noch ein Freebasic anfänger und habe da eine frage. Gibt es eine möglichkeit, wenn ich ein Messagebox erstelle, sie immer im Vordergrund zu haben? und da wäre noch eine frage. Ich weiß nicht wie ich eine Button Abfrage mache!
Ich hoffe ihr könnt mir ein wenig helfen!
Danke
MFG Emporea1997 |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 17.07.2011, 19:00 Titel: |
|
|
Messagebox? Buttonabfrage? Wovon redest du? |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 17.07.2011, 19:09 Titel: |
|
|
Sofern du die MessagesBox aus der WinAPI meinst: Mit dem Flag "MB_SYSTEMMODAL" kann man eine System-Module Box erzeugen, die also immer vor allen anderen Programmen erscheint. Ist aber unschön und sollte man nur bei dringenden Systemproblemen tun (was die meisten FreeBASIC-Programmierer sowieso niemals provozieren werden können). Im selben Artikel stehen auch die Rückgabewerte der Funktion, um rauszufinden welcher Button gedrückt wurde. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 17.07.2011, 19:13 Titel: |
|
|
Einmal angenommen du verwendest Windows und die WinAPI ist die MSDN Library die erste Anlaufstelle für solche Fragen.
Um die MessageBox z.B. immer im Vordergrund zu haben (mithin den WS_EX_TOPMOST Fensterstil zu definieren) übergibst du beim Aufruf der MessageBox Funktion im Parameter uType das Flag MB_TOPMOST. Genaueres und andere mögliche Flags sind in der MSDN Library bestens dokumentiert: http://msdn.microsoft.com/en-us/library/ms645505%28VS.85%29.aspx
Bevor ich detaillierte Antworten geben kann, müsstest du aber noch sagen ob ich mit meiner Annahme Windows/WinAPI richtig liege bzw. welches GUI-Toolkit du stattdessen verwendest, wenn nicht. _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Zuletzt bearbeitet von St_W am 17.07.2011, 19:14, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 17.07.2011, 19:13 Titel: |
|
|
LutzIfer hat im Portal ein WinAPI eingestellt; vielleicht hilft das weiter. Ich würde WinAPI jetzt aber nicht unter speziell anfängergeeignet einordnen. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Emporea1997
Anmeldungsdatum: 07.07.2011 Beiträge: 58
|
Verfasst am: 17.07.2011, 19:45 Titel: andere frage |
|
|
mal ne andere frage.
ich hab mir mal sgui angeguckt. kann ich denn damit eigentlich zwei fenster aufeinmal erstellen? dann könnte ich ja damit die msgbox machen. das fände ich deutlich eifnacher als Winapi. |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 17.07.2011, 20:05 Titel: |
|
|
http://www.freebasic-portal.de/code-beispiele/windows-gui/messagebox-17.html
SGUI? Ganz ehrlich? Abseits von Spielen u.ä. ist das Benutzen von Nicht-Standard-GUI-Toolkits einfach nur kontraproduktiv und in jedem Fall benutzerunfreundlich.
Unter Windows empfiehlt es sich, die Windows-API, Qt (geht mit FB praktisch nicht), wxWidgets (analog zu Qt) oder GTK zu benutzen. GTK läuft halt auch auf Linux usw. ist aber (m.M.n.!) schlechter dokumentiert und mit einfachem C (bzw. Freebasic, ist ja eh das gleiche) schwieriger zu benutzen als die Win32 API.
Letzendlich: Windows <-> GTK |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 17.07.2011, 23:51 Titel: |
|
|
sGui hat schon seinen Sinn. Möchte man eine plattformunabhängige GUI haben, die unabhängig von Libs ist, wäre das meine erste Wahl. Klar gibt es Nachteile gegenüber den anderen, mächtigen, von vielen Leuten über viele Jahre entwickelten GUI-Libs, es kommt halt immer darauf an, wozu man es braucht.
FYI: Qt wurde mittels Wrapper und sogar schon ohne Wrapper mit FB zum Laufen gebracht, Nachweise gibt es hier im Forum (es scheitert wie so oft bei privaten Projekten an der Zeit) und wxWidgets wird auch in Form von wx-c erfolgreich genutzt und momentan weiter voran getrieben. Zudem ist FB schon länger mehr als _nur_ C. Es kommt vielleicht nicht ganz an die mächtigen, von vielen Leuten über viele Jahre entwickelten (Analogie GUI-Libs) Compiler ran, aber bei einem Vergleich mit C wäre FB sicher weit vorne.
Deine ständigen Hasstiraden auf FB nerven übrigens. Ich hab mich bisher rausgehalten, weil ich keinen Flame haben wollte, aber irgendwann reicht es auch mal... |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 18.07.2011, 00:09 Titel: |
|
|
MOD hat Folgendes geschrieben: | sGui hat schon seinen Sinn. Möchte man eine plattformunabhängige GUI haben, die unabhängig von Libs ist, wäre das meine erste Wahl. Klar gibt es Nachteile gegenüber den anderen, mächtigen, von vielen Leuten über viele Jahre entwickelten GUI-Libs, es kommt halt immer darauf an, wozu man es braucht.
FYI: Qt wurde mittels Wrapper und sogar schon ohne Wrapper mit FB zum Laufen gebracht, Nachweise gibt es hier im Forum (es scheitert wie so oft bei privaten Projekten an der Zeit) und wxWidgets wird auch in Form von wx-c erfolgreich genutzt und momentan weiter voran getrieben. Zudem ist FB schon länger mehr als _nur_ C. Es kommt vielleicht nicht ganz an die mächtigen, von vielen Leuten über viele Jahre entwickelten (Analogie GUI-Libs) Compiler ran, aber bei einem Vergleich mit C wäre FB sicher weit vorne.
Deine ständigen Hasstiraden auf FB nerven übrigens. Ich hab mich bisher rausgehalten, weil ich keinen Flame haben wollte, aber irgendwann reicht es auch mal... |
Zu 1: Alles was keine vollständige Integration bietet, ist für den Benutzer untragbar. Externe Libs spielen heutzutage keine Rolle mehr. Früher war das vielleicht mal wichtig, als es noch nicht praktisch überall DSL oder anderes Internet > 56k gab.
Zu 2: Qt und WX sind richtige C++ Bibliotheken, die von der programmiererseitigen Usability in C zurückstehen.
Zu 3: FB bietet genausoviel Objektorientierung wie C, nur das es die VTables ein bisschen angenehmer wrappt und dem Programmierer dadurch viel Arbeit abnehmen. Vergleiche COM in C und C++...
Mit geht praktisch nicht meine ich übrigens das sehr unkomfortable wrappen von C++ in C. Siehe COM
Hasstiraden? Achja? Wenn ich sage, dass Qt und WX nicht für FB gedacht ist, ist das eine Hasstirade? Wenn ich sage, dass FB kein richtiges OOP bietet, ist das eine Hasstirade? Kann es sein, dass du in gewissen Bereichen schlichtweg deinen Realitätssinn verloren hast? Freebasic ist kein C++. Wenn du meinst, dass ich FB nicht mag, warum entwickle ich viele (Teil)-Aspekte meiner Programme mit Freebasic?
Ganz ehrlich? Deine Subjektivität in Sachfragen ist mir unangenehm. Man muss sehen können, was mit welchen Mitteln sinnvoll und effektiv umsetzbar ist. Und was nicht.
Ich finde übrigens in den letzten ~4 Monaten keinen Beitrag von mir, in dem ich jemanden zu C++ rate.
B2T. Weitere Diskussionen zum Thema C++ werden ignoriert.
Zuletzt bearbeitet von 28398 am 18.07.2011, 01:11, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Muttonhead

Anmeldungsdatum: 26.08.2008 Beiträge: 565 Wohnort: Jüterbog
|
Verfasst am: 18.07.2011, 00:52 Titel: |
|
|
*oops DP, kann das jemand mergen? sorry*
Leuts, Coool down!!
Setz grad meinen Rechner mit Vista (was aktuelleres hab ich nicht, Recovery von vor 2 Jahren) mal wieder neu auf (übrigens dank mehrerer versuchten Ubuntu Istalls, aber egal).... es gibt wichtigere Sachen als sGUI... bin verdammt im Stress hier... *Löööl*
ps:
Natürlich hat sGUI nichts mit diversen "Standard-GUI-Toolkits" zu tun, von denen es ja auch mehrere gibt... von Standard kann also auch dort keine Regel sein...
Es gibt viele Möglichkeiten einer Benutzeroberfläche, wer will schon behaupten, diese oder jene sei die richtige? |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 18.07.2011, 00:59 Titel: |
|
|
Die GTK-Libs runterzuladen dauert bei mir immer noch einen Moment, trotz DSL. Es sind einfach auch viele Libs, da ist mir eine selbstgebaute GUI manchmal lieber.
Dass die Verwendung von C++-Libs ohne C++ etwas unangenehmer ist als direkt, das ist mal klar, trotzdem ist es möglich sie zu verwenden.
FB bietet mehr OOP-Funktionalität als C und das sogar ohne die neulich dazugekommene Vererbung einzurechnen und wer sagt eigentlich, dass ein Vergleich nur auf OOP-Ebene möglich ist. FB ist leicher zu lernen, einfacher zu lesen und besitzt integrierte Grafikfunktionen ohne sich mit Includes rumärgern zu müssen - nur so als Beispiele. Das sind eindeutige Vorteile gegenüber C.
Sowas wie "kann FB nicht", "nimm gleich C++" usw. liest man doch einige Male von dir, wenn auch vielleicht nicht so direkt. Wenn du FB selbst nutzt und es gar nicht so meinst, dann solltest du mal auf deine Ausdrucksweise achten. Sowas kann abschreckend wirken, z.B. auf Neulinge, die sowas dann lesen und sich denken "lieber doch kein FB, kann ja dies und jenes nicht" und dann an C++ verzweifeln. (Du bist da nicht der einzige, da würden mir noch mehr Namen einfallen.) Wenn man FB nicht mag oder keine hilfreiche Aussage zu einem Thema geben kann (bzw. diese nicht so formulieren kann), dann sollte man sich wohl eine Antwort sparen bzw. überlegen, ob es das richtige Forum ist. Der Link zu deinem Code-Beispiel mit kleinem Hinweis, dass es bei Win-Only so vermutlich schneller geht, hätte wohl gereicht. Wenn er es unter Linux laufen lassen will, dann hätte er sich sicher wieder gemeldet und dann wär sGui doch besser.
"Sinnvoll und effektiv umsetzbar" liegt übrigens im Auge des Betrachters. Wenn ich nur ne kleine GUI ohne viel Schnickschnack brauche, dann ist sGui sinnvoller und effektiver als GTK in all seiner Komplexität zu lernen und einem 20kB-Programm 20MB Libs mitzugeben. (Bei Win-Only und MsgBox-Only kann wie bereits erwähnt aber auch WinAPI einfacher sein.) |
|
Nach oben |
|
 |
MilkFreeze

Anmeldungsdatum: 22.04.2011 Beiträge: 116
|
Verfasst am: 18.07.2011, 01:13 Titel: |
|
|
Wenn es Linux-Only ist: Glade und GTK ist auch unter FreeBASIC nicht so schwierig. Und ich denke 90% der Desktop-Installationen von Linux haben GTK on board. Auch KDE-User benutzen oft GTK  _________________ Milch ftw  |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 18.07.2011, 11:31 Titel: |
|
|
MilkFreeze hat Folgendes geschrieben: | Wenn es Linux-Only ist: Glade und GTK ist auch unter FreeBASIC nicht so schwierig. Und ich denke 90% der Desktop-Installationen von Linux haben GTK on board. Auch KDE-User benutzen oft GTK  | Warum ist GTK nun plötzlich Linux only? _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 18.07.2011, 16:23 Titel: |
|
|
Jojo hat Folgendes geschrieben: | MilkFreeze hat Folgendes geschrieben: | Wenn es Linux-Only ist: Glade und GTK ist auch unter FreeBASIC nicht so schwierig. Und ich denke 90% der Desktop-Installationen von Linux haben GTK on board. Auch KDE-User benutzen oft GTK  | Warum ist GTK nun plötzlich Linux only? | GTK gibts ja auch für Windows, die Einrichtung ist aber etwas komplizierter als sudo aptitude install gtk-devel. Wobei das immer relativ ist, wenn man das einmal richtig gelernt hat, geht sowas auch unter Windows fix. Ich denke mal, dass MF das meinte. |
|
Nach oben |
|
 |
MilkFreeze

Anmeldungsdatum: 22.04.2011 Beiträge: 116
|
Verfasst am: 18.07.2011, 18:22 Titel: |
|
|
Jojo hat Folgendes geschrieben: | MilkFreeze hat Folgendes geschrieben: | Wenn es Linux-Only ist: Glade und GTK ist auch unter FreeBASIC nicht so schwierig. Und ich denke 90% der Desktop-Installationen von Linux haben GTK on board. Auch KDE-User benutzen oft GTK  | Warum ist GTK nun plötzlich Linux only? |
Klar gehts auch mit Windows. Aber dann muss man gtk eben mitliefern. _________________ Milch ftw  |
|
Nach oben |
|
 |
Emporea1997
Anmeldungsdatum: 07.07.2011 Beiträge: 58
|
Verfasst am: 18.07.2011, 21:51 Titel: |
|
|
das mit dem im vordergrund meinte ich eigentlich so wie bei batch "Text",4098,"Titel" |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 18.07.2011, 23:12 Titel: |
|
|
Emporea1997 hat Folgendes geschrieben: | batch "Text",4098,"Titel" | wat? |
|
Nach oben |
|
 |
isiprimax
Anmeldungsdatum: 02.01.2009 Beiträge: 77
|
Verfasst am: 19.07.2011, 13:34 Titel: |
|
|
Kanns sein das es ein Befehl von ActionScript ist? |
|
Nach oben |
|
 |
Emporea1997
Anmeldungsdatum: 07.07.2011 Beiträge: 58
|
Verfasst am: 21.07.2011, 04:05 Titel: |
|
|
naja also ich weiß nur dass wenn man mit batch eine messagebox erstellt und den befehl 4098 eingibt, man angibt dass die messagebox im vordergrund stehen soll.
und das einzige was ich in diesem thread will ist wissen wie das in freebasic geht  |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 21.07.2011, 11:18 Titel: |
|
|
Code: | #include "windows.bi"
Dim As Integer iResult
iResult = MessageBox(0, "Text", "Titel", 4098) |
|
|
Nach oben |
|
 |
|