narbi Δημοσ. 29 Μαΐου 2009 Δημοσ. 29 Μαΐου 2009 Γειά σας! Αποφάσισα πριν απο λίγο καιρό να μεταπηδήσω απο VB6 σε VB .net του VS2008. Φτιάχνοντας ένα προγραμματακι έτσι για γνωριμία με τη γλώσσα και το περιβάλλον διαπίστωσα ότι όταν δημιουργω ένα μενού στο πρόγραμμά μου με menu strip αυτό δεν κληρονομεί τα γραφικά των vista ή των 7 αλλά έχει εμφάνιση like XP. Βέβαια,καθ'ότι δε μου είναι οικεία ακόμη η VB .net ίσως και να κάνω λάθος.. Αλλά όσο κι αν έπαιξα με τις ιδιότητες του Render δεν κατάφερα κάτι.. Όποιος γνωρίζει κάτι ας απαντησει παρακαλώ.. Ευχαριστώ!
random Δημοσ. 29 Μαΐου 2009 Δημοσ. 29 Μαΐου 2009 ξεκινα απο αυτά, και θα βρεις και άλλα... σχετική συζήτηση http://www.neowin.net/forum/index.php?showtopic=599673 VistaMenu, custom control (free) http://wyday.com/blog/2008/vista-menu-with-icons-in-c-sharp/ WindowsVistaRenderer @codeproject.com http://www.codeproject.com/KB/vista/WindowsVistaRenderer.aspx?display=PrintAll&fid=471945&df=90&mpp=25&noise=3&sort=Position&view=Quick&fr=26&select=2332351 Windows Forms Aero is a project that aims to create a Windows Control Library that provides controls reproducing the appearance of Microsoft Aero graphic objects, like buttons and links with shield icon, textboxes with cue banner, etc. http://windowsformsaero.codeplex.com/ ΥΓ. δεν εχω χρησιμοποιήσει τίποτα απο αυτα, κι εγω αρχάριος ειμαι σε .Net , αλλα νομιζω οτι υπάρχουν πολυ πιο ενδιαφέρονται θέματα για εξερεύνηση απο το vista look
narbi Δημοσ. 29 Μαΐου 2009 Μέλος Δημοσ. 29 Μαΐου 2009 Σίγουρα υπάρδουν πιο ενδιαφέροντα πράγματα απο το vista look αλλά απο την άλλη είναι κ λίγο αστείο όταν στη VB6 μου εδινε by default vista look στο menu strip Κι όχι σε όλα τα άλλα και τώρα που το έχω σε όλα τα υπόλοιπα αντικέιμενα να μην το έχω στο menustrip...Επίσης με ενοχλούν και κάποια άλλα πράγματα στο VS2008 όσον αφορά στα εκτελέσιμα αλλα τεσπά.. Ευχαριστώ πάτως για την παράθεση των Links..
Evgenios1 Δημοσ. 29 Μαΐου 2009 Δημοσ. 29 Μαΐου 2009 Παντος το Form ειναι win32 "gdi32", και τo Window ειναι direct. Γενικα η .net κανει dllimports τα win api. Θα σου παραθεσω και τη κλαση MenuStrip. Για να δεις τα defualt. MenuStrip ><ComVisible(True), ClassInterface(ClassInterfaceType.AutoDispatch), SRDescription("DescriptionMenuStrip")> _ Public Class MenuStrip Inherits ToolStrip ' Events <SRCategory("CatBehavior"), SRDescription("MenuStripMenuActivateDescr")> _ Public Event MenuActivate As EventHandler AddHandler(ByVal value As EventHandler) MyBase.Events.AddHandler(MenuStrip.EventMenuActivate, value) End AddHandler RemoveHandler(ByVal value As EventHandler) MyBase.Events.RemoveHandler(MenuStrip.EventMenuActivate, value) End RemoveHandler End Event <SRDescription("MenuStripMenuDeactivateDescr"), SRCategory("CatBehavior")> _ Public Event MenuDeactivate As EventHandler AddHandler(ByVal value As EventHandler) MyBase.Events.AddHandler(MenuStrip.EventMenuDeactivate, value) End AddHandler RemoveHandler(ByVal value As EventHandler) MyBase.Events.RemoveHandler(MenuStrip.EventMenuDeactivate, value) End RemoveHandler End Event ' Methods Public Sub New() Me.CanOverflow = False Me.GripStyle = ToolStripGripStyle.Hidden Me.Stretch = True End Sub Protected Overrides Function CreateAccessibilityInstance() As AccessibleObject Return New MenuStripAccessibleObject(Me) End Function Protected Friend Overrides Function CreateDefaultItem(ByVal [text] As String, ByVal image As Image, ByVal onClick As EventHandler) As ToolStripItem If ([text] = "-") Then Return New ToolStripSeparator End If Return New ToolStripMenuItem([text], image, onClick) End Function Protected Overridable Sub OnMenuActivate(ByVal e As EventArgs) If MyBase.IsHandleCreated Then MyBase.AccessibilityNotifyClients(AccessibleEvents.SystemMenuStart, -1) End If Dim handler As EventHandler = DirectCast(MyBase.Events.Item(MenuStrip.EventMenuActivate), EventHandler) If (Not handler Is Nothing) Then handler.Invoke(Me, e) End If End Sub Protected Overridable Sub OnMenuDeactivate(ByVal e As EventArgs) If MyBase.IsHandleCreated Then MyBase.AccessibilityNotifyClients(AccessibleEvents.SystemMenuEnd, -1) End If Dim handler As EventHandler = DirectCast(MyBase.Events.Item(MenuStrip.EventMenuDeactivate), EventHandler) If (Not handler Is Nothing) Then handler.Invoke(Me, e) End If End Sub Friend Function OnMenuKey() As Boolean If (Me.Focused OrElse MyBase.ContainsFocus) Then Return False End If ModalMenuFilter.SetActiveToolStrip(Me, True) If (Me.DisplayedItems.Count > 0) Then If TypeOf Me.DisplayedItems.Item(0) Is SystemMenuItem Then MyBase.SelectNextToolStripItem(Me.DisplayedItems.Item(0), True) Else MyBase.SelectNextToolStripItem(Nothing, (Me.RightToLeft = RightToLeft.No)) End If End If Return True End Function <SecurityPermission(SecurityAction.LinkDemand, Flags:=SecurityPermissionFlag.UnmanagedCode)> _ Protected Overrides Function ProcessCmdKey(ByRef m As Message, ByVal keyData As Keys) As Boolean If ((Not ModalMenuFilter.InMenuMode OrElse (keyData <> Keys.Space)) OrElse (Not Me.Focused AndAlso MyBase.ContainsFocus)) Then Return MyBase.ProcessCmdKey((m), keyData) End If MyBase.NotifySelectionChange(Nothing) ModalMenuFilter.ExitMenuMode UnsafeNativeMethods.PostMessage(WindowsFormsUtils.GetRootHWnd(Me), &H112, &HF100, &H20) Return True End Function <SecurityPermission(SecurityAction.LinkDemand, Flags:=SecurityPermissionFlag.UnmanagedCode)> _ Protected Overrides Sub WndProc(ByRef m As Message) If ((m.Msg = &H21) AndAlso (MyBase.ActiveDropDowns.Count = 0)) Then Dim point As Point = MyBase.PointToClient(WindowsFormsUtils.LastCursorPoint) Dim itemAt As ToolStripItem = MyBase.GetItemAt(point) If ((Not itemAt Is Nothing) AndAlso Not TypeOf itemAt Is ToolStripControlHost) Then Me.KeyboardActive = True End If End If MyBase.WndProc((m)) End Sub ' Properties <SRDescription("ToolStripCanOverflowDescr"), SRCategory("CatLayout"), DefaultValue(False), Browsable(False)> _ Public Property CanOverflow As Boolean Get Return MyBase.CanOverflow End Get Set(ByVal value As Boolean) MyBase.CanOverflow = value End Set End Property Protected Overrides ReadOnly Property DefaultGripMargin As Padding Get Return New Padding(2, 2, 0, 2) End Get End Property Protected Overrides ReadOnly Property DefaultPadding As Padding Get If (Me.GripStyle = ToolStripGripStyle.Visible) Then Return New Padding(3, 2, 0, 2) End If Return New Padding(6, 2, 0, 2) End Get End Property Protected Overrides ReadOnly Property DefaultShowItemToolTips As Boolean Get Return False End Get End Property Protected Overrides ReadOnly Property DefaultSize As Size Get Return New Size(200, &H18) End Get End Property <DefaultValue(0)> _ Public Property GripStyle As ToolStripGripStyle Get Return MyBase.GripStyle End Get Set(ByVal value As ToolStripGripStyle) MyBase.GripStyle = value End Set End Property Friend Overrides Property KeyboardActive As Boolean Get Return MyBase.KeyboardActive End Get Set(ByVal value As Boolean) If (MyBase.KeyboardActive <> value) Then MyBase.KeyboardActive = value If value Then Me.OnMenuActivate(EventArgs.Empty) Else Me.OnMenuDeactivate(EventArgs.Empty) End If End If End Set End Property <MergableProperty(False), DefaultValue(CStr(Nothing)), SRDescription("MenuStripMdiWindowListItem"), TypeConverter(GetType(MdiWindowListItemConverter)), SRCategory("CatBehavior")> _ Public Property MdiWindowListItem As ToolStripMenuItem Get Return Me.mdiWindowListItem End Get Set(ByVal value As ToolStripMenuItem) Me.mdiWindowListItem = value End Set End Property <DefaultValue(False), SRDescription("ToolStripShowItemToolTipsDescr"), SRCategory("CatBehavior")> _ Public Property ShowItemToolTips As Boolean Get Return MyBase.ShowItemToolTips End Get Set(ByVal value As Boolean) MyBase.ShowItemToolTips = value End Set End Property <SRCategory("CatLayout"), DefaultValue(True), SRDescription("ToolStripStretchDescr")> _ Public Property Stretch As Boolean Get Return MyBase.Stretch End Get Set(ByVal value As Boolean) MyBase.Stretch = value End Set End Property ' Fields Private Shared ReadOnly EventMenuActivate As Object = New Object Private Shared ReadOnly EventMenuDeactivate As Object = New Object Private mdiWindowListItem As ToolStripMenuItem ' Nested Types <ComVisible(True)> _ Friend Class MenuStripAccessibleObject Inherits ToolStripAccessibleObject ' Methods Public Sub New(ByVal owner As MenuStrip) MyBase.New(owner) End Sub ' Properties Public Overrides ReadOnly Property Role As AccessibleRole Get Dim accessibleRole As AccessibleRole = MyBase.Owner.AccessibleRole If (accessibleRole <> AccessibleRole.Default) Then Return accessibleRole End If Return AccessibleRole.MenuBar End Get End Property End Class End Class {Ποια greeklish;} Χμμμ, μήπως δε χρησιμοποιείτε ελληνικούς χαρακτήρες στο μήνυμα σας ; Υπενθυμίζουμε ότι απαγορεύεται η χρήση greeklish Χμμμ, μήπως δε χρησιμοποιείτε ελληνικούς χαρακτήρες στο μήνυμα σας ; Υπενθυμίζουμε ότι απαγορεύεται η χρήση greeklish
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.