Προς το περιεχόμενο

Ερωτήσεις σε VC++ MFC


xaotikos

Προτεινόμενες αναρτήσεις

Δημοσ.

Λοιπό αρχικά να πω ότι είμαι ψιλοαρχάριος με Windows programming (αλλά το παλεύω :P ). Έχω κολήσει σε 2 σημεία...

 

1. Έχω φτιάξει ένα object CListCtrl με 4 Columns και δυναμικό μέγεθος γραμμών όπου του βάζω κάποια δεδομένα. Επειδή θέλω να κάνω Sort με βάση μια στήλη(για αρχή) προσπαθώ να βρώ με ποιον τρόπο μπορώ να ελέγξω το header της κάθε στήλης. Δηλαδή για παρδειγμα, με ποιον τρόπο θα δώ αν έχει πατηθεί το header της Column 3 ώστε να τρέξει και η ανάλογη ρουτίνα sorting.

 

2. Θέλω να φτιάξω thread κατά το οποίο θα τρέχει στο backgroung κάποιους υπολογισμούς και θα έλέγχει παράλληλα και ένα ProgressBar. Το thread πρέπει να είναι Worker ή GUI? Διάβασα μερικά άρθρα και εκεί που ήμουνα σίγουρος για Worker κάπου είδα ότι δεν πρέπει ένα τέτοιο thread να έχει καμία απόλύτως σχέση με το γραφικό (δηλαδή το progressbar που θέλω).

 

Αν υπάρχει και κανένα link θα βοηθούσε αρκετά

 

Ευχαριστώ προκαταβολικά.

Δημοσ.

1. Έχω φτιάξει ένα object CListCtrl με 4 Columns και δυναμικό μέγεθος γραμμών όπου του βάζω κάποια δεδομένα. Επειδή θέλω να κάνω Sort με βάση μια στήλη(για αρχή) προσπαθώ να βρώ με ποιον τρόπο μπορώ να ελέγξω το header της κάθε στήλης. Δηλαδή για παρδειγμα' date=' με ποιον τρόπο θα δώ αν έχει πατηθεί το header της Column 3 ώστε να τρέξει και η ανάλογη ρουτίνα sorting.

[/quote']

 

To έχω χρησιμοποιήσει στο παρελθόν αλλά πραγματικά δεν θυμάμαι. Ισως βρώ τον κώδικα να στον κάνω ένα paste. Στο MSDN πάντως άμα κοιτάξεις γράφει μεταξύ των άλλων

 

" Each column has an associated header item (see CHeaderCtrl) object that labels the column and allows users to resize the column. For a code example, see the DAOVIEW sample application."

 

oπότε το CHeaderCtrl είναι αυτό που χρειάζεσαι. Σε συμβουλεύω να κοιτάξεις και το sample application που αναφέρει. Εγώ το είχα βρεί πολύ χρήσιμο πάντως.

 

2. Θέλω να φτιάξω thread κατά το οποίο θα τρέχει στο backgroung κάποιους υπολογισμούς και θα έλέγχει παράλληλα και ένα ProgressBar. Το thread πρέπει να είναι Worker ή GUI? Διάβασα μερικά άρθρα και εκεί που ήμουνα σίγουρος για Worker κάπου είδα ότι δεν πρέπει ένα τέτοιο thread να έχει καμία απόλύτως σχέση με το γραφικό (δηλαδή το progressbar που θέλω).

Αν υπάρχει και κανένα link θα βοηθούσε αρκετά

 

Μην περιπλέκεις τα πράγματα στο μυαλό σου. Keep it simple. Το μόνο που θα χρειαστείς να κάνεις είναι να φτιάξεις με DWORD WINAPI function(LPVOID) και μετά να χρησιμοποιήσεις την CreateThread() για να φτιάξεις το thread που θές με αυτήν την function. Αμα πάς στο http://msdn.microsoft.com θα βρείς online όλες της λεπτομέριες και τις παραμέτρους για την function.

Δημοσ.

Καταρχάς ευχαριστώ για τις απαντήσεις. Αν βρεις κάτι με το CHeaderCtrl ώστε να ελέγχω τα headers (βασικά το ποιο πατήθηκε) θα με βοηθούσες πολύ γιατί με ψιλομπέρδεψε το msdn

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...