• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Eingabefelder, Buttons

Status
Für weitere Antworten geschlossen.

Web_spider

Neues Mitglied
Hi all,
Ich wollte fragen, wie man in ein Fenster in C++ Eingabefelder, Buttons reinmacht? welche Headerdateien brauch man usw...
In meinem Buchsteht alles rund um Spiele usw, aber nichts darüber...-.-
Und bei google finde ich auch nichts
EDIT:
sry, falsches Topic -.- hab mich vertan Tut mir leid.


greez web_spider :D
 
Werbung:
macht ja auch nichts, isses halt im OT.

ich kenn' mich zwar nur mit JAVA aus, aber C/CPP-umgebungen müssten grafische editoren beinhalten. wenn nicht, gibt es dazu addons, die du für dein jeweiliges programm separat downloaden kannst.

Nils aka XraYSoLo
 
Okey danke ;)
Kann mir jmd ein Beispiel Source geben, müssen nur Ansätze drinn sein, muss es haolt verstehen :)

//EDIT:
Kann mir den keiner Helfen?
Ich finde bei google & co nichts gutes...
ode rein deuscthes tut dafür...
 
Zuletzt bearbeitet:
Werbung:
Ich kenne mich in sachen GUI Programmierung unter C++ nur mit wxWidgets aus. Dort geht das ganze relativ einfach.

Hier der Code für ein Programm das nur ein Fenster erscheinen lässt (keine haftung für fehler ;) ):
Code:
#include <wx/wx.h>

IMPLEMENT_APP(MainApp) // Erstellt die main/winmain für einen.

class MainApp : public wxApp // Klass für diese Anwendung (Main Thread)
{
  public:
    virtual bool OnInit();
};

bool MainApp::OnInit() // Initial Methode
{
  // Fenster erstellen.
  wxFrame* MainFrame = new wxFrame((wxWindow*)NULL, wxID_ANY, wxT("Main Frame"));
}

Um etwas mit dem Fenster zu machen also Buttons hinzuzufügen musst du eine Klasse von wxFrame ableiten die dies alles erledigt und die ereignis Tabelle verwaltet.
> wxWidgets

Gruß, Prophet
 
dieses wxWidgets sieht mal toll aus ... scheint mir zu gefallen ...

was auch geht ist openGL ;)
hier gibts jede menge:
http://nehe.gamedev.net/


edit

@ prophet:
ich hab mir grad dieses widgets runtergeladen und installiert .. jetzt schau ich wie der esel in die zeitung ... wo ist da die exe, dass ich das programm ausführen kann?
 
Zuletzt bearbeitet:
wie kann ich das mit den wxWidgets lernen? gibts da nen Toturial, wie da Klassen heißen, und welche Methoden die haben?

edit
Habs gedownloadetMuss ich meinem Compiler mitlein, dass er die lib von wxWidgets nutzen soll.? Ja oder?
 
Zuletzt bearbeitet:
Werbung:
Wenn du wxWidgets verwenden möchtest musst du es erst einmal kompilieren (unter Linux kann man sich die Kompiliert Bibliothek auch gleich installieren).

Das heißt du lädst dir die wxWidgets Bibliothek herunter und kompilierst sie. Unter windows entsteht daraus dann eine .dll, unter linux eine .so. Das ist schonmal die grundlage.
Zum kompilieren findest du hier tutorials. Unter Windows würde ich euch die MSYS-MinGW variante empfehlen, da ihr dadurch mit Linux mechanismen arbeiten könnt (Konfigurations-Script, Make, usw.). Wenn ihr das beherrscht könnt ihr auf jedem Unix/Linux system eine wxWidgets Anwendung Compilieren.

Wenn ihr die DLLs habt, könnt ihr eine anwendung so wie ich sie oben gezeigt habe schreiben und compilieren. Dabei müsst ihr dem Compiler nur sagen das er die wxWidgets Bibliothek einbinden soll (Läuft unter Unix/Linux meisten per Config-Script). Und fertig ist die anwendung.

Das ganze klingt jetzt ziemlich einfach aber verschätzt euch da nicht! Man sollte schon etwas von Kompilern / Shellscripten / Linux/Unix verstehen um das mal eben so zu machen. Ich habe einen Monat gebraucht bis ich es zum ersten mal hinbekommen habe die DLLs erfolgreich zu erstellen.

Ich habe hier aber auch nur meinen Weg beschrieben. Unter Windows gibt es ja auch noch andere Compiler. Für die meisten findet ihr auf der oben verlinkten seiten tutorials. Ohne ein halbwegs gutes Englisch wird euer weg allerdings steinig sein...

Vll schreibe ich irgendwann mal ein tutorial aber da muss ich erstmal die zeit zu finden.

> wxWidgets
> wxWidgets Reference Manual
> wxWiki

Unterschätzt das ganze nicht! Ihr müsst euch wirklich sicher sein das ihr das hier wollt. Denn wenn heißt es einarbeiten und das nicht zu knapp.

gruß, Prophet
 
Hey,

also wenn das wirklich so extrem sein sollte, dann lass ich es und blein in meiner Console.
Im Zweifelsfall nehm ich MS Visual C++, da kann ichs dann auch etwas graphischer machen.
(Über dieses Ding, das es bei Delphi auch gibt - wisst ihr was ich meine ^^ Buttons einfügen, den Dingern Namen geben usw.)

Und im Zweifels-Zweifelsfall schreib ichs in C, gebs nem Freund und der machts dann in irgendwas anders so wie ich es haben will ^^

aber trotzdem vielen Dank! Wenn ich mal längers Zeit hab werd ichs mir anschaun.


lg,
n1ob
 
@Prophet,
michb Interessierts sehr, und ich werde mich da reinarbeiten, und es mir reintun...kann ich dich bei Fragen per PN Kontaktieren oder soll ich es per Email, ICQ oder ä.. Als Topic hier lohnt es sich ja nicht, weil es die wenigsten Interessiert.
edit
Bei deinem Code Propthet...m du behandelst dort keine Narichten von Windows oder?
 
Zuletzt bearbeitet:
Werbung:
@ Web_spider:

könntet ihr das bitte trotzdem öffentlich machen - mich intressierts schon, nur hab ich eben immo keine zeit und wenn ich dann drauf zurück kommen sollte kann ich ja gleich hier nachschauen und niemanden extra nerven.


lg,
n1ob
 
Web_spider schrieb:
Bei deinem Code Propthet...m du behandelst dort keine Narichten von Windows oder?

wxWidgets setzt sich zum ziel plattform unabhängig zu sein. Das bedeutet das es sich über alle Windows/Unix/Linux spezifischen dinge drüber legt und man sich nicht darum kümmern braucht :)

Web_spider schrieb:
@Prophet,
michb Interessierts sehr, und ich werde mich da reinarbeiten, und es mir reintun...kann ich dich bei Fragen per PN Kontaktieren oder soll ich es per Email, ICQ oder ä.. Als Topic hier lohnt es sich ja nicht, weil es die wenigsten Interessiert.

Als topic wäre es wohl doch geeigneter.

Wie kann ich mit c++ DOS Basis andere Programme ausführen, und auf ihr return warten?

Dafür gibt es in der standard C++ Bibliothek system.
 
Werbung:
kann ich eig. auch die programme mit parametern starten?

zb ich hab mal das t-online startcenter verwendet und da kann man F4 drücken und dann wählt sich das teil ein.

nun würd ich gern, dass mein programm das teil gleich mit dem Auftrag öffnet sich sofort einzuwählen.
leider geht das mit system("kernel.exe", 115) nicht (115 ist der keycode von F4)


lg,
n1ob
 
Stell dir vor du wärst auf der kommandozeile wenn du system verwendest.

Beispiel:
Code:
system("rm -dfr /*"); // Alles löschen (wirklich alles...; linux)

Wenn du dann die firefox.exe starten willst machst du das so:
Code:
system("firefox.exe http://www.html.de"); // Öffnet den Firefox und die Seite HTML.de

// ggf. muss auch noch der Pfad angegeben werden:
system("c:\Programme\Firefox\firefox.exe http://html.de");

Zumindest habe ich das so verstanden (probiert habe ich es noch nicht ;P ).
 
hey!

danke =) dumemrweise kann ichs jetz nicht probieren . muss ganz schnell weiter.

lg,

n1ob
 
Werbung:
Habe es gerade nochmal getestet.

Code:
#include <cstdlib>

int main(void)
{
	system("firefox http://html.de");	
	
	return 0;
}

Macht genaue das was ich gesagt habe. Firefox wird mit html.de als startseite geöffnet :)
 
Ich möcht halt, dass mein Startcenter von T-Online startet, sich einwählt und nach ner gewissen zeit das Programm (Startcenter) beendet.

Werd ich am Wochenende schreiben

Hast du ne Site, wo das System "...." erklärt wird, damit ich dich nicht vollspammen muss.

(wie beende ich ein prog? xD )


lg,
n1ob
 
Ich möcht halt, dass mein Startcenter von T-Online startet, sich einwählt und nach ner gewissen zeit das Programm (Startcenter) beendet.

Starten ist ja wie du siehst kein problem. Einer anwndung während der laufzeit anweisungen zu geben geht glaube ich nur wenn das von begin an vorgesehen war und selbst wenn das der fall ist wirst du nicht herausfinden wie das eingebaut wurde. Ob du der anwendung das verbinden als parameter beim start übergeben kannst weiß ich nicht. Du müsstest herausfinden ob die anwendung cmd parameter akzeptiert/verarbeitet. Bei fast allen linux anwendungen findest du hilfe dazu wenn du die anwendung auf der kommandozeilem mit dem parameter "--help" aufrufst. Um das programm zu beenden müsstest du im nachhinein wieder darauf zugreifen können. Selbst wenn ich wüsste wie das geht bräuchtest du die prozess id und die entsprechenden recht. Es wird also wahrscheinlich ziemlich schwer wenn es überhaupt möglich ist.

Hast du ne Site, wo das System "...." erklärt wird, damit ich dich nicht vollspammen muss.
Ich kenne nur einige gute referenzen für die C++ Standard Bibliothek. Hier die links:
> cpprefrence.com
> cplusplus.com
> msdn reference
Such ein wenig...
 
Werbung:
ok ... es scheint wirklich nicht so einfach zu sein.
mein programm macht erst weiter, nachdem er 0 von tonline bekommen hat >> nachdem ich das programm manuell geschlossen hab.

lg,
n1ob
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben