vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB & Windows API
Re: Schriftweite in Controls ändern 
Autor: ModeratorMartoeng (Moderator)
Datum: 15.11.04 19:20

Die haben doch auch eine hWnd-Eigenschaft. Einfach den DC mittels GetDC bestimmen und dann die Funktion anwenden und danach mit ReleaseDC wieder den DC freigeben.


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Schriftweite in Controls ändern 
Autor: xmurrix
Datum: 13.11.04 19:04

hallo zusammen,

ich suche vergebens nach einer möglichkeit, die schriftweite in verschiedenen controls zu ändern. hatte leider keinen großen erfolg und hoffe, dass mir hier jemand einen tip geben kann...

mittels folgendem code ist es möglich, die schriftweite innerhalb eines formulars zu ändern:
SetTextCharacterExtra frmXY.hDC, 5
frmXY.Refresh
aber dies wirkt sich nur auf die schriftweite eines label-controls aus, und sowas in der art brauche ich auch für combobox, textbox, usw.

gibt es da eine möglichkeit, die ich auch für die andren controls verwenden kann?

grüße
xmurrix
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Schriftweite in Controls ändern 
Autor: xmurrix
Datum: 16.11.04 08:23

morgen martoeng,

danke für den hinweis...

diese möglichkeit habe ich auch schon mit folgendem code ohne erfolg ausprobiert:
Private Sub ChangeFontWidth(ByRef oControl As Object)
  Dim sBuff As String
  Dim lhDC  As Long
  Dim lRet  As Long
 
  sBuff = Space(200)
  lhDC = GetDC(oControl.hwnd)
  lRet = SetTextCharacterExtra(lhDC, mSpace) 'mSpace = 3
  lRet = ReleaseDC(oControl.hwnd, lhDC)
  oControl.Refresh
 
  FormatMessage FORMAT_MESSAGE_FROM_SYSTEM, ByVal 0&, GetLastError, _
    LANG_NEUTRAL, sBuff, 200, ByVal 0&
  Debug.Print sBuff
End Sub
die schriftweite von einer textbox oder combobox wird nicht geändert und "GetLastError()" liefert keine fehlermeldung. irgendwie habe ich das gefühl, dass sich die funktion "SetTextCharacterExtra()" nur auf formular-/ und label-objekte auswirkt...

gruß
xmurrix
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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-2024 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