VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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う 広島の後ろの・は半角(?)らしい(?)

よろしくお願いいたします。
   


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -