ΠάρηςΓ Δημοσ. 1 Οκτωβρίου 2011 Δημοσ. 1 Οκτωβρίου 2011 Εδω δεν εχει χρησιμα πραγματα υλοποιήσει αυτο θα εχει; Απο πλευράς user experience θεωρείται κακό αυτο που θες να κανεις.
migf1 Δημοσ. 1 Οκτωβρίου 2011 Δημοσ. 1 Οκτωβρίου 2011 +1 Περισσότερα προβλήματα ενδέχεται να δημιουργήσει παρά να λύσει! Το modal mode είναι πιστεύω παραπάνω από αρκετό για τη συντριπτική πλειοψηφία των περιπτώσεων.
oGiorgos8amasSwsei Δημοσ. 1 Οκτωβρίου 2011 Δημοσ. 1 Οκτωβρίου 2011 οταν λέμε focus, σαν να λέμε έχουμε ένα πρόγραμμα με κάποια πράγματα και πχ την έχουμε scrollari κάτω(την φόρμα), όταν λοιπών συμβούν διάφορα (όπως αλλαγη παραθυρου) να μην χαθεί το φοκους, δηλαδή όταν γυρίσουμε να είναι scrollarismeno προς τα κάτω ε? μην κάνει να ουμε ρε-παιντ το πρόγραμμα ε? και ξαναπάει πάνω... εε?
migf1 Δημοσ. 1 Οκτωβρίου 2011 Δημοσ. 1 Οκτωβρίου 2011 Όχι, focus εννοούμε εστίαση στο προσκήνιο... να είναι δηλαδή το παράθυρό μας στο προσκήνιο (μπροστά από οποιοδήποτε άλλο). Απορω πως δεν σκεφτηκαν στη Microsoft να βαλουν μια property την οποια οταν θα την οριζεις True να εχει την φορμα παντα σε focus, π.χ. Form1.AlwaysFocus=True. Εφοσον δεν υπαρχει αυτη η property το αποτελεσμα ειναι να χρονοτριβει ο προγραμματιστης ψαχνοντας εδω και εκει και να πρεπει να γραψει μερικες γραμμες κωδικα αντι για μια. Οι φόρμες έχουν πάντα focus αν τις ορίσεις modal, ή αν τις ανοίξεις με DialogBox().
oGiorgos8amasSwsei Δημοσ. 1 Οκτωβρίου 2011 Δημοσ. 1 Οκτωβρίου 2011 απο αυτά που λέτε πάνω αυτό που λες είναι το TOPMOST, βασικά τι ζήτησε ο τυπάς ακριβώς..?
defacer Δημοσ. 1 Οκτωβρίου 2011 Δημοσ. 1 Οκτωβρίου 2011 οταν λέμε focus, σαν να λέμε έχουμε ένα πρόγραμμα με κάποια πράγματα και πχ την έχουμε scrollari κάτω(την φόρμα), όταν λοιπών συμβούν διάφορα (όπως αλλαγη παραθυρου) να μην χαθεί το φοκους, δηλαδή όταν γυρίσουμε να είναι scrollarismeno προς τα κάτω ε? μην κάνει να ουμε ρε-παιντ το πρόγραμμα ε? και ξαναπάει πάνω... εε? Αυτό το κάνουν ήδη όλα τα προγράμματα γιατί πολύ απλά πρέπει να γράψεις κώδικα για να μην γίνει έτσι. Εσύ δηλαδή όταν πας από τον browser στον media player και μετά πίσω, ο browser έχει κάνει scroll to top? Όχι, focus εννοούμε εστίαση στο προσκήνιο... να είναι δηλαδή το παράθυρό μας στο προσκήνιο (μπροστά από οποιοδήποτε άλλο). Οι φόρμες έχουν πάντα focus αν τις ορίσεις modal, ή αν τις ανοίξεις με DialogBox(). Ας μη μπερδεύουμε το input focus με την έννοια του foreground window γιατί άλλα θα εννοεί ο ένας κι άλλα θα καταλαβαίνει ο άλλος. απο αυτά που λέτε πάνω αυτό που λες είναι το TOPMOST, βασικά τι ζήτησε ο τυπάς ακριβώς..? Όπως μπορείς να διαβάσεις και συ στο post του (γιατί και μεις απο κει το διαβάσαμε), αυτό που θέλει είναι να κάνει ένα window να είναι "foreground αλλά για όλο το σύστημα" (αντί για την εφαρμογή του μόνο) και επίσης να μη μπορεί να αλλάξει αυτό με χειρισμό του χρήστη. Όλα τα υπόλοιπα (πχ topmost) είναι άσχετα με το πρόβλημά του με την έννοια ότι ναι μεν θέλει να το κάνει και αυτό (full screen topmost κλπ), αλλά είναι orthogonal: το ένα δεν επηρρεάζει το άλλο.
adamco Δημοσ. 2 Οκτωβρίου 2011 Δημοσ. 2 Οκτωβρίου 2011 Για να κάνεις μια φόρμα system modal όπως λέει ο migf1 χρησιμοποιείς την API συνάρτηση SetSysModalWindow. Δεν υπάρχει η δυνατότητα μετάβασης σε άλλη εφαρμογή μέχρι να ξεφορτωθείς το παράθυρο. Υπάρχουν και άλλες σχετικές συναρτήσεις όπως GetFocus, SetFocus, GetActiveWindow, GetForegroundWindow, SetForegroundWindow κλπ. Στην Visual Basic την topmost φόρμα που είναι πάντα ορατή την λέμε "always on top".
Directx Δημοσ. 2 Οκτωβρίου 2011 Δημοσ. 2 Οκτωβρίου 2011 Η SetSysModalWindow από ότι βλέπω εδώ δεν υποστηρίζεται πλέον. Πρόκειται για ρουτίνα που προσέφερε το παλιό 16μπιτο Windows API και από τα W95+ έχει κοπεί, παραμένει στα Header μόνο για συμβατότητα κατά το compile.
migf1 Δημοσ. 2 Οκτωβρίου 2011 Δημοσ. 2 Οκτωβρίου 2011 Ο απλούστερος κι ασφαλέστερος τρόπος για δημιουργία modal φόρμας είναι με κλήση της DialogBox(). Αν έχει δημιουργηθεί ως κανονικό παράθυρο με CreateWindow(), μπορεί να επιτευχθεί παραπλήσιο εφέ απενεργοποιώντας τον owner του παραθύρου (ο οποίος σε επίπεδο λογικής μπορεί να συμπίπτει με τον parent, μπορεί όμως και όχι). Αυτό μόνο αν θέλουμε να αλλάξουμε το modality on-the-fly (επειδή κανονικά το modality ορίζεται "εφάπαξ" κατά τη δημιουργία του παραθύρου/φόρμας). Αλλά μπορεί να εισαγάγει δυσάρεστες παρενέργειες σε άλλα τμήματα του κώδικά μας... γενικώς αντενδείκνυται. Γενικώς, για το modality (UI ή code) ρίξτε μια ματιά κι εδώ: http://blogs.msdn.com/b/oldnewthing/archive/2005/02/18/376080.aspx
defacer Δημοσ. 2 Οκτωβρίου 2011 Δημοσ. 2 Οκτωβρίου 2011 Ωπα της... Διαβαζουμε και the old new things Και τι δε θα δινα για να δω τις απαντήσεις του Raymond στις ερωτήσεις που ποστάρονται εδώ... Μπορεί ο τύπος να έχει κοινωνικό πρόβλημα αλλά μ' αυτά που διαβάζω κάθε τόσο εδώ τον νιώθω. Επίσης BTW, πρώτον ο OP έχει ήδη λύσει το πρόβλημά του (οπότε τζάμπα παρλαπιπιάζουμε) και δεύτερον δεν ήθελε modal window (δεν αναφέρει καν ότι η εφαρμογή του έχει πάνω από ένα window) αλλά αυτό το υποτιθέμενο "system modal".
παπι Δημοσ. 2 Οκτωβρίου 2011 Δημοσ. 2 Οκτωβρίου 2011 Και τι δε θα δινα για να δω τις απαντήσεις του Raymond στις ερωτήσεις που ποστάρονται εδώ... Μπορεί ο τύπος να έχει κοινωνικό πρόβλημα αλλά μ' αυτά που διαβάζω κάθε τόσο εδώ τον νιώθω. Εγω παντος ανυπομονω να δω ενα ποστ σου στον "μεγιστο ντεβελοπερ". (μαλλον πολλοι εδω μεσα θα ηθελαν κατι τετοιο)
moukoublen Δημοσ. 2 Οκτωβρίου 2011 Μέλος Δημοσ. 2 Οκτωβρίου 2011 Αν και ναι, το θέμα έχει λυθεί... Για το κους κους του ζητήματος :-D ... ποιος είναι ο "μεγιστο ντεβελοπερ"; (Έτσι απλά για να μπαίνω στο κλίμα μιας και νέος στο forum)
παπι Δημοσ. 2 Οκτωβρίου 2011 Δημοσ. 2 Οκτωβρίου 2011 Οταν ερθει η ωρα θα το μαθεις. (θελω να δω αυθορμητο σχολιασμο απο τον δεφεσερ)
defacer Δημοσ. 2 Οκτωβρίου 2011 Δημοσ. 2 Οκτωβρίου 2011 Ουφφφφ παπί δουλειά μου βρήκες κυριακάτικα! Λοιπόν δεν είχα την παραμικρή ιδέα σε ποιόν αναφέρεσαι, αλλά με λίγο google-fu βρήκα ότι μιλάμε για τον George Delaportas, aka qtgeo και G0D. Μετά έκανα λίγο speed browsing τo online presence του (δεν είναι και δύσκολο να τον βρεις ) και συνειδητοποίησα ότι είναι ο ίδιος τύπος που είχε γράψει 2 post που θυμάμαι να έχω διαβάσει "τώρα πρόσφατα" -- ένα που έλεγε κάτι πίπες για reverse engineering κάποιο Google API (ασχολίαστο) και ένα όντως πρόσφατο που έλεγε για το Alpha Script και είχαν πέσει κάτι σχόλια για God OS κλπ. Εδώ θα σε ξενερώσω λέγοντας ότι παραλίγο να σχολίαζα εκεί (κάτι του στυλ "solution looking for a problem"), αλλά σκέφτηκα ότι δεν έχει κανένα απολύτως νόημα οπότε γιατί να σπαταλάω το χρόνο μου. Γενικά είναι προφανές ότι το παιδί ξέρει πέντε πράγματα (ίσως και 10 και 15) αλλά είναι λίγο, πως να το θέσω, full of himself. Δεν έχει και πολύ νόημα να ασχολείσαι με τέτοια άτομα πέραν της πλάκας, και όσο για το δούλεμα δε θα το έκανα εκτός κι αν το εκάστοτε topic ήδη είχε πάει κατα διαόλου. Μαγκιά δεν είναι να βάζεις nickname "g0d". Μαγκιά είναι εκεί που κάθεσαι να είσαι ο καλύτερος και να ψάχνεις πώς θα πας εκεί που θα είσαι ο χειρότερος. Edit: τελικά τον έχω διαβάσει περισσότερες φορές απ' όσες νόμιζα. moukoublen, να το link που θέλεις. Edit #2: κατέβασα το τελευταίο tarball του Alpha CMS (v8.2) και το περιεργάστηκα λίγο. Verdict: ξέρει 5 πράγματα αλλά έχει πολλά περιθώρια βελτίωσης ακόμα. Καθαρά από τεχνικής πλευράς, θα έλεγα hire αν ερχόταν για junior dev. Σημαντική λεπτομέρεια: τα στάνταρ μου είναι πολύ υψηλά. Δεν θα έκανα hire ούτε για junior ίσως την πλειοψηφία των ανθρώπων που πληρώνονται για να κάνουν αυτή τη δουλειά στην Ελλάδα.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.