コード上でBorderStyleを変更するには?

解決


Engle  2008-04-24 01:14:04  No: 100615  IP: 192.*.*.*

VB6.0で開発しています。

プロパティからではなく、コード上でFormのBorderStyleを変更したいのですが、どうしたら良ろしいでしょうか?

    If flag = True Then
        タイトルバーなしのForm
    Else
        タイトルバーありのForm
    End If

の様な感じで使いたいです。

編集 削除
通ってみた  2008-04-24 03:46:06  No: 100616  IP: 192.*.*.*

タイトルバーの着脱であればAPIを使うのが一般的かと思います

編集 削除
matsu  2008-04-24 09:49:42  No: 100617  IP: 192.*.*.*

>プロパティからではなく、コード上でFormのBorderStyleを変更したいのですが、どうしたら良ろしいでしょうか?

Captionの値を変更する必要がありますが、BorderStyleプロパティで変更できます。
If flag = True Then
    Me.BorderStyle = 0
    Me.Caption = ""
Else
    Me.BorderStyle = 2
    Me.Caption = " "
End If

編集 削除
特攻隊長まるるう  2008-04-24 10:05:46  No: 100618  IP: 192.*.*.*

>Captionの値を変更する必要がありますが
ホントだww

[BorderStyle プロパティ](MSDNライブラリ2001年10月)より抜粋
>Form オブジェクトおよびテキスト ボックス (TextBox) コントロールについては、
>実行時には値の取得のみ可能です。

VB6.0(SP5)でテストしました。
vbSizable と vbSizableToolWindow を切り替えるとバーが2重に表示されました。
バグっぽい動きですね。動作保障できない内容では?

編集 削除
matsu  2008-04-24 11:13:22  No: 100619  IP: 192.*.*.*

>vbSizable と vbSizableToolWindow を切り替えるとバーが2重に表示されました。
>バグっぽい動きですね。動作保障できない内容では?

確かに変な動作をしますね。
APIを使う方法を調べてみたら、花ちゃんさんのサイトにサンプルがありました。
http://hanatyan.sakura.ne.jp/patio/read.cgi?no=8

編集 削除
Engle  2008-04-25 20:09:21  No: 100620  IP: 192.*.*.*

自分がしたい処理をする事が出来ました。

通ってみた様、matsu様、特攻隊長まるるう様
ありがとうございました。

編集 削除