tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
影付き文字・中抜き文字・縁取り文字等を作成(VB6.0) ( No.0 )  [親スレッドへ]
日時: 2010/03/27 00:51
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[フォント][描画・画像]                                     *
* キーワード:ボタン,ラベル,テキスト,影付き文字,縁取り,中抜き,凹み文字,凸型の文字 *
***********************************************************************************

投 稿 者 : 花ちゃん

ボタン等のテキストを影付き文字等色々なスタイルで表示(VB.NET) で作成したついでに
VB6.0 でも作って見ました。
Win32 API 関数を使用すれば、複雑にはなるのですが、.NET で作成したようなものも作れ
( http://hanatyan.sakura.ne.jp/logbbs1/wforum.cgi?mode=allread&no=2016&page=0#2016 )
( http://homepage1.nifty.com/MADIA/vb/vb_bbs2/200611/200611_06110045.html )
るのですが、今回は、VB6.0 の標準の機能だけで作って見ました。

Command ボタンの表面に表示するには、逆引きヘルプの[Command ボタンの装飾]のように
する必要がありますが。
--------------------------------------------------------------------------------
Option Explicit

Private Sub Command1_Click()
   Call DecorationCharacter(Picture1, 12, 12, vb3DShadow, 10, 10, vbBlue, "影付き文字")
  
   Call DecorationCharacter(Picture1, 11, 50, vbRed, 9, 50, vbRed, "中抜き文字")
   Call DecorationCharacter(Picture1, 10, 49, vbRed, 10, 51, vbRed, "中抜き文字")
   Call DecorationCharacter(Picture1, 10, 50, Picture1.BackColor, _
                                      10, 50, Picture1.BackColor, "中抜き文字")

   Call DecorationCharacter(Picture1, 11, 90, vbBlue, 9, 90, vbBlue, "縁取り文字")
   Call DecorationCharacter(Picture1, 10, 89, vbBlue, 10, 91, vbBlue, "縁取り文字")
   Call DecorationCharacter(Picture1, 10, 90, vbRed, 10, 90, vbRed, "縁取り文字")

   Call DecorationCharacter(Picture1, 12, 132, vb3DHighlight, 10, 130, vb3DShadow, "凹む文字?")
   Call DecorationCharacter(Picture1, 12, 172, vb3DShadow, 10, 170, vb3DHighlight, "凸む文字?")
End Sub

Private Sub DecorationCharacter(ByVal Pic As PictureBox, _
            ByVal x1 As Integer, ByVal y1 As Integer, ByVal FC1 As Long, _
            ByVal x2 As Integer, ByVal y2 As Integer, ByVal FC2 As Long, _
            ByVal PriString As String)
   With Picture1
'      .Cls
      .CurrentX = x1
      .CurrentY = y1
      .ForeColor = FC1
      Picture1.Print PriString
      .CurrentX = x2
      .CurrentY = y2
      .ForeColor = FC2
      Picture1.Print PriString
   End With
End Sub

Private Sub Form_Load()
   With Picture1
      .Cls
  '    .BackColor = vbWhite
      .ScaleMode = vbPixels
      .AutoRedraw = True
      .FontSize = 24
      .FontBold = True
      .FontName = "MS ゴシック"
   End With
End Sub

 上記プログラムの実行図(画像をクリックすると元のサイズで見られます。)



 [スレッド一覧へ] [親スレッドへ]