掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
emfファイルのフォントサイズ変更 (ID:101689)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
K.J.K.様 お世話になります。 > EMREXTTEXTOUT.emrtext.rcl や EXTLOGFONT.elfLogFont.lfWidth の値などを > 換えてみるとどうなりますか? EMREXTTEXTOUT.emrtext.rclは Debug.Print .Left, .Top, .Right, .Bottom で全て 0 , 0 , -1 , -1 のみ返します。 EXTLOGFONT.elfLogFont.lfWidth はフォント自体(1文字?)の幅でしょうか? → 値は 0 となっています。省略値? 個人的には、何か上位オブジェクトの矩形領域などを参照している気がします。 ⇒あまり関係ないでしょうが、下記のDrawTextでソースの雰囲気からです。 http://www.f3.dion.ne.jp/~element/msaccess/clgdiplusdoc.html#VI-F Public Function DrawText(pText As String, pSize As Long, Optional pFontName As String, _ Optional pX1 As Long, Optional pY1 As Long, Optional pX2 As Long = -1, Optional pY2 As Long = -1, _ Optional pAlignHoriz As Long = 1, Optional pAlignVert As Long = 1, _ Optional pPenColor As Long = 0, Optional pPenAlpha As Integer = 255, _ Optional pBackColor As Long = -1, Optional pBackAlpha As Integer = 255, _ Optional pItalic As Boolean, Optional pBold As Boolean, _ Optional pUnderline As Boolean, Optional pStrikeout As Boolean, _ Optional pAntialiase As Boolean = False, Optional pOnlyGetSize As Boolean = False) As Boolean ' Conversion si controle de reference If Not gCtrlRef Is Nothing Then pX1 = CtrlToImgX(pX1, gCtrlRef, True) pY1 = CtrlToImgY(pY1, gCtrlRef, True) pX2 = CtrlToImgX(pX2, gCtrlRef, True) pY2 = CtrlToImgY(pY2, gCtrlRef, True) End If DrawText = PrivDrawText(pText, pSize, pFontName, pX1, pY1, pX2, pY2, _ pAlignHoriz, pAlignVert, pPenColor, pPenAlpha, pBackColor, pBackAlpha, _ pItalic, pBold, pUnderline, pStrikeout, pAntialiase, pOnlyGetSize) End Function Private Function PrivDrawText(pText As String, pSize As Long, Optional ByVal pFontName As String, _ Optional pX1 As Long, Optional pY1 As Long, Optional pX2 As Long = -1, Optional pY2 As Long = -1, _ Optional ByVal pAlignHoriz As Long = 1, Optional ByVal pAlignVert As Long = 1, _ Optional pPenColor As Long = 0, Optional pPenAlpha As Integer = 255, _ Optional pBackColor As Long = -1, Optional pBackAlpha As Integer = 255, _ Optional pItalic As Boolean, Optional pBold As Boolean, _ Optional pUnderline As Boolean, Optional pStrikeout As Boolean, _ Optional pAntialiase As Boolean = False, Optional pOnlyGetSize As Boolean = False, _ Optional pImage As String = "") As Boolean Dim lGraphics As Long Dim lFontFamily As Long, lFont As Long Dim lTextBrush As Long, lBackBrush As Long Dim lTextRect As RECTF Dim lCalcRect As RECTF Dim lStrFormat As Long Dim lBitmap As Long Dim lwidth As Single, lheight As Single Dim lCenter As Boolean Dim lStyle As Long On Error GoTo gestion_erreurs If pImage = "" Then ConvertTo32Bits gBitmapWork lBitmap = gBitmapWork Else lBitmap = gImgList(pImage) End If ' Rectangle de positionnement du texte ' Dimensions de l'image GdipGetImageDimension lBitmap, lwidth, lheight If pX2 = -1 And pY2 = -1 Then lCenter = True End If If pX2 = -1 Then pX2 = lwidth If pY2 = -1 Then pY2 = lheight lTextRect.Left = pX1 lTextRect.Top = pY1 lTextRect.Right = pX2 - pX1 lTextRect.Bottom = pY2 - pY1 以下省略します。 よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.