Adawn Δημοσ. 25 Αυγούστου 2011 Μέλος Δημοσ. 25 Αυγούστου 2011 Με έχεις κατα-μπερδέψει, τελικά τις θέλεις ή όχι τις αυτοματοποιήσεις; Αν δεν τις θέλεις (επειδή ενδεχομένως θέλεις να μάθεις πως λειτουργεί natively το Win32 API) και ξέρεις μέτρια (προς καλή) C, τότε το link που σου έδωσα είναι από τα πιο απλά και καλογραμμένα που μπορείς να βρεις online για απλό GUI programming σε Win32. Κατέβασε την Pelles-C και ξεκίνα να διαβάζεις το tutorial από την αρχή του. Δεν είναι και τόσο δύσκολο όσο ενδεχομένως δείχνει με την πρώτη ματιά. Κουραστικό είναι, δύσκολο όχι. Αν δεν ξέρεις C όμως, τότε το συγκεκριμένο (και οποιοδήποτε άλλο συναφές) θα σε δυσκολέψει. Ο λόγος που σου λέω να βάλεις Pelles-C αντί για VStudio είναι πως το VStudio παίρνει κάτι πρωτοβουλίες από μόνο του και θα σου σπάσει τα νεύρα. Η Pelles-C είναι πολύ πιο straight forward κι έχει και δικό της resource editor. Τα παραπάνω για να μάθεις τα ενδότερα. Όταν τα μάθεις και ξέρεις τι παίζει σου συνιστώ παραθυρικά UI να φτιάχνεις με άλλες γλώσσες (C#, python, κλπ)... θα είσαι πολύ πιο παραγωγικός. ΥΓ. Όχι και guru, thanks πάντως (C++ δεν θα το έλεγα, ποτέ μου δεν την... χώνεψα, ότι έκανα το έκανα αγγαρεία στη C++, σε αντίθεση με τη C που την λάτρεψα και τη λατρεύω). κοιτά, υπάρχουν πολλες βερσιον της C++ , εγώ θέλω να μάθω Win 32 , όχι όλα αυτά τα "MFC" "CLR" και ότι άλλο υπάρχει.. σαν το λινκ που μου έδωσες αυτό είναι σε CLR, μοιάζει πιο πολυ με C# ... >#pragma once namespace xxxx { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; /// <summary> /// Summary for xxx /// </summary> public ref class xxx : public System::Windows::Forms::Form { public: xxx(void) { InitializeComponent(); // //TODO: Add the constructor code here // } protected: /// <summary> /// Clean up any resources being used. /// </summary> ~xxx() { if (components) { delete components; } } private: System::Windows::Forms::Button^ button1; protected: private: /// <summary> /// Required designer variable. /// </summary> System::ComponentModel::Container ^components; #pragma region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> void InitializeComponent(void) { this->button1 = (gcnew System::Windows::Forms::Button()); this->SuspendLayout(); // // button1 // this->button1->Location = System::Drawing::Point(210, 171); this->button1->Name = L"button1"; this->button1->Size = System::Drawing::Size(75, 23); this->button1->TabIndex = 0; this->button1->Text = L"button1"; this->button1->UseVisualStyleBackColor = true; // // xxx // this->AutoScaleDimensions = System::Drawing::SizeF(6, 13); this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; this->ClientSize = System::Drawing::Size(569, 451); this->Controls->Add(this->button1); this->Name = L"xxx"; this->Text = L"xxx"; this->Load += gcnew System::EventHandler(this, &xxx::xxx_Load); this->ResumeLayout(false); } #pragma endregion private: System::Void xxx_Load(System::Object^ sender, System::EventArgs^ e) { } }; }
_tasos Δημοσ. 25 Αυγούστου 2011 Δημοσ. 25 Αυγούστου 2011 όπως είπα... καλό το VStudio... άλλα 10.000 ευρώ... αμα πχ κάποιος πάει δουλέψει κάπου με ένα φρεε εργαλείο... και δεν παρέχει όλα αυτά... Υπάρχει και η δωρεάν έκδοση... http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express
παπι Δημοσ. 26 Αυγούστου 2011 Δημοσ. 26 Αυγούστου 2011 κοιτά, υπάρχουν πολλες βερσιον της C++ , εγώ θέλω να μάθω Win 32 , όχι όλα αυτά τα "MFC" "CLR" και ότι άλλο υπάρχει.. σαν το λινκ που μου έδωσες Το win gui api ειναι αρκετα ευκολο στην κατανοηση (στην εκμαθηση... δεν θα το'λεγα). Πρωτα πρωτα τα windows εχουν μονο ενα gdi για GUI (απο vista και μετα εχει δυο (wpf)). Τα αλλα 3 (MFC,ATL, MFC/ATL (αυτα εχουν τα windows)) ειναι wrappers του πρωτου, με το ATL(το οποιο ειναι και recommended) να δινει εμφαση στη COM τεχνολογια. Λοιπον, το GUI ειναι μπλεγμενο με το windows (δεν εννοω το OS αλλα το subsystem, οπος λεμε driver, service, console ειναι και το windows) δηλαδη πρεπει να μαθεις την φιλοσοφια του windows subsystem. Ο πυρηνας (γνωμη μου) ειναι το messaging, αν κατσεις και διαβασεις αυτο θα εχει μια γευση,αν διαβασεις αυτο θα εισαι σε θεση να φτιαξεις ενα παραθυρο, αν παλι βαριεσαι μπορεις να τσεκαρεις ενα αρθρο που εχω γραψει (ειναι υπερβολικα μικρο, και παιζει να εχει καποια λαθη). Φυσικα ολα αυτα προϋποθετουν οτι ξερεις C ή C++ (structured/procedual paradigms).
migf1 Δημοσ. 26 Αυγούστου 2011 Δημοσ. 26 Αυγούστου 2011 κοιτά, υπάρχουν πολλες βερσιον της C++ , εγώ θέλω να μάθω Win 32 , όχι όλα αυτά τα "MFC" "CLR" και ότι άλλο υπάρχει.. σαν το λινκ που μου έδωσες αυτό είναι σε CLR, μοιάζει πιο πολυ με C# ... ... Τα έχεις λίγο μπερδεμένα (φυσιολογικό εφόσον δεν έχεις ασχοληθεί). Λοιπόν το MFC είναι μια συλλογή από C++ classes (βιβλιοθήκη) οι οποίες αυτοματοποιούν κάποιες δουλειές του Win32 API, που αλλιώς θα έπρεπε να τις κάνεις χειροκίνητα δουλεύοντας απευθείας με τις συναρτήσεις του Win32 API. Σε βοηθάει δηλαδή να γράφεις λιγότερο κώδικα. Το link που σου έχω δώσει το εξηγεί και αυτό σε ειδική ενότητα: http://www.winprog.org/tutorial/apivsmfc.html (btw, συμφωνώ κι εγώ με αυτόν, πως το ιδανικό είναι να ξεκινήσεις απευθείας με το Win32 API για να είσαι σε θέση να ξέρεις και να καταλαβαίνεις τι είδους αυτοματισμούς σου παρέχει το MFC ή άλλα frameworks). Το CLR είναι άλλο πράγμα. Δεν θα σε κουράσω, φαντάσου το όμως κάτι σαν το Virtual Machine της Java, μόνο που αντί για Java libraries το CLR παρέχει το .NET framework (το οποίο μεταξύ πολλών άλλων σου παρέχει κι αυτό εύκολη πρόσβαση στο Win32 API). Το .NET Framework δεν απευθύνεται μονάχα σε C++ αλλά σε πολλές γλώσσες (συμπεριλαμβανομένων των C# και VB). ΥΓ. Αν κι εφόσον ενδιαφέρεσαι να μάθεις, θα σου πρότεινα να διαβάσεις πρώτα το tutorial που σου υπέδειξα πριν αρχίσεις να ρωτάς πράγματα που καλύπτονται ήδη εκεί (δεν στο υπέδειξα στην τύχη, είναι όντως πολύ καλό για να ξεκινήσεις )
moukoublen Δημοσ. 26 Αυγούστου 2011 Δημοσ. 26 Αυγούστου 2011 Αναμφίβολα το designer είναι ένα παρα πολύ βολικό πράγμα. Μην το βλέπεις τόσο αρνητικά. Εξαρτάται κάθε φορα που είσαι και τι κανεις. Από κει και πέρα στις πολύ μεγάλες εφαρμογές παίζουν ζητήματα σχεδίασης και ανάλυσης , δόμησης και ανάπτυξης του project πολύ διαφορετικά από το απλό "ξεκινάω και γράφω". Αλλα ακόμα και στα μεγάλα project μεγάλων εταιριών ενδεχομένως τις φόρμες να τις φτιάχνουν με κάποιο designer. Αν θες, αφού είσαι στο visual studio, άρχισε να μελετάς και λίγο wpf που αυτό έχει αρχίσει και σπρώχνει πια η microsoft, γιατί σιγά σιγά το windows forms το αφήνει στην άκρη. Τα υπόλοιπα που αναφέρεις (σε σχέση με τις προτάσεις που σου βγάζει όταν πατάς text, η την λίστα των μεθόδων όταν πατάς τελια) αυτό είναι υπηρεσία του IDE του περιβάλλοντος ανάπτυξης δηλαδή. Όλα τα IDE έχουν ανάλογες λειτουργίες (Eclipse, Netbeans, JDeveloper και αλλα που δε γνωρίζω). Το πολύ βολικό που έχει το visual studio είναι η δυνατότητα να μετακινείσαι μέσω του debug κάτω η και πάνω (μαζί με πολλά αλλα βολικά πράγματα). Αυτό που γίνεται μέσω το visual studio είναι συχνά οι χρηστες που δεν έχου εμπειρία από αλλα περιβάλλοντα ανάπτυξης να αποκτούν την εικόνα ότι είναι ένα ενιαίο πράγμα ο compiler ο debugger το IDE κ.α. ενώ είναι ξεχωριστά εργαλεία. Το θέμα είναι που βρίσκεσαι και τι σκοπεύεις να κανεις. Δεν είναι απαραίτητα κακό να χρησιμοποιείς τον designer αρκεί να μαθαίνεις τον τρόπο δόμησης και λειτουργίας της βιβλιοθήκης γραφικών (του εκάστοτε framework).
Adawn Δημοσ. 26 Αυγούστου 2011 Μέλος Δημοσ. 26 Αυγούστου 2011 ΥΓ. Αν κι εφόσον ενδιαφέρεσαι να μάθεις, θα σου πρότεινα να διαβάσεις πρώτα το tutorial που σου υπέδειξα πριν αρχίσεις να ρωτάς πράγματα που καλύπτονται ήδη εκεί (δεν στο υπέδειξα στην τύχη, είναι όντως πολύ καλό για να ξεκινήσεις τίποτα δεν έχω διαβάσει... έχω πολύ δουλειά και τώρα είμαι στην φάση που εξερυνω την C# εις βάθος... δεν μπορώ όταν ξέρω , πχ αυριο θα γαμηθ** στην δουλεια..., δεν έχω το κουράγιο να ανοίξω το Visual Studio... σε κανα μήνα που θα ξεκινήσουν τα μαθήματα και αρχίζει πάλι η σκυλίσια ζωη θα το λιώσω ...για τα βασικα... δεν ξέρω γιατί, αλλα το συντακτικό κομμάτι της C++ μου αρέσει πολύ, ενω της C# δεν μου λεει τίποτα...
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.