- ベストアンサー
LabelのBorderColor
VB.NETでWindowsMobile5.0の開発をしてます。 ラベルにテキストボックスっぽく黒枠をつけることは可能でしょうか? ご教授のほど何卒よろしくお願い申し上げます。
- みんなの回答 (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)
その他の回答 (1)
- redfox63
- ベストアンサー率71% (1325/1856)
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) といった具合です
お礼
いつもお世話になります。 CoredllはCore.dllではないでしょうか? 下記の第一引数がエラーになります。 dim dwSts as Integr = GetWindowLong( Label1, GWL_STYLE) 下記のdwSts 、SetWindowLongの部分は宣言が必要ですとなります。 dwSts += WS_BORDER SetWindowLong( Label1, GWL_STYLE, dwSts) エラーの回避方法を教えて下さい。
お礼
回答ありがとうございます。 下記のように修正しましたが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)
補足
うまく出来ました。 誠にありがとうございます。助かりました。