Andere Formen

Dario Linsky

Erfahrenes Mitglied
wie homer schon gesagt hat, sind api-funktionen eigentlich immer die
einzige möglichkeit, systemnah zu programmieren. mit 1000 funktionen
liegt er nur etwas daneben - inzwischen sind es schon ca. 20000 bis
30000. :eek:
diese funktionen kann man in jeder programmiersprache verwenden. z.b.
ist die msgbox-funktion auch eigentlich nichts anderes als eine api-
funktion.

die scalemode-eigenschaft findest du im eigenschaften-fenster von dem
formular. normalerweise ist die auf twips eingestellt, aber pixel
sind besser. ich bin mir auch ziemlich sicher, dass man bei solchen
api-funktionen pixel übergeben muss.

den api-viewer findet man normalerweise im startmenü unter
programme/visual basic/tools (oder irgendwie so). aber es gibt ja eh
besseres.
 

Daniel Toplak

Erfahrenes Mitglied
mit 1000 funktionen
liegt er nur etwas daneben - inzwischen sind es schon ca. 20000 bis
30000.
Naja dann lag ich ja net soweit daneben :) :) :)

Allerdings bringt die ScaleMode-Eigenschaft nicht viel wenn man mit dem Formular rumbastelt, denn laut Zitat von MSDN:
Gibt die Maßeinheiten des Koordinatensystems eines Objekts bei der Verwendung vonGrafikmethoden oder beim Positionieren von Steuerelementen zurück oder legt die Maßeinheiten fest.
Das ganze hat dann nur Auswirkung auf die darin befindlichen Steuerelemente.

Gruss Homer
 

Dario Linsky

Erfahrenes Mitglied
öhm. aber form1.height ist doch eine angabe in twips und nicht in pixel. also wird bei form1.height der funktion doch eine falsche zahl übergeben, oder?

ich meine, die api arbeitet doch mit pixeln und kann mit twips nichts anfangen.
 

Daniel Toplak

Erfahrenes Mitglied
öhm. aber form1.height ist doch eine angabe in twips und nicht in pixel. also wird bei form1.height der funktion doch eine falsche zahl übergeben, oder?
Das ist schon richtig nur ändert die Eigenschaft Scalemode des Formulars nichts an den angaben der Größen- und Positionseigenschaften des Formulars.
Wie in der MSDN geschrieben und von mir zitiert, legt es nur das Koordinatensystem für das Formular fest. Das heißt alle darin liegenden steuerelemente haben dann als Koordinatensystem Pixel, aber das Formular selber immer noch nicht. Abhilfe schaffen da die beiden Eigenschaften:
- Screen.TwipsPerPixelX
- Screen.TwipsPerPixelY
damit lässt sich problemlos umrechnen.

Zum Test versuch mal das:
Code:
MsgBox Me.Height
Me.ScaleMode = 3
MsgBox Me.Height
ich meine, die api arbeitet doch mit pixeln und kann mit twips nichts anfangen.
Das ist absolut richtig, mit Twips würde da auch einiges schief gehen. *g*

Gruss Homer
 

Dario Linsky

Erfahrenes Mitglied
Original geschrieben von homer

Zum Test versuch mal das:
Code:
MsgBox Me.Height
Me.ScaleMode = 3
MsgBox Me.Height

zum test versuch mal das:
Code:
MsgBox Me.ScaleHeight
Me.ScaleMode = 3 '3 = Pixel
MsgBox Me.ScaleHeight

:p

naja, egal. gute nacht.