| |
Fortgeschrittene ProgrammierungOptische Verbesserung im eigenen Programm! | | | Autor: Paradoxon101 | Datum: 05.01.07 12:49 |
| Hallo,
wollte euch mal fragen, was ihr so für Bildmaterial verwendet und wo ihr das herbekommt um eure Programme Optisch aufzuwerten. Hab mich mal im Netz so umgeschaut aber nichts brauchbares gefunden, vorallem sollte man auch auf das copyright achten.
z.B. ein passendes Hintergrundbild für die mainForm und eventuell ein paar nette Bilder für die Buttons...
wenn ihr ein paar gute Sites wisst lasst mich es bitte wissen ;) | |
Re: Optische Verbesserung im eigenen Programm! | | | Autor: Gateway | Datum: 07.01.07 20:06 |
| Kannst du mal sagen wie du deinen "stylesheet", deine dll aufgebaut hast und was du damit so veränderst. Vll auch auch mal nen bsp hochladen. würd ma gern sehen wie das dann aussieht.
Wer Rechtschreibfehler findet kann sie behalten oder meinen Deutschlehrer verklagen.
In der Mitte von Schwierigkeiten liegen die M?glichkeiten. [Alber Einstein] | |
Re: Optische Verbesserung im eigenen Programm! | | | Autor: Karl Klammer | Datum: 07.01.07 20:35 |
| Gerne! Beispiel-Formcode:Public myStyle As MUNStyle2.clsStyle
Private Sub Form_Load()
Set myStyle = New myClsStyle.clsStyle
myStyle.PrepareControls Me
end sub Und hier mal die code für die Klasse, gekürzt, aber sinngemäß:
Public Sub PrepareControls(Form)
Dim ctrl As Control
On Error GoTo ErrorHandler
Form.BackColor = &HF5BE9E
For Each ctrl In Form
Select Case True
Case TypeOf ctrl Is sevOutBar3.OutBar
ctrl.ItemBackColorHover = &HC2EEFF
ctrl.GroupHotTrackingColor = &HC2EEFF
Case TypeOf ctrl Is sevMenuXP.MenuBar
ctrl.Style = mnuOffice2003
Case TypeOf ctrl Is sevDataGrid2.sevGrid
If Not ctrl.Tag = "userdef" Then
ctrl.CaptionBackColorFrom = RGB(89, 135, 214)
ctrl.CaptionBackColorTo = RGB(0, 45, 150)
ctrl.CaptionFont = "Arial"
ctrl.CaptionFont.Bold = True
ctrl.CaptionForeColor = vbWhite
ctrl.ColumnHeaderBackColor = &H8000000F
ctrl.BorderStyle = BORDER_NONE
ctrl.BalloonTip = True
ctrl.ToolTipIcon = ttInfoIcon
ctrl.ToolTipTitle = ctrl.Caption
ctrl.HighlightBackColor = RGB(49, 106, 197)
ctrl.HighlightForeColor = vbWhite
ctrl.CheckBoxStyle = CHECKBOX_XP
ctrl.FilterAlign = FILTER_ALIGN_BOTTOM
ctrl.FilterForeColor = &HC00000
ctrl.FilterForeColorDisabled = &H404040
ctrl.FilterBackColor = &HFFD6B5
ctrl.FilterBackColorDisabled = &HD68759
ctrl.BackColorOdd = &HFFFFFF
ctrl.BackColorEven = &HFFFFFF
ctrl.BackColor = &HFFFFFF
ctrl.LinkColor = vbBlack
End If
ctrl.CaptionHeight = 24
ctrl.ColumnHeaderHeight = 18
ctrl.MaskColor = &HFF00&
ctrl.UseMaskColor = True
Case TypeOf ctrl Is sevTextBox.sevText
ctrl.CaptionGradient = True
ctrl.CaptionBackColorTo = &HFFD6B5
ctrl.CaptionBackColor = &HFCF5F3
ctrl.BackColorDisabled = &HE0E0E0
ctrl.MaxLength = 255
ctrl.ListWidth = 3000
Case TypeOf ctrl Is sevCommand3.Command
ctrl.BorderColorHover = &HB17F3C
ctrl.BorderColorFocus = &HB17F3C
ctrl.HoverColorTo = &HF5BE9E
ctrl.BorderStyle = 2
End Select
Next
Exit Sub
ErrorHandler:
MsgBox Err.Description
End Sub
Das hat schon vielen geholfen! | |
mit XML absolute Anpassung Teil 1 | | | Autor: ScheibeNet | Datum: 08.01.07 11:03 |
| Hallo Gateway,
ich benutze eine XML-Datei.
In dieser XML-Datei ist in einer hiera. Struktur Eigenschaften für Form und Form.Controls hinterlegt.
Per Funktion wird die XML eingelesen und die Form bzw. Controls in ihrem Layout angepasst. Somit ist eine absolute Anpassung an Corporate-Designs möglich. Firma x hat ein blaues Logo mit Rosa Schrift und Schriftart "Verdana". Durch die XML ist es somit möglich das Programm Layout-technisch auf das Corporate-Design zur "Laufzeit" zu generieren. Natürlich ist es so auch möglich, Corporate-Logos in Buttons, Toolbars, ... einzubinden.
Hier ein Beispiel
tion>
<Layout>
<properties>
<!-- ColorStyle 0=Blue, 1=Olive-Green, 2=Silver (default) -->
<property name="XPStyle" value="0" />
<!-- DefaultFont -->
<property name="FontName" value="Tahoma" />
<property name="FontSize" value="12" />
</properties>
</Layout>
<frmMain>
<controls>
<control name="ImLstSound" value="1">
<properties>
<!-- property name="maskcolor" value="8388863" -->
<!--property name="maskcolor" value="8651007" -->
<!--property name="usemaskcolor" value="true" -->
<!--property name="imageheight" value="32" -->
<!--property name="imagewidth" value="32" -->
</properties>
</control>
</controls>
</frmMain>
<frmHauptmenu>
<properties>
<!-- Startmenu Icons -->
<!-- Startmenu Systemsteuerung - Control Panel -->
<!-- property name="$SYSST$" file="AP_Window.icl" index="8" default="8" /-->
</properties>
</frmHauptmenu>
<frmBrowser>
<toolbar>
<properties>
<!-- Toolbar Style 0=normal3D (default) 1=Flat 2=XPStyle 3=OfficeStyle -->
<!-- property name="toolbarstyle" value="0" /-->
<!-- Toolbar ButtonLines 0=LineNone 1=LineTop 2=LineButtom (default) 3 = LineBoth -->
<!-- property name="barlines" value="3" /-->
<!-- Toolbar PreferedIconSize 0=16, 1=24 (default), 2=32, 3=48 /-->
<!--property name="size" size="1" /-->
<!-- Toolbar Button Icons -->
<!--property name="back" file="AP_Navigation.icl" index="23" /-->
<!--property name="forward" file="AP_Navigation.icl" index="17" /-->
<!--property name="stop" file="AP_Document.icl" index="8" /-->
<!--property name="refresh" file="AP_Document.icl" index="29" /-->
<!--property name="home" file="NS_Network.icl" index="43" /-->
<!--property name="print" file="OP_Devices.icl" index="74" /-->
<!--property name="mail" file="NS_Network.icl" index="71" /-->
</properties>
</toolbar>
</frmBrowser>
</PGMDefinition>
' | |
mit XML absolute Anpassung Teil 2 | | | Autor: ScheibeNet | Datum: 08.01.07 11:06 |
| Public Sub ProgrammeinstellungenLesen(cControls As Object)
'Funktion: Einlesen der Programmeinstellungen
'
'Knotenpunkte in der XML Datei
Dim ndForm As MSXML2.IXMLDOMNode
Dim ndFormProperty As MSXML2.IXMLDOMNode
Dim ndProperty As MSXML2.IXMLDOMNode
Dim ndControl As MSXML2.IXMLDOMNode
Dim ndProgrammEinstellungen As MSXML2.IXMLDOMNode
Dim ndLayout As MSXML2.IXMLDOMNode
Dim nCount As Long
'Hilfscontrol
Dim TempControl As Control
Dim c As Control
'Zähler für Anzahl der Controls einer Form
Dim iControlsZähler As Integer
'Eigenschaftsname eines Kontrolls
Dim sPropertyName As String
'Wertangabe der Eingenschaft
Dim sPropertyValue As String
'Default-Propertywert
Dim sPropertyDefault As String
'Enabled-PropertyWert
Dim sPropertyEnabled As String
'Index für Icons
Dim vntPropertyIconIndex As Variant
'Icon File
Dim sPropertyIconFile As String
6100 For Each ndForm In DokumentConfigLayoutXML.selectNodes("PGMDefinition/" _
& cControls.name)
'Einstellungen der Form setzen
6110 For Each ndProperty In ndForm.selectNodes("properties/property")
6120 If CheckXMLItem(ndProperty, "name") And CheckXMLItem( _
ndProperty, "value") Then
6130 sPropertyName = ndProperty.Attributes.getNamedItem( _
"name").Text
6140 sPropertyValue = ndProperty.Attributes.getNamedItem( _
"value").Text
6150 Err.Clear
6160 If sPropertyName <> "" And sPropertyValue <> "" Then
6170 On Error Resume Next
6180 CallByName cControls, sPropertyName, VbLet, _
sPropertyValue
6190 If Err.Number <> 0 Then
6200 If Not EigenschaftenZuweisen(cControls.name, _
sPropertyName, sPropertyValue, vbNullString) Then
6210 Debug.Print cControls.name; sPropertyName; _
sPropertyValue
6220 End If
6230 End If
6240 On Error GoTo 0
6250 On Error GoTo ErrHandler
6260 End If
6270 End If
6280 Next
'... usw....
Public Function EigenschaftenZuweisen(sForm As String, _
sPropertyName As String, _
sPropertyValue As Variant, _
Optional sControl As String) As Boolean
'Hilfsvariable für Boolenwerte
Dim bBool As Boolean
Dim sTempForm As String
10 On Error GoTo ErrHandler
'Werte zum vergleichen konvertieren
20 sPropertyName = LCase(sPropertyName)
30 sPropertyValue = LCase(sPropertyValue)
40 sTempForm = LCase(sForm)
50 sControl = LCase(sControl)
60 If sPropertyValue = "false" Or sPropertyValue = "falsch" Then
70 bBool = False
80 ElseIf sPropertyValue = "true" Or sPropertyValue = "wahr" Then
90 bBool = True
100 End If
'Auswahl nach form
110 If sControl = "" Then
120 Select Case sTempForm
Case "frmmain"
130 Select Case sPropertyName
Case "font.name"
140 frmMain.Font.name = sPropertyValue
150 Case "font.bold"
160 frmMain.Font.Bold = sPropertyValue
250 End Select
260 End Select
270 Else
280 Select Case sTempForm
'formular
Case "frmmain"
290 Select Case sControl
'Control
Case "xptaskbar"
300 Select Case sPropertyName
'property
Case "left"
'frmMain.xpTaskBar.Left = sPropertyValue
'Startbutton
310 Case "startbuttonfont.name"
'frmMain.xpTaskBar.StartButtonFont.Name =
' sPropertyValue
320 Case "startbuttonfont.bold"
'frmMain.xpTaskBar.StartButtonFont.Bold =
' bBool
'.
'usw... Gruss
Marco | |
Re: mit XML absolute Anpassung Teil 2 | | | Autor: Gateway | Datum: 08.01.07 14:52 |
| Das mit der xml-datei sieht gut aus.
Wo genau liegen die vorteile? den dafür müsste man ja erstma den aufbau einer solchen datei lernen(denk ich is nich so schwer,habs aber noch nicht probiert).
Wer Rechtschreibfehler findet kann sie behalten oder meinen Deutschlehrer verklagen.
In der Mitte von Schwierigkeiten liegen die M?glichkeiten. [Alber Einstein] | |
Re: mit XML absolute Anpassung Teil 2 | | | Autor: ScheibeNet | Datum: 08.01.07 15:10 |
| Hallo Gateway,
der Vorteil liegt daran, das eine xml wie eine / mehrere Tabelle(n) aufgebaut ist. Die Datei wird im Browser wie ein Treeview angezeigt. Dadurch behält man sehr leicht den Überblick. In einer Textdatei sich schnell zurechtzufinden ist nicht so einfach ...
Desweiteren kann man gezielt auf einen "Node" (siehe treeview) zugreifen.
Noch ein Tip bei grösseren Anwendungen:
Mein Produkt besteht aktuell aus 10 Programmen die Untereinander kommunizieren müssen.
Ein vorgeschaltetes Updateprogramm sorgt dafür, das die aktuellen Komponenten jeweils zur Verfügung stehen. Dieses Programm beinhaltet nur Microsoft-Controls, damit ich alle anderen Tools updaten kann. Dieses Updateprogramm startet ein Controllprogramm, das die weiteren Programme startet und auf unerwarte Probleme überwacht. Das Controllprogramm startet als ERSTES eine Activex.exe die eine Globale Instanz einer Klasse allen anderen Programmen dieselbe Klasseninstanz zur Verfügung stellt. Hierdurch ist es möglich, ein Layout-Wechsel per RaiseEvent den einzelnen Programme mitzuteilen. Auch Programmtexte stehen so zentral zur Verfügung und was sonst noch so benötigt wird
Bei Fragen einfach FRAGEN, helfe gerne weiter und keine Sorge: Blöde Fragen gibt es nicht...
Gruss
Marco | |
Re: mit XML absolute Anpassung Teil 2 | | | Autor: Gateway | Datum: 08.01.07 18:17 |
| Mich interresiert die methode mit dem kontrol programm und der activeX-exe.
Da das aber nix mehr mit dem thema zu tun hab, schlag ich vor das zu verlegen?
Wäre das recht und wenn ja wohin^^?
Wer Rechtschreibfehler findet kann sie behalten oder meinen Deutschlehrer verklagen.
In der Mitte von Schwierigkeiten liegen die M?glichkeiten. [Alber Einstein] | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevAniGif (VB/VBA)
Anzeigen von animierten GIF-Dateien
Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. Weitere InfosTipp des Monats März 2024 Dieter OtterUTF-8 Konvertierung von Dateien und StringsVB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|