<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Visual Basic 6.0</title><link>https://www.dotnetzone.gr:443/cs/forums/25/ShowForum.aspx</link><description>Θέματα που αφορούν την VB6 και COM components</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Εύρεση ονόματος στοιχείου ελέγχου</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/71767.aspx</link><pubDate>Mon, 17 Dec 2012 19:56:55 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:71767</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/71767.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=71767</wfw:commentRss><description>Πέρα από το να γυρίσεις σε κάποια γλώσσα που να μπορεί να κάνει αυτό που θες?&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Το πρόβλημα είναι ότι η VB6 έχει εμπόδια παντού. Θα μπορούσες να χρησιμοποιήσεις το ίδιο function ως event handler για πολλά διαφορετικά events. Σε μεγάλο βαθμό, μπορείς να ορίσεις μία μεταβλητή WithEvents και να προσθέσεις handlers για το MouseMove. Αν θυμάμαι καλά όμως, δεν μπορείς απλά να πάρεις όλα τα controls που θέλεις και να προσθέσεις event handlers, είτε επειδή το Controls property δεν επιστρέφει όλα τα controls ή επειδή, από τη στιγμή που δεν υπάρχει inheritance και casting, δεν μπορείς να χειριστείς όλα τα controls ως ένα κοινό τύπο.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Ό,τι και να δοκιμάσεις θα είναι χακιά. Είτε θα προσπαθείς όλη την ώρα να δεις που είναι το ποντίκι, και θα διαλύσεις τη μπαταρία, ή θα πρέπει να βάλεις πολλούς event handlers. Θα μπορούσες ίσως να πιάσεις και τα windows messages σε επίπεδο φόρμας για να δεις ποιό control στέλνει Windows messages εκείνη την ώρα. Τα events στην πραγματικότητα είναι callbacks για συγκεκριμένα Windows messages που στέλνει ένα παράθυρο στην εφαρμογή.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Όπως και να έχει, θα χρειαστεί πολύ φασαρία. Άσε που οι αναφορές ή τα βιβλία με τις τεχνικές που χρησιμοποιούσαμε πριν 10 χρόνια για να κάνουμε όσα ζητάς κοντεύουν να εξαφανιστούν.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Τα δικά μου σίγουρα χάθηκαν όταν πλημμύρισε το υπόγειο. Αν κανένας Καπνιάς θυμάται τίποτε ...&lt;/div&gt;</description></item><item><title>Απ: Εύρεση ονόματος στοιχείου ελέγχου</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/71766.aspx</link><pubDate>Mon, 17 Dec 2012 19:20:02 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:71766</guid><dc:creator>ChrisGT7</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/71766.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=71766</wfw:commentRss><description>&lt;P&gt;Έχω φτιάξει ένα μενού σε μια MDI φόρμα που αποτελείται από κουμπιά (Πελάτες, Προμηθευτές, Πωλήσεις κτλ) όπου βάζοντας το ποντίκι πάνω τους, θέλω να εμφανίζεται η αντίστοιχη εικόνα του σε άλλο κεντρικό (απενεργοποιημένο) κουμπί. Κάτι σαν το νέο μενού Start των Windows 7, όπου αν βάλεις το δείχτη πάνω από τις Εικόνες εμφανίζεται η εικόνα που αντιπροσωπεύει το φάκελο Εικόνες.&lt;/P&gt;
&lt;P&gt;Απέφυγα να χρησιμοποιήσω το event MouseMove γιατί θα πρέπει να βάλω κώδικα σε πάρα πολλά controls που έχει η κάθε φόρμα και μερικές φορές "τρεμοπαίζει" το ελεγκτήριο που απευθύνεται ο κώδικας του MouseMove. Και επίσης αν κινείται πολύ γρήγορα το ποντίκι έχω παρατηρήσει δεν προλαβαίνει να εκτελεστεί το&amp;nbsp;MouseMove άλλου control και το προσπερνάει. Χώρια που αν βγει εκτός φόρμας το ποντίκι έχει θέμα το MouseMove.&lt;/P&gt;
&lt;P&gt;Εκτός και αν υπάρχει κώδικας για τις συντεταγμένες&amp;nbsp; Χ και&amp;nbsp; Υ του MouseMove που αν βγει εκτός του ελεγκτηρίου τότε να εκτελείται άλλος κώδικας.&lt;/P&gt;
&lt;P&gt;Μήπως έχεις να προτείνεις κάτι καλύτερο; Είμαι ανοιχτός σε κάθε ιδέα! :)&lt;/P&gt;</description></item><item><title>Απ: Εύρεση ονόματος στοιχείου ελέγχου</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/71765.aspx</link><pubDate>Mon, 17 Dec 2012 18:22:42 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:71765</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/71765.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=71765</wfw:commentRss><description>Γιατί να το κάνεις αυτό? Τα περισσότερα controls έχουν το MouseMove event. Αν όχι τίποτε άλλο, η συνεχής αναζήτηση μέσω του timer κοστίζει και σε μπαταρία.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Αν τώρα η VB6 έχει προβλήματα στο MouseMove ...&amp;nbsp;&lt;/div&gt;</description></item><item><title>Εύρεση ονόματος στοιχείου ελέγχου</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/71764.aspx</link><pubDate>Mon, 17 Dec 2012 17:42:09 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:71764</guid><dc:creator>ChrisGT7</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/71764.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=71764</wfw:commentRss><description>&lt;P&gt;&lt;FONT face="Courier New"&gt;Με τον παρακάτω κώδικα βρίσκω την κλάση που ανήκει ένα στοιχείο ελέγχου καθώς περνάει ο κέρσορας του ποντικιού από πάνω του:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;Public Declare Function GetCursorPos Lib "user32" _&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (lpPoint As POINTAPI) As Long&lt;BR&gt;Public Declare Function WindowFromPoint Lib "user32" _&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ByVal xPoint As Long, ByVal yPoint As Long) As Long&lt;BR&gt;Public Declare Function GetClassName Lib "user32" Alias "GetClassNameA" _&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;Type POINTAPI&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; X As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y As Long&lt;BR&gt;End Type&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;Private Sub Tmr_Timer()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetCursorPos mousePT&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; X = mousePT.X&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y = mousePT.Y&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; curWindow = WindowFromPoint(X, Y)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If curWindow &amp;lt;&amp;gt; prevWindow Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; className = String$(256, " ")&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prevWindow = curWindow&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retValue = GetClassName(curWindow, className, 255)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; className = Left$(className, InStr(className, vbNullChar) - 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Me.Caption = className&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If className &amp;lt;&amp;gt; "ThunderRT6UserControlDC" Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For I = 0 To 8&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Bttn(I).Value Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cmd(I).ZOrder&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit For&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cmd(11).ZOrder&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DoEvents&lt;BR&gt;End Sub&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;Μπορείτε να με βοηθήσετε ώστε να μπορώ να βρίσκω&amp;nbsp;το όνομα του control με&amp;nbsp;κάποια αντίστοιχη συνάρτηση API πού φέρνει τα στοιχεία του ελεγκτηρίου;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;Αυτό που θέλω να κάνω είναι καθώς περνάει το ποντίκι πάνω από κάποιο control να εκτελείται ο επιθυμητός κώδικας.&lt;/FONT&gt;&lt;/P&gt;</description></item></channel></rss>