投稿日 | : 2003/12/22(Mon) 10:54 |
投稿者 | : おじん |
URL | : |
タイトル | : TextOut関数の使い方 |
1バイト系、2バイト系が混在しているときうまく表示されない。
以下、そのソースです。どこがまちがっているのでしょうか?
Private Declare Function TextOut Lib "gdi32" _
Alias "TextOutA" ( _
ByVal hdc As Long, _
ByVal x As Long, ByVal y As Long, _
ByVal lpString As String, _
ByVal nCount As Long) As Long
Private Sub Command1_Click()
Dim ST$
St = "123う 広島" ' <---------------------------------
'St = "広島" '<------------------------------------------
Picture1.FontSize = 60
Picture1.Cls
Picture1.ForeColor = vbBlack
TextOut Picture1.hdc, 10, 10, St, LenB(St)'<----------------
Picture1.Refresh
End Sub
結果:「123う 広島」「Len(st)..7」の場合、「123う・」
「123う 広島」「LenB(st)..14」の場合、「123う 広島・」
「広島」「Len(st)..2」の場合、「広」
「広島」「LenB(st)..4」の場合、「広島」
..7はLen関数の値。123う 広島の後ろの・は半角(?)らしい(?)
よろしくお願いいたします。