• ベストアンサー

LabelのBorderColor

VB.NETでWindowsMobile5.0の開発をしてます。 ラベルにテキストボックスっぽく黒枠をつけることは可能でしょうか? ご教授のほど何卒よろしくお願い申し上げます。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

『coredll.dll』であっていると思いますよ ・・・ ちょっと自信ないですが Label1,は Label1.Handle,に修正してください ' 『.Handle』を追加 dim dwSts as Integr = GetWindowLong( Label1.Handle, GWL_STYLE) dwSts += WS_BORDER ' 『.Handle』を追加 SetWindowLong( Label1.Handle, GWL_STYLE, dwSts)

glee_sss
質問者

お礼

回答ありがとうございます。 下記のように修正しましたがdwSts、SetWindowLongは変わらず 「宣言が必要です」となります。 Declare Function GetWindowLong Lib "Coredll.dll" (ByVal hWnd As IntPtr, ByVal nIndex As Integer) As Integer Declare Function SetWindowLong Lib "Coredll.dll" (ByVal hWnd As IntPtr, ByVal nIndex As Integer, ByVal nValue As Integer) As Integer Const GWL_STYLE = -16 Const WS_BORDER = &H800000 Dim dwSts As Integer = GetWindowLong(Label1.Handle, GWL_STYLE) dwSts += WS_BORDER SetWindowLong( Label1.Handle, GWL_STYLE, dwSts)

glee_sss
質問者

補足

うまく出来ました。 誠にありがとうございます。助かりました。

その他の回答 (1)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

SetWindowLong/GetWindowLongで WS_BORDERを設定すればいいように思います declare Function GetWindowLong Lib "Coredll" _ (ByVal hWnd as IntPtr, ByVal nIndex as Integer) as Integer declare Function SetWindowLong Lib "Coredll" _ (ByVal hWnd as IntPtr, ByVal nIndex as Integer, ByVal nValue) as Integer Const GWL_STYLE = -16 Const WS_BORDER = &H800000 といった APIを定義して dim dwSts as Integr = GetWindowLong( Label,Handle, GWL_STYLE) dwSts += WS_BORDER SetWindowLong( Label.Handle, GWL_STYLE, dwSts) といった具合です

glee_sss
質問者

お礼

いつもお世話になります。 CoredllはCore.dllではないでしょうか? 下記の第一引数がエラーになります。 dim dwSts as Integr = GetWindowLong( Label1, GWL_STYLE) 下記のdwSts 、SetWindowLongの部分は宣言が必要ですとなります。 dwSts += WS_BORDER SetWindowLong( Label1, GWL_STYLE, dwSts) エラーの回避方法を教えて下さい。

関連するQ&A