MessageBox
-
Hi
nachdem ich darauf hingewiesen war pro Thema 1 Thread, Pro Thread 1 Thema mach ich mal nen neuen auf

Es geht um folgendes:
mb = MessageBox (NULL, "das2 ist das Ergebnis Richtig?", "Ergebnis", MB_YESNO | MB_ICONINFORMATION | MB_APPLMODAL); if (mb == IDYES) { Label1->Caption = "GUT"; }Jetzt will ich aber das man erst die Messagebox klicken muss bevor man im Hauptfenster weitermachen kann so wie ich das seh muss da bei NULL ein hWnd angegeben werden und der Parameter MB_APPLMODAL angegeben werden. Wie ich MB_APPLMODAL angeb ist mir klar aber wie zur Hölle komm ich an das hWnd? TForm1 und Form1 geht jeden falls nicht *g* gegoogelt, Programm durchsucht und Hilfe gelesen hab ich jetzt seit etwa 1std und bin nun völlig fertig weil ich das nicht hinbekomm hoffe doch mir kann da wer von euch helfen?
mfg
Chris
-
Hallo
wie waere es mit
Application->MesssageBox ....
Mfg
Klaus
-
hi
dann bekomm ich nur 3 Fehler:
[BCC32 Fehler] Unit1.cpp(37): E2034 Konvertierung von 'const char *' nach 'int' nicht möglich
[BCC32 Fehler] Unit1.cpp(37): E2342 Keine Übereinstimmung des Typs beim Parameter 'Flags' ('int' erwartet, 'const char *' erhalten)
[BCC32 Fehler] Unit1.cpp(37): E2227 Zu viele Parameter im Aufruf von _fastcall TApplication::MessageBoxA(const char *,const char *,int)ohne Application-> geht es aber ich komm eben mit dem hwnd nicht klar.
Wo liegt nun der Unterschied zu deinem und meinem? Wieso geht meins und deins nicht? Werd mal gucken ob ich aus den Fehlern schlau werd wollte es nur gleich mal reinschreiben das es eben so nicht geht
mfg
chris
-
Hallo
Entweder benutzt du deine Methode, und übergibst ein passendes Handle. Aus einer Methode einer Form zum Beispiel
mb = MessageBox (Handle, ...oder du verwendest die von Klaus angesprochene Methode und must gar kein Handle angeben
Application->MessageBox("das2 ist das Ergebnis Richtig?"...Der Unterschied : Ersteres ist reines WinAPI. Zweiteres ist ein VCL-Wrapper um genau die WinAPI-Methode.
bis bald
akari
-
hi
ist ja genial einfach

vielen dank klappt perfekt genau wie ich es wollte dann bin ich ja mit der msgbox durch

mfg
chris
-
hi
arg sorry noch ein kleines Problem das2 ist eigentlich eine Variable wie kann ich denn das als Variabel ausgeben? In PHP wars ja einfach aber da will es so wie ichs kenn nicht ganz klappen
Werd mich jetzt mal registrieren um meine Beiträge bearbeiten zu können 
-
Du hast zwar nicht genau beschrieben was Dein Problem ist, aber ich denke das hilft Dir:
Application->MessageBox(das2.c_str()....Gruß myerscola
-
hi
ich will praktisch folgendes angezeigt bekommen wenn das2 = 12 (das2 ist ein int) ist.
12 und noch ein text
oder eben leicht gesagt
Application->MessageBox (das2.c_str() "und noch ein text", "Ergebnis",....leider geht es so auch nicht...
mfg
chris
-
Hallo
Du must schon ein bißchen mitdenken und dich mal Datentypen auseinandersetzen. Wenn du ein Integer hast must du den erstmal in einen AnsiString umwandeln, dann kannst du auch dievon myerscola genannte Methode einsetzen
int das2 = ...; AnsiString buffer = IntToStr(das2) + " und noch ein text"; Application->MessageBox (buffer.c_str(), "Ergebnis",..../Edit : Fehler korrigiert.
bis bald
akari
-
Stimmt, so geht das auch nicht, den String mußt Du Dir schon vorher zusammenbasteln:
int das2=12; AnsiString text1=IntToStr(das2); AnsiString text2=" und noch ein Text"; AnsiString text=text1 +text2; Application->MessageBox (text.c_str(), "Ergebnis",..../Edit : Akari schneller

-
Hallo
@ myerscola : Ne so auch nicht

Warum die fertigen Strings am das2 zuweisen?/Edit : Okay auch korrigiert. Nun ists aber genug
bis bald
akari
-
hi
eigentlich klar wenn man logich denkt... sry für die eigentlich dumme frage
Das mit den Datentypen ist mir halt relativ neu (hab noch nicht soviel in c++ gemacht aber schon sehr sehr viel in php und da brauchte man sich darum nie kümmern deswegen vergess ich es oft sry nochmal)mfg
Chris