仕事のカタマリにようこそ!  [ ログイン | ユーザ登録 ]
フォーラムから検索

機械用3D-CAD SolidWorks非公認のユーザサイトです
 
 
Web katamari.org
仕事のカタマリ
ホーム リンク集 ダウンロード フォーラム(掲示板) FAQ お問い合わせ









フォーラムニュース: 質問、相談カテゴリに「SolidWorks操作方法」に関するフォーラムを追加しました。(2003/11/27)
いらっしゃい、 ゲストさん. まずはこちら→ ログイン または 登録. 2024/11/23 - 16:48:16
ホーム ヘルプ 検索 ログイン 登録

仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: VBで・・・・ 前のトピック 次のトピック
ページ: [1] Page Bottom 返信 返信のお知らせ Print 
   著者  トピック: VBで・・・・  (閲覧数 2274 回)
chippu
Sr. メンバー
****

オフライン

投稿: 79



I'm a llama!

プロファイルを見る
VBで・・・・
« 投稿日: 2006/04/24 - 21:37:14 »
引用して返信

おひさしぶりです。いつもご協力ありがとうございます。
さて、SWをVBでカスタマイズしているのですが、ユーザーフォームの右上の隅にある「×」(閉じる)ボタンを非表示もしくは無効にしたいのですが
どなたか方法ご存知ないでしょうか?

宜しくお願いします★
議長に報告する   記録済み
Makoron
カタマリの王様!?
*****

オフライン

投稿: 1277



SW2011SP5.0

プロファイルを見る
Re:VBで・・・・
« 返信 #1 投稿日: 2006/04/25 - 08:07:04 »
引用して返信


ここでどうですか?
http://www.bcap.co.jp/hanafusa/VBHLP/ibe_peke.htm
議長に報告する   記録済み
chippu
Sr. メンバー
****

オフライン

投稿: 79



I'm a llama!

プロファイルを見る
Re:VBで・・・・
« 返信 #2 投稿日: 2006/04/25 - 11:56:44 »
引用して返信

ありがとうございます。成功しました。
よく言うと「×」ボタンを非表示にしたいのですが、それはどのようにすべきですか?
先に頂いたホームページに載っているようですが同様にすることはSolidWorksのマクロで可能ですか?
Form_load()っていうイベントてありましたっけ?
議長に報告する   記録済み
YXFUJITO
Full メンバー
***

オフライン

投稿: 31



I'm a llama!

プロファイルを見る
Re:VBで・・・・
« 返信 #3 投稿日: 2006/04/25 - 12:53:08 »
引用して返信

もし、全然まとわずれだったらすみません。

各フォームの"ControlBox"プロパティをFalseにするのではダメなのでしょうか?
議長に報告する   記録済み
chippu
Sr. メンバー
****

オフライン

投稿: 79



I'm a llama!

プロファイルを見る
Re:VBで・・・・
« 返信 #4 投稿日: 2006/04/25 - 13:51:23 »
引用して返信

マクロ編集でそのプロパティ探しているのですが見当たりません。。。
議長に報告する   記録済み
YXFUJITO
Full メンバー
***

オフライン

投稿: 31



I'm a llama!

プロファイルを見る
Re:VBで・・・・
« 返信 #5 投稿日: 2006/04/25 - 18:22:27 »
引用して返信

もしかして、VBというのは、SWのマクロ作成のVBAのことでしょうか?
それでしたら、今確認しましたが確かに、”ControlBox"のプロパティはありませんでした・・

SWとは、別にVBでプログラムすると、このプロパティが使えると思ったのですが

お役に立てずすみません

議長に報告する   記録済み
hisa
カタマリの王様!?
*****

オフライン

投稿: 507



PANDA-Z!!

プロファイルを見る WWW
Re:VBで・・・・
« 返信 #6 投稿日: 2006/04/25 - 23:52:37 »
引用して返信

Chippさんこんばんは

以前同じことを考えて作成したマクロがあったので、閉じるボタン非表示の部分だけ抜粋した
サンプルマクロを添付します。

方法としては、このマクロ内のForm_Style_1というモジュールを用意し、ボタンを非表示にしたい
フォームのUserForm_Initialize関数に記述してあるコードで可能になります。
もちろんモジュールやフォームの名前は任意でかまいません。
 Close_Button_NoShow.lzh
議長に報告する   記録済み
chippu
Sr. メンバー
****

オフライン

投稿: 79



I'm a llama!

プロファイルを見る
Re:VBで・・・・
« 返信 #7 投稿日: 2006/04/26 - 10:11:39 »
引用して返信

動作確認できました。感動☆
返信くださった方々に厚く御礼申し上げます
議長に報告する   記録済み
chippu
Sr. メンバー
****

オフライン

投稿: 79



I'm a llama!

プロファイルを見る
Re:VBで・・・・
« 返信 #8 投稿日: 2006/04/26 - 17:02:39 »
引用して返信

HISAさん

ユーザーフォームを複数作成してそれらの「×」ボタンを非表示にさせてみたのですが、
うまくいくケースとそうでないケースが発生しているのですが、制限とかってあるのでしょうか?
議長に報告する   記録済み
hisa
カタマリの王様!?
*****

オフライン

投稿: 507



PANDA-Z!!

プロファイルを見る WWW
Re:VBで・・・・
« 返信 #9 投稿日: 2006/04/28 - 00:54:10 »
引用して返信


引用:
制限とかってあるのでしょうか?


添付した方法では、クラスの名前が環境によって違ったり、Captionといったユニークではない
プロパティを使っているからですかね…なんとなく

対策として、Form_Style_1モジュールに以下の変更を加えて


引用:
'削除
Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
    (ByVal hWnd As Long, ByVal nIndex As Long) As Long

'追加
Declare Function GetActiveWindow Lib "USER32.dll" _
    () As Long


UserForm_InitializeではなくUserForm_Activateイベントで以下の
コードを試してみて下さい。


引用:
Private Sub UserForm_Activate()

    Dim hWnd As Long
    Dim Wnd_STYLE As Long

    hWnd = GetActiveWindow() 'ここが違う
    Wnd_STYLE = GetWindowLong(hWnd, GWL_STYLE)
    Wnd_STYLE = Wnd_STYLE And (Not WS_SYSMENU)
    SetWindowLong hWnd, GWL_STYLE, Wnd_STYLE
    DrawMenuBar hWnd

End Sub


こちらの方法であれば、確実にウィンドウの取得が出来そうなので…
議長に報告する   記録済み
chippu
Sr. メンバー
****

オフライン

投稿: 79



I'm a llama!

プロファイルを見る
Re:VBで・・・・
« 返信 #10 投稿日: 2006/04/28 - 12:19:41 »
引用して返信

できました!!ありがとうございます。
ちなみに
Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
    (ByVal hWnd As Long, ByVal nIndex As Long) As Long
は削除するとエラーになるみたいですよ!
感謝
議長に報告する   記録済み
hisa
カタマリの王様!?
*****

オフライン

投稿: 507



PANDA-Z!!

プロファイルを見る WWW
Re:VBで・・・・
« 返信 #11 投稿日: 2006/04/28 - 22:12:59 »
引用して返信


引用:
削除するとエラーになるみたいですよ!


スミマセン…削除する行を間違えてました


引用:
Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long


↑が削除する行です。
議長に報告する   記録済み
ページ: [1] Page Top 返信 返信のお知らせ Print 
仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: VBで・・・・ 前のトピック 次のトピック
ジャンプします: