vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ActiveX-Programmierung
Re: eigenes Kombinationsfeld 
Autor: Mirek
Datum: 14.04.05 17:57

Hi, anbei ein Quellcode für die Lösung....


in ein Modul
------------------

Option Explicit


Public Declare Function GetCursorPos Lib "user32" _
(lpPoint As POINTAPI) As Long

Public Declare Function GetWindowRect Lib "user32" ( _
ByVal hWnd As Long, _
lpRect As RECT) As Long

Public Declare Function ClientToScreen Lib "user32" ( _
ByVal hWnd As Long, _
lpPoint As POINTAPI) As Long

Private Declare Function SetWindowPos Lib "user32" _
(ByVal hWnd As Long, _
ByVal hWndInsertAfter As Long, ByVal X As Long, _
ByVal Y As Long, ByVal cx As Long, _
ByVal cy As Long, ByVal wFlags As Long) As Long

Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1

Public Type POINTAPI
X As Long
Y As Long
End Type

Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Public Sub SetFormPos(ByVal pObjekt As Object, pForm As Form)
On Error GoTo Error
Dim P As POINTAPI
Dim r As RECT

GetWindowRect pObjekt.hWnd, r
ClientToScreen pObjekt.hWnd, P
pForm.form_open P.X * Screen.TwipsPerPixelX - 30, (P.Y + (r.Bottom - r.Top + 3)) * Screen.TwipsPerPixelY
Ex:
Exit Sub
Error:
Resume Ex
End Sub


' Fenster in den Vordergrund setzen
Public Sub FormOnTop(ByVal hWnd As Long, _
ByVal OnTop As Boolean)

If OnTop Then
' immer im Vordergrund
SetWindowPos hWnd, HWND_TOPMOST, 0, 0, 0, 0, _
SWP_NOMOVE Or SWP_NOSIZE
Else
' normal
SetWindowPos hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, _
SWP_NOMOVE Or SWP_NOSIZE
End If
End Sub


ins Usercontrol:
-----------------------

SetFormPos Textbox, Form
Form.show...

in die zu öffnende Form:
---------------------------------

Public Sub form_open(Left As Long, Top As Long)
On Error GoTo Error
Me.Left = Left
Me.Top = Top
Ex:
Exit Sub
Error:
Resume Ex
End Sub

und dann mußt du das geöffnete Fenster noch OnTop setzen und einige
Feinabeiten integrieren...

PS: ich hoffe das ich helfen konnte!!!1

mfg
Mirek
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
eigenes Kombinationsfeld1.630Brandy08.03.05 11:09
Re: eigenes Kombinationsfeld1.051jens5208.03.05 21:59
Re: eigenes Kombinationsfeld956Brandy09.03.05 12:17
Re: eigenes Kombinationsfeld995jens5209.03.05 14:00
Re: eigenes Kombinationsfeld903Brandy10.03.05 17:24
Re: eigenes Kombinationsfeld857jens5210.03.05 22:09
Re: eigenes Kombinationsfeld815Brandy14.03.05 10:58
Re: eigenes Kombinationsfeld875jens5214.03.05 11:48
Re: eigenes Kombinationsfeld989Mirek14.04.05 17:57
Re: eigenes Kombinationsfeld926Brandy17.04.05 20:50

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel