Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
300to304
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
300to304
300to304
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

UF mit eigenem Aussehen bzw. Skin???

UF mit eigenem Aussehen bzw. Skin???
28.08.2003 14:39:06
ThomasJ
Hallo Forum,

gibt es eine Möglichkeit eine UF zu erstellen, die ein ganz individuelles aussehen hat, d.h. nicht nur rechteckig, sondern z.B. rund, oval, etc???

Geht das vielleicht mit VB (ohne A)?

Wie geht so etwas?

Gruß
Thomas

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UF mit eigenem Aussehen bzw. Skin???
28.08.2003 14:41:38
Hajo
Hallo Thomas

selbstverständlich geht so was in VBA und ich vermute mal dann auch in VB. Hast Du Dir aber da nicht ein wenig viel vorgenommen mit "VBA nein"

Gruß Hajo
AW: UF mit eigenem Aussehen bzw. Skin???
28.08.2003 14:50:18
Nayus
Hallo Hajo,
'ne runde Userform mit VBA?
Mach' mal vor - will ich sehen!
Gruß,
Nayus
AW: UF mit eigenem Aussehen bzw. Skin???
28.08.2003 15:01:24
ThomasJ
Hallo Hajo und Nayus!

Bin zwar Anfänger, lerne aber schnell und gern.

Wenn es aber zu kompliziert ist - also APi, etc. dann lass ich das natürlich (vorerst) mal. War ja nur ne Frage.

Hatte vor, eine Kennzeichenabfrage zu machen:

UF sieht aus wie ein Kfz-Kennzeichen, der User trägt das Kennz. ein und erfährt, wer das Auto wann gefahren hat (Firmenfahrzeuge). So als Gimmick halt...

Aber irgendwann werd ich das bestimmt auch noch lernen.

Vielen Dank (erstmal)

Gruß
Thomas
Anzeige
AW: UF mit eigenem Aussehen bzw. Skin???
28.08.2003 15:09:07
Michael Scheffler
Hi,

das kriegst Du auch mit Bordmitteln hin.

Gruß

Micha
AW: UF mit eigenem Aussehen bzw. Skin???
28.08.2003 15:15:04
ThomasJ
Hi Micha!

Wenn Du damit meinst, dass es auch funzt wenn ich die normale UF nehme, vielleicht ein Kennz. als Hintergrund mit durchsichtigen textboxes, etc. dann sieht es so ähnlich aus wie ein Kennz. (in meinem Fall).

Aber halt nur "so ähnlich". Ich dachte, man könnte solche Sachen auch mit wenig Aufwand bewerkstelligen und so perfekt machen!

Im WindowsMediaPlayer (oder irgend so ein anderer) kann man andere Skins einbinden, und zwar so, dass die gesamte Oberfläche z.B. rund wird.

Gruß
Thomas
Anzeige
AW: UF mit eigenem Aussehen bzw. Skin???
28.08.2003 15:48:37
Michael Scheffler
Hi,

schnapp Dir eine Digitalkamera, fotografiere ein Kennzeichen - nimm das als Hintegrund und dann kannst Du ja an den Stellen, wo Eingaben abgefragt werden,
Textboxen setzen, die kannst Du auch entsprechend der Schrift im Kennzeichen formatieren.

Und ganz am Ende nimmst Du eines der Tools aus dem Netz, um die obere Leiste der UserForm auszublenden - fertsch!

Gruß

Micha
AW: UF mit eigenem Aussehen bzw. Skin???
28.08.2003 15:01:35
Michael Scheffler
Hi,

mit API könnte es gehen, aber wozu?

Gruß

Micha
AW: UF mit eigenem Aussehen bzw. Skin???
28.08.2003 15:05:35
Hajo_Zi
Hallo Nayus

da mußt Du mal warten bis ich an meinem Homecomputer bin. (ca. 17:00 Uhr)

Gruß Hajo
Anzeige
hajo, wir warten alle gespannt oT
28.08.2003 15:14:04
joel
AW: hajo, wir warten alle gespannt oT
28.08.2003 16:49:24
Hajo_Zi
Hallo joel

GraFri hat ja schon dazu geantwortet

https://www.herber.de/forum/messages/301549.html

hier noch eine andere Variante

Option Explicit

Private Declare Function CreateRoundRectRgn Lib "gdi32" _
(ByVal X1 As Long, ByVal Y1 As Long, _
ByVal X2 As Long, ByVal Y2 As Long, _
ByVal X3 As Long, ByVal Y3 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" _
(ByVal hWnd As Long, ByVal hRgn As Long, _
ByVal bRedraw As Boolean) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long


Private Sub CommandButton1_Click()
Me.Hide
End Sub



Private Sub UserForm_Activate()
Dim x As Long, y As Long, n As Long, mWnd As Long
x = Me.Width
y = Me.Height
n = 1000
mWnd = FindWindow(vbNullString, Me.Name)
SetWindowRgn mWnd, CreateRoundRectRgn(0, 0, x, y, n, n), True
End Sub

'Je mehr die Userform einem Quadrat entspricht, desto kreisförmiger.
'Außerdem kann mit dem Faktor in der Variablen "n" die Krümmung beeinflusst werden.
'von Nepumuk
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.
Anzeige
AW: UF mit eigenem Aussehen bzw. Skin???
28.08.2003 14:49:01
GerdW
Schau mal bei www.allapi.net vorbei.

Gerd
AW: UF mit eigenem Aussehen bzw. Skin???
28.08.2003 15:03:56
Hajo
Hallo Thomas

selbstverständlich geht so was in VBA und ich vermute mal dann auch in VB. Hast Du Dir aber da nicht ein wenig viel vorgenommen mit "VBA nein"

Gruß Hajo
AW: UF mit eigenem Aussehen bzw. Skin???
28.08.2003 15:27:47
GraFri
Hallo



COLOR=#008000>' Gefunden unter: https://www.herber.de/forum/archiv/188to192/t190287.htm

Option Explicit
Private Declare Function CreateRoundRectRgn Lib "gdi32" _
(ByVal X1 As LongByVal Y1 As Long, _
ByVal X2 As LongByVal Y2 As Long, _
ByVal X3 As LongByVal Y3 As LongAs Long

Private Declare Function SetWindowRgn Lib "user32" _
(ByVal hWnd As LongByVal hRgn As Long, _
ByVal bRedraw As BooleanAs Long

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As StringByVal lpWindowName As StringAs Long

'CommandButton auf der Form plazieren, da das 'x' zum schließen
'nicht mehr angezeigt wird.
Private Sub cmdEnde_Click()
    Unload Me
End Sub

Private Sub UserForm_Initialize()
'Größe der Userform
    Me.Width = 350: Me.Height = 350
    
'Position des CommandButton zum Abbrechen
    cmdEnde.Left = (Me.Width - cmdEnde.Width) / 3
    cmdEnde.Top = Me.Height * 0.6
    
End Sub

Private Sub UserForm_Activate()
    Dim As Long, y As Long, n As Long, mWnd As Long
    x = Me.Width
    y = Me.Height
    n = 4000        'bei kleinem Wert nur abgerundete Ecken
    mWnd = FindWindow(vbNullString, Me.Name)
    SetWindowRgn mWnd, CreateRoundRectRgn(0, 0, x, y, n, n), True
End Sub


     Code eingefügt mit Syntaxhighlighter 2.4


mfg, GraFri
Anzeige
AW: UF mit eigenem Aussehen bzw. Skin???
28.08.2003 15:37:19
ThomasJ
Seht Ihr.... ;-))

Genau so etwas meinte ich (und auch noch mehr).
Ist doch halb so wild, der code, oder?
Zum Verständnis müsste man (ich) nur noch wissen, was die ganzen Xe und Ye und.. bedeuten!
Ansonsten begreift man das doch auch mit wenig VBA-Erfahrung.

Schwieriger wird es dann wahrscheinlich, wenn man eigene Formen machen möchte (z.B. die Umrisse eines Staates, oder Tier, oder was auch immer...).
Ich denke, dann muss man das auch mit API machen.

Aber immerhin haben jetzt einige von uns was dazugelernt! ;-)

Gruß
Thomas
AW: UF mit eigenem Aussehen bzw. Skin???
28.08.2003 15:48:38
Nayus
Hallo,
klar, mit dem API kann man die wildesten Sachen machen, aber eben nicht mit VBA-Hausmitteln. Das war m. E. die Frage.
Ein Kennzeichen, das wirklich echt aussieht kann meiner Meinung nach nur aus Bildchen
zusammengsetzt werden - die brauchst Du dann erst einmal. Und dann die Ecken des Fensters noch mit API-Mitteln abrunden usw.
Oder fotografiere doch einfach alle Kennzeichen der Firmenautos mit 'ner Digikamera und
fülle eine Imagebox in Abhängigkeit irgendwelcher Zellinhalte. Das sieht dann wirklich echt aus.

Gruß,
Nayus
Anzeige
AW: UF mit eigenem Aussehen bzw. Skin???
28.08.2003 16:12:51
Michael Scheffler
Hi,

das war ja mein Vorschlag, das geht auch mit Bodrdmitteln - nur zum Beschneiden der Leiste braucht man API.

Gruß

Micha
AW: UF mit eigenem Aussehen bzw. Skin???
28.08.2003 15:21:08
K.Rola
Hallo,

dazu brauchst du diese drei API- Funktionen:

Private Declare Function CreateRoundRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Gruß K.Rola
Anzeige
AW: UF mit eigenem Aussehen bzw. Skin???
28.08.2003 18:30:53
Hans W. Hofmann
Ich würde mich zu diesem Zweck mal mit dem Assistenten
(Karl Klammer) beschäftigen. Damit lässt sich schon viel machen.

Für Hardcore-Zwecke wäre auch der Office Agent 2.0 brauchbar incl.
Sprachausgabe. Such mal im Netz, es gibt dutzende von Applicationen
dazu. Ein Character ist aber net einfach zu erzeugen...
Gruß HW

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige