ABOUT Visual Basic Programmieren Programmierung Download Downloads Tips & Tricks Tipps & Tricks Know-How Praxis VB VBA Visual Basic for Applications VBS VBScript Scripting Windows ActiveX COM OLE API ComputerPC Microsoft Office Microsoft Office 97 Office 2000 Access Word Winword Excel Outlook Addins ASP Active Server Pages COMAddIns ActiveX-Controls OCX UserControl UserDocument Komponenten DLL EXE
Diese Seite wurde zuletzt aktualisiert am 13.01.2000

Diese Seite wurde zuletzt aktualisiert am 13.01.2000
Aktuell im ABOUT Visual Basic-MagazinGrundlagenwissen und TechnologienKnow How, Tipps und Tricks rund um Visual BasicActiveX-Komponenten, Controls, Klassen und mehr...AddIns für die Visual Basic-IDE und die VBA-IDEVBA-Programmierung in MS-Office und anderen AnwendungenScripting-Praxis für den Windows Scripting Host und das Scripting-ControlTools, Komponenten und Dienstleistungen des MarktesRessourcen für Programmierer (Bücher, Job-Börse)Dies&Das...

Themen und Stichwörter im ABOUT Visual Basic-Magazin
Code, Beispiele, Komponenten, Tools im Überblick, Shareware, Freeware
Ihre Service-Seite, Termine, Job-Börse
Melden Sie sich an, um in den vollen Genuss des ABOUT Visual Basic-Magazins zu kommen!
Informationen zum ABOUT Visual Basic-Magazin, Kontakt und Impressum

Zurück...

Zurück...


Anzeige

(-hg) mailto:hg_setrect@aboutvb.de

Sind Sie genauso bequemlich wie ich? Dann freuen Sie sich wahrscheinlich ebenso wie ich über jeden Tipp, der Ihnen Tipparbeit beim Programmieren erspart. Die benutzerdefinierte Variable MSDN Library - API RECTRECT kennen Sie sicher, wenn Sie häufiger API-Funktionen einsetzen:

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

Die Tipparbeit besteht hierbei sehr oft darin, allen vier Elementen Werte zuzuweisen.

Dim nRect As RECT

nRect.Left = WertLeft
nRect.Top = WertTop
nRect.Right = WertRight
nRect.Bottom = WertBottom

Die erste Vereinfachung besteht darin, das With...End With-Konstrukt zu verwenden:

Dim nRect As RECT

With nRect
  .Left = WertLeft
  .Top = WertTop
  .Right = WertRight
  .Bottom = WertBottom
End With

Aber so richtig flott geht das doch immer noch nicht von der Hand, oder? Außerdem kann ja schon eine andere Variable (auch eine so eine benutzerdefinierte Variable oder eine Objekt-Variable) mit With...End With in Gebrauch sein. Greifen wir nun wieder in die API-Kiste und fördern daraus die Funktion MSDN Library - API SetRectSetRect zu Tage.

Private Declare Sub SetRect Lib "user32" (Rect As RECT, _
 ByVal Left As Long, ByVal Top As Long, ByVal Right As Long, _
 ByVal Bottom As Long)

Der Aufruf zur Werteübergabe wird nun noch einfacher:

Dim nRect As RECT

SetRect nRect, WertLeft, WertTop, WertBottom, WertRight

Wenn nicht alle Elemente zu setzen sind, übergeben Sie einfach 0 - zum Beispiel:

Dim nRect As RECT

SetRect nRect, WertLeft, 0, WertBottom, WertRight

Leider kennt das API keine optionalen Parameter - aber Visual Basic kennt sie und liefert automatisch den Wert 0, wenn ein optionaler Parameter weggelassen worden ist. Verstecken wir also den API-Aufruf hinter einer VB-Prozedur gleichen Namens. Damit es keinen Namenskonflikt gibt, müssen wir die API-Funktion in ihrer Deklaration umtaufen, etwa in SetRectAPI, und den Original-Namen als Alias angeben:

Private Declare Sub SetRectAPI Lib "user32" Alias "SetRect" _
 (lpRect As Rect, ByVal Left As Long, ByVal Top As Long, _
 ByVal Right As Long, ByVal Bottom As Long)
 
Public Sub SetRect(Rect As Rect, Optional ByVal Left As Long, _
 Optional ByVal Top As Long, Optional ByVal Right As Long, _
 Optional ByVal Bottom As Long)

  SetRectAPI Rect, Left, Top, Right, Bottom
End Sub

Abgesehen davon, dass Sie noch den Namen der Prozedur und der Variablen für die Werte bis zur einbuchstabigen Unlesbarkeit verkürzen könnten, geht es wohl nicht mehr kürzer:

Dim nRect As RECT

SetRect Rect, , WertTop, , WertBottom

Ach, was wäre das Programmiererleben doch arg eintönig, wenn Sie und ich uns nicht tagtäglich solche schönen Arbeitserleichterungen einfallen lassen könnten, nicht wahr?


Modul modSetRect (modSetRect.bas - ca. 0,8 KB)






Themen - Allgemeines
Themen - Entwicklungsumgebung (VB-IDE)
Themen - Forms
Themen - Steuerelemente (Controls)
Themen - Grafik
Themen - Dateien
Themen - UserControls
Themen - Einsteiger-Tipps
Themen - Wussten Sie...?

Übersicht nach Titeln in alphabetischer Reihenfolge
Übersicht nach Erscheinungsdatum

Schnellsuche



Zum Seitenanfang

Copyright © 1999 - 2017 Harald M. Genauck, ip-pro gmbh  /  Impressum

Zum Seitenanfang

Zurück...

Zurück...

Download Internet Explorer