VB.NET質問スレ (Part24)
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/12/13(木) 10:03:48VB.NET質問スレ
http://pc11.2ch.net/test/read.cgi/tech/1189038267/
(Partがありませんが、23です。)
テンプレは2〜5くらいまでの間にある予定
0449431
2008/01/13(日) 02:00:27MessageBoxで確認しているので間違いなくCtrl+A以外ではイベントが発生していません
Controlキー単独だとKeyDownイベントが発生しますが、Ctrl+A以外のキーだと駄目です
マジで心当たりのある方、お願いいたします・・・
0450デフォルトの名無しさん
2008/01/13(日) 02:10:22Spy+使ってどのハンドルにメッセージが来てるか見るとか。
0451デフォルトの名無しさん
2008/01/13(日) 02:55:05>ちゃんと拾いますね・・・
解決糸口はここだよなぁ。上記の通りであれば、環境的な問題ではなく、何かのコントロールがジャマしてるんだろうか。
SplitContiner - TabControl - Panel - TextBox
となっているみたいだけど、
SplitContiner - TextBox
TabControl - TextBox
Panel - TextBox
みたいな感じで地道に試してみるしかないのかな?
0452デフォルトの名無しさん
2008/01/13(日) 03:05:30>>446の
下 Form - SplitContiner - TabControl - Panel - TextBox 上
の順にコントロール置いて試してみたが普通に全部拾えた。
FormのKeyDownが拾えなくなるってことは、どこかでFormのKeyPreviewをFalseにするようなコードが書かれてるのか?
TextBox自体のKeyDownはちゃんと発生しているのかな?
0453デフォルトの名無しさん
2008/01/13(日) 04:35:40VB.NETでDataTableオブジェクトとかが使用しているメモリ量を見たいんですが
タスクマネージャでは今一歩正確性に欠けるので(できれば)フレームワークなどの機能で計測できないでしょうか?
0454デフォルトの名無しさん
2008/01/13(日) 04:44:570455デフォルトの名無しさん
2008/01/13(日) 04:50:17早速のレスサンクスです!!!
ググってサイトみてみました
おそらくヒープメモリの割り当てサイズが知りたいのでまさにこれではないかと!!!!
ちょっと明日にでも使ってみます!!
助かりました ありがとうございました。
0456デフォルトの名無しさん
2008/01/13(日) 05:06:02俺もそうなった時があった。
MDIフォームの子フォームとして使ってたため
イベントがメニューのショートカットに持っていかれてた。
0457デフォルトの名無しさん
2008/01/13(日) 19:46:44tabコントロールで特定ページに入ったとき、
既に生成されてるDataTableを元グラフを描画しようとしています。
そもそも、VBの挙動の根幹部分から分かっていないのですが、
特定タブに入った後に、ボタン等のイベントを拾って描画はできるのですが、
これだと、別のタブに移動した後に、再びこのページに戻ってくると、
再度ボタンを押して描画させなければなりません。
それだと面倒なので、特定ページに入ったときに描画させるようにしたいのですが、
Handles TabPages1.Click
だと早すぎるのか?描画がされて消えてしまうような感じですし、
どのイベントを拾えばいいのかが分かりません。
どなたかこの辺を勉強しろでも構いませんので、教えてください。
よろしくお願いします。
0458デフォルトの名無しさん
2008/01/13(日) 19:50:07つまりその基本どおりにやるだけじゃないの?
0459457
2008/01/13(日) 20:11:46やっぱAPIを知らなきゃ話にならないですよね・・・
もう一つだけ、たぶんこれも勉強しろって事なんでしょうけど
教えていただきたいのですが、
Private Sub TabControl1_SelectedIndexChanged( _
ByVal sender As Object, ByVal e As System.EventArgs) _
Handles TabControl1.SelectedIndexChanged
MsgBox("test")
graph = New Graph(GraphArea, 100, 90)
End Sub
Graphクラスの初期化時に、グラフの背景を描画させているのですが、
TabControl1の選択時に、
MsgBox("test")と、ワンクッションおくと、きちんとグラフが描画されるのに、
これが無いと描画されないというのは、どういう原理なんですかね・・・?
もしよろしければ教えてください。お願いします。
0460デフォルトの名無しさん
2008/01/13(日) 20:28:43何もないと
グラフ描画したあとペイントイベントで上描き(→描画されていないように見える)
メッセージボックスを表示すると、そこで処理がとまるからペイントイベント先行、その後グラフ描画
となるからグラフが表示される。
>>458の言うとおり、Paintのイベントハンドラ内でグラフ描画処理すべし
0462デフォルトの名無しさん
2008/01/13(日) 20:44:24まぁがんがれ(`・ω・´)!
0463デフォルトの名無しさん
2008/01/14(月) 12:06:10いいですか?このまえWM_NC**を使うということを聞いたのですが、マウスダウンのイベントが発生しないので困ってます
どなたか教えてください
0464デフォルトの名無しさん
2008/01/14(月) 12:14:140465431
2008/01/14(月) 14:49:18まさにそのとおりでした。ありがとうございます。
MDI子フォームでいつの間にか標準のメニューが挿入されていて
Ctrl+A以外がバッチリ割り当てられていたのですが
MenuStripのVisibleをFalseにしてあるので全く気づきませんでした。
IDEのほうでショートカット割り当てられると割り当てたキーでは
同じキーイベントは拾えなくなるんですね。
レスいただいたみなさん、ありがとうございました。
0466デフォルトの名無しさん
2008/01/14(月) 22:16:53ttp://www.ideaxidea.com/archives/2007/10/windows_pc.html
こちらの記事の2番目のフォームのようなコントロールボックスを作成したいのですが、どういった方法があるでしょうか。
0467デフォルトの名無しさん
2008/01/15(火) 00:55:29MDI子フォームと書かずに解答を出せとは難問だったな。
原因と思しき場所を絞って質問するのもいいが、全体を教えてくれなきゃ想像付かん場合もある。
何であれ、解決してよかったが…。
0468デフォルトの名無しさん
2008/01/15(火) 01:00:05コントロールボックスってなんぞ?
2番目って
ttp://www.ideaxidea.com/archives/2007/10/14/mainte_2.gif
これかな?
これのどの部分を作りたいの?
0469デフォルトの名無しさん
2008/01/15(火) 03:14:12'.gif\P2P
r
0470デフォルトの名無しさん
2008/01/15(火) 08:06:44最小化、最大化、閉じるボタンの部分です
.NETのプロパティがControlBoxなのでそういう名称だと思っていましたが…
画像のようにデザインを変更したいのです
0471468
2008/01/15(火) 10:27:18なんか脳が溶けてました
これってVistaのUIで、別に自前でつくっているわけじゃないと思う。
別OSでそっくりにつくるなら、タイトルバー消して、ボタン配置して、画像用意するかVisualStyleRendererでボタンの外装作り変えて…って感じになるのかな。
0472デフォルトの名無しさん
2008/01/15(火) 12:44:42タイトルバーを消してやってみます
ご教授ありがとうございました
0473デフォルトの名無しさん
2008/01/15(火) 14:47:28そのスピードをMarqueeAnimationSpeedでセットすると、OSはXpですが
Valueを操作しなくても自動的に動いてくれるようになるでしょうか。
ためしにそれだけやったところでは動き出すようにはなりませんでしたが、
メソッドを何か叩くことでスタートするのでしょうか。何卒よろしくお願いします。
0474デフォルトの名無しさん
2008/01/15(火) 14:55:400475デフォルトの名無しさん
2008/01/15(火) 15:15:29さっそくどうもです。MarqueeAnimationSpeed は何がどこまで動く
速度になるかがわかりませんでした。Valueを入れて動かすとします
とスピードの効果が出てくるのでしょうか。そこがわかりません。
0476デフォルトの名無しさん
2008/01/15(火) 15:57:230477デフォルトの名無しさん
2008/01/15(火) 15:59:370478デフォルトの名無しさん
2008/01/15(火) 16:22:210479デフォルトの名無しさん
2008/01/15(火) 18:15:47クラシック・スタイルではVisualStyleを使っていないので自動的には動かず
XpスタイルにすればVisualStyleを使っているので自動的に動くのでしょうか・・・。
どちらでも同じようにValueを与えないと動かないような・・・、それではもう一度
確認してみますです。
0480473
2008/01/15(火) 18:48:51試してみましたら、きちんと動作していました。認識が違っていました。
バックグラウンドワーカーと併用したときに何か別の原因で動かなかった
のを間違って記憶していました、すみません・・・。
ただやってみますとやはりシングルスレッドで動かすと動きが早くなったり
遅くなったりして等速では動かないですね・・・、これはタイマーでValueを
操作しても同じでした。等速で動かすには別スレッドでコントロールを直接Value
を与えることができないと無理そうな感じでした、といってもそういうオブジェクト
をいじるとNGなのですよね??
0481デフォルトの名無しさん
2008/01/15(火) 18:54:05描画は多分優勢度低いから無理がある可能性が高い気がするよ。
0482デフォルトの名無しさん
2008/01/15(火) 22:56:52どうしても気になるならフリースレッドの処理に時々Thread.Sleep()入れてやれば
改善するんじゃない?
でもそんなことにこだわる意味があるのかな?
プログレスバーの意義はユーザーに処理がフリーズしてない安心感を与えることだろうから、
それさえできれば必要十分な気がするけど。
0483デフォルトの名無しさん
2008/01/15(火) 23:12:39>プログレスバーの意義はユーザーに処理がフリーズしてない安心感を与えること
わかりました。つっかえつっかえ動くような感じなのですが、それがプログラムの
作業によるのだということでこれでよしと考えました。ありがとうございました!
0484デフォルトの名無しさん
2008/01/16(水) 02:33:54裏で動いてる処理を何一つとして理解してないだろおまえ……
0485デフォルトの名無しさん
2008/01/16(水) 09:58:17ネットワークドライブ、などの媒体をそれぞれ見分けてそのアイコンが表示されて
いました。
これというのはそれを示す何かのパラメータを見て行っているのだと思いますが、
このパラメータを取り込むためのクラスがありましたら教えてください。
0486デフォルトの名無しさん
2008/01/16(水) 10:09:150487デフォルトの名無しさん
2008/01/16(水) 10:13:54おお、あるのですね!ありがとうございました!!調べてみます!!
0488デフォルトの名無しさん
2008/01/16(水) 10:26:23コンテナコントロールを派生させ子コントロールが置けるクライアント領域の範囲
を変更したいのですが、どのメソッドをオーバーライドすればいいのでしょうか?
例えば、コンテナコントロールの Width が 100 で Height が 200 ですと、
内部に子コントロールを配置してその Dock を Fill にすると、そのコントロールは
Width 100 Heidht 200 になりコンテナコントロール全体に広がりますが、
このコンテナコントロールのクライアント領域を変更し、若干余白を持たせるため
に既定で、上、下、左、右から 10 ピクセル程狭めたオリジナルのコントロールを
作成したいのです。
0489デフォルトの名無しさん
2008/01/16(水) 10:32:170490デフォルトの名無しさん
2008/01/16(水) 11:08:430491デフォルトの名無しさん
2008/01/16(水) 11:11:280492488
2008/01/16(水) 11:30:47横 0 〜 Width
縦 0 〜 Height
ですよね。
これを変更して周りに 10 ピクセル程クライアント領域として認めない領域を作った場合、
横 10 〜 Width - 10
縦 10 〜 Height - 10
になりますが、この場合 Padding の Left や Top が 0 の場合は、
クライアント領域の一番左上(10、10)になるようにしたいのです。
恐らく Control クラス辺りをメソッドなどをオーバーライドすれば
出来そうな予感がするのですが、わからないのです。
0493デフォルトの名無しさん
2008/01/16(水) 11:44:38www.sfpac.com/
0494デフォルトの名無しさん
2008/01/16(水) 12:01:250495デフォルトの名無しさん
2008/01/16(水) 12:06:18学生 「はい。ブラックジャックです。」
面接官「ブラックジャックとは何のことですか?」
学生 「手術です。」
面接官「え、手術?」
学生 「はい。手術です。患者全員の足元を見て手術料をふんだくります。」
面接官「・・・で、そのブラックジャックは当社において働くうえで何のメリットがあるとお考えですか?」
学生 「はい。社員がケガしてもお金払えば治せます。」
面接官「いや、当社にはケガをするヤワな輩はいません。それに人のお金をふんだくるのは犯罪ですよね。」
学生 「でも、重症の足でも切断せずに治せますよ。」
面接官「いや、切断とかそういう問題じゃなくてですね・・・」
学生 「モグリなんですよ。」
面接官「ふざけないでください。それにモグリって何ですか。だいたい・・・」
学生 「医師免許を持っていな医師です。闇医者とも書きます。バレないコツは・・・」
面接官「聞いてません。帰って下さい。」
学生 「あれあれ?怒らせていいんですか?ふんだくりますよ。3000万円。」
面接官「いいですよ。ふんだくって下さい。おふくろの命が助かるなら3000万円くらい一生かかっても払います。」
学生 「その言葉が聞きたかった。」
面接官「先生・・・」
0496デフォルトの名無しさん
2008/01/16(水) 12:21:090497デフォルトの名無しさん
2008/01/16(水) 13:55:22UserControlの指定した位置((10,10)とか)にPanelを配置したコントロールをつくればいいんじゃない。
0498デフォルトの名無しさん
2008/01/16(水) 14:51:372008で作ったソフトははVISTAで何も追加しなくとも
うごくのでしょうか?
NET3.5っていうことはNET3.0が入っているVISTA
ではダメということ?
これではいつになってもVB最新版で作ったソフトは
最新OSでは満足に動かないってことになるのでは?
だれかご存知の方いらっしゃいませんか
0499デフォルトの名無しさん
2008/01/16(水) 14:54:350500デフォルトの名無しさん
2008/01/16(水) 16:03:25どうせ中身2.0なんだし。
0501デフォルトの名無しさん
2008/01/16(水) 16:30:54どこかにあるでしょうか?
0502デフォルトの名無しさん
2008/01/16(水) 16:52:240503デフォルトの名無しさん
2008/01/16(水) 16:55:10http://www.google.com/search?num=50&hl=ja&safe=off&as_qdr=all&q=image+save+%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88+-1%E5%9B%9E%E3%81%8F%E3%82%89%E3%81%84%E3%82%B0%E3%82%B0%E3%82%8C%E9%A6%AC%E9%B9%BF%EF%BC%81&lr=lang_ja
0504デフォルトの名無しさん
2008/01/16(水) 17:53:02激しくワラタw
しかし、>>503もツンデレだなw
0505デフォルトの名無しさん
2008/01/16(水) 20:13:24何故4方にアンカー打てばいいだけの話を面倒にしようとしているのかね?
0506485
2008/01/17(木) 00:21:22CD-R をフロッピーと同じように読み書きできる B's Clip というソフト
を導入していました。このときに Explorer では、コンテキストメニューや
D&DなどによるCD-Rの読み書き、およびフォルダのリネームなどができました。
それで、Win32APIの SHFileOperation()でのコピーなどはできたのですが、
Explorerではできたフォルダのリネームを My.Computer.FileSystem.RenameDirectory()
でやってみたところ、これは書き込みができない旨のメッセージが出てきて
失敗していました。
また、Explorerでは「取り出し」というメニューがあってCD-Rを取り出しできました。
こうした特定のファイルやデバイスの操作をExplorerではできる場合、それを
なんらかの形でプログラムからもCD-Rドライブなどへの操作を可能にする
ためにはどんな方法をとるべきでしょう?どこかにそれ用のAPIなどがわかる
ようになるでしょうか?
0507デフォルトの名無しさん
2008/01/17(木) 00:58:58ttp://support.microsoft.com/kb/165721/ja
別にこれじゃなくてもいろいろ出来ると思うけど
0508デフォルトの名無しさん
2008/01/17(木) 01:03:27COM経由でいけると思う
IShellFolder::SetNameOf とか IContextMenu.InvokeCommandとか。
知らんけど。
CDの取り出し自体はDeviceIoControlでできる
0509デフォルトの名無しさん
2008/01/17(木) 01:04:13そのCDドライブ上のファイル操作はB'sが
シェル拡張を仕掛けているからできるようになっている。
だから、SHFileOperationのようなシェルに対する操作はできるが、
My.Computer.FileSystemはシェルより下層の操作となるため、そのように失敗する。
ファイル操作に関してはSHFileOperationに限らずシェルの機能を使えばいけるはず。
0510485
2008/01/17(木) 07:30:59ああ、こんなに早く多くの明解なご指導、感謝に堪えません。
Shell、IShellFolder、DeviceIoControl これらにトライしてみます!
ありがとうございました!
0511デフォルトの名無しさん
2008/01/17(木) 17:32:29SqlDataReaderからデータを取得するとき、途中で安全に中断するにはどういうやり方が好ましいでしょうか?
0512デフォルトの名無しさん
2008/01/17(木) 17:36:380513デフォルトの名無しさん
2008/01/17(木) 18:58:32つぼった
0514デフォルトの名無しさん
2008/01/18(金) 16:26:18VB6以前のように、簡単にならんの?
マクロとか駆使すればVB6みたいに出来るかな?
簡単に実装できるマクロとか、どこかに落ちてないでしょうか・・・?
自分で作るしかないかな?
0515デフォルトの名無しさん
2008/01/18(金) 16:39:440516デフォルトの名無しさん
2008/01/18(金) 17:13:12コントロール配列つくって何がしたいのさ?
0517デフォルトの名無しさん
2008/01/18(金) 17:25:40AddHandler ステートメントの存在を知るまでは。
0518デフォルトの名無しさん
2008/01/18(金) 17:29:170519デフォルトの名無しさん
2008/01/18(金) 17:35:520520514
2008/01/18(金) 17:46:11まぢですかぁーっ!?
何か面白いワザがあるのだろうか・・・?
ただひたすら同じイベントに関連付けるだけじゃないの・・・?
とりあえずコレクションにして、
ちまちま作成してるんですが、
あまりにもめんどくさいので、
叫んでしまいました。
違うタイプのコントロールを、
同じ配列にしたりできたりするのは、便利だとはおもうが、
そんなことするのは稀だ。
0521デフォルトの名無しさん
2008/01/18(金) 18:49:04このときのラジオボタンのCheckedプロパティを
アプリケーション設定に保存するにはどうすればよいでしょうか?
各々のラジオボタンのプロパティを保存するようにすると、動作に不具合が生じます。
あるサイトには一方のラジオボタンのプロパティのみを保存するように
とありましたので試してみたところ、確かに正常に動作するようになるのですが、
もう一方のラジオボタンのCheckedプロパティがTrueのときに終了すると、
次回起動時は双方のラジオボタンのCheckedプロパティがFalseとなってしまいます。
常套的な手段があるようでしたら教えてください。
0522デフォルトの名無しさん
2008/01/18(金) 19:04:30trueになってるラジオがどれであるか
これを保存(テキトーに番号かなんかで)
起動時には保存されている値に該当するラジオをtrueにする
以上
0523デフォルトの名無しさん
2008/01/18(金) 19:46:57GroupBox1 に張られているのが RadioButton のみって前提なら
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Name As String = GetSetting("MyApp", "GroupBox1", "Control", "")
If (Name = "") Then
Exit Sub
End If
Me.SuspendLayout()
For Each Control As RadioButton In GroupBox1.Controls()
If (Name = Control.Name) Then
Control.Checked = True
Exit For
End If
Next
Me.ResumeLayout(False)
End Sub
Private Sub Form1_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
For Each Control As RadioButton In GroupBox1.Controls()
If (Control.Checked) Then
SaveSetting("MyApp", "GroupBox1", "Control", Control.Name)
Exit For
End If
Next
End Sub
でおk
0524デフォルトの名無しさん
2008/01/18(金) 20:10:24考え方として一番シンプルなのは、UIが表現している設定を
プライベートなプロパティとして持つことだと思うよ。例えばこんな感じ。
Private Property YesSelected() As Boolean
Get
Return radYes.Checked
End Get
Set(ByVal value As Boolean)
If value Then
radYes.Checked = True
Else
radNo.Checked = True
End If
End Set
End Property
でこれをMy.Settingなり何なりをつかって保存/復元すればいいわけだ。
あるいは手間を惜しまないなら、ラジオボタンの部分だけをカスタムコントロールにして
そいつに上に書いたようなプロパティを持たせればもっと分かりやすい。
0525521
2008/01/18(金) 20:34:12どうもありがとうございます。とても参考になりました。
PropertyBindingを設定せず、INIファイルに書き出す要領でアプリケーション設定に保存しようと思います。
0526デフォルトの名無しさん
2008/01/19(土) 00:15:160527デフォルトの名無しさん
2008/01/19(土) 01:46:34クラスの上下関係やら壁をぶち破って、コントロールのプロパティを弄りたいのだと。
VB6で書いた小生の駄作プログラムがまさにそんな状況だったけど、然るべき
ハンドラを介せば、汚い横紙破りはしなくていい筈だ。
0528デフォルトの名無しさん
2008/01/19(土) 02:04:340529デフォルトの名無しさん
2008/01/19(土) 02:13:46まあ用途にもよるのは確かだろうけど、普通はコントロール配列のように
ユーザーによって操作されたコントロールをインデックスで識別したい場面っていうのは
そんなに多いはずがないと思うんで、たぶん基本的に何か勘違いした発想をしてるんだろうなあ。
どうでもいいが上の方でAddHandler使えとか言ってる人がいたが、
それはコントロール配列の代替方法と直接関係ないだろう。
ひとつのメソッドに複数のオブジェクトのイベントを紐付けするのはHandles句でもできる。
それにAddHandler使おうが、肝心のインデックスによる操作されたコントロールの識別が
できないことに変わりはない。
どうしてもそんなアナクロなことがしたければデザイナでTagに数字でも入れておいて
Dim index as Integer = CInt(DirectCast(sender, TextBox).Tag)
みたいにするのかなあ。
あと、VB.NETにも互換ライブラリに一応コントロール配列ってあるんだよね確か。
コントロール配列を使ってるVB6のコードを変換すると見られたはず。
0530デフォルトの名無しさん
2008/01/19(土) 02:20:45なに作ってんの?
0531デフォルトの名無しさん
2008/01/19(土) 02:22:300532デフォルトの名無しさん
2008/01/19(土) 02:23:210533デフォルトの名無しさん
2008/01/19(土) 02:23:22意味なくコントロール配列にしたがる人がいるんだよたぶん
0534デフォルトの名無しさん
2008/01/19(土) 05:02:22> 同じ種類のコントロール
別に,「CommandButtonがいっぱいある」,から「CommandButtonをコントロール配列化しよう」とは思わない.
「同じ用途(同じ目的)のコントロールがいっぱいある」,から「処理を一元管理しよう」とするとコントロール配列化が妥当という気になってくる.
それでもあんまりそういう場面に出くわさないんだけどな.
これがVB.NETであっても,「同じ用途のコントロールを一元管理しよう」という要求は依然としてあるから,
コントロールの配列とかコントロールの集合とか,またはイベントハンドラの複数のバインディングとかにしわ寄せ行ってる感じがするな.
VB.NETは共通言語基盤上でほかの言語ともお話する必要があるから,言語としてコントロール配列のサポートが無くなったと思っている.
0535デフォルトの名無しさん
2008/01/19(土) 05:09:040536デフォルトの名無しさん
2008/01/19(土) 09:18:40いちいち作るのがマンドクセー
それがVB6厨
既存コントロールを継承してカスタムコントロールつくって、
コレクションつくるのも、まんどくせー
それがVB6厨
0537デフォルトの名無しさん
2008/01/19(土) 11:26:19もっと綺麗な方法はいくらでもあるのはわかってるけど
0538デフォルトの名無しさん
2008/01/19(土) 14:03:49エクスプローラでは新規ファイルの作成でZipフォルダが作れました。
これと同じことをしたい場合、レジストリでShellNewをみてみると、そこには
Dataが並んでいました。
HKEY_CLASSES_ROOT\.zip\CompressedFolder\ShellNew
これのDataの値はREG_BINARY型だったため、バイナリファイルを作成して
そこにその値を書き込んで保存しましたが、Zipフォルダにはなりませんでした。
作成する方法が知りたいのですが、何卒よろしくお願いします。
0539デフォルトの名無しさん
2008/01/19(土) 14:48:37タダのZipファイルだからZipファイル扱えるライブラリを使うとか,
ためしに作成してバイナリエディタで見て同じバイト配列を書き込むようにするとかでいいと思うよ
0540デフォルトの名無しさん
2008/01/19(土) 15:10:30VB6だがこんなの見つけた。
http://www.experts-exchange.com/Microsoft/Development/Q_22785365.html
0541デフォルトの名無しさん
2008/01/19(土) 16:23:13なるけど.zipにした?
0542デフォルトの名無しさん
2008/01/19(土) 17:08:22お世話になります!!
>>541
・・・そうでした。すみません。もしかしてそうかなと思いつつソース見直しつつ
おりました折、お答えくださったのを見て今試してみました、結果はバッチシ
ですた。すんませんです。助かりました、まことにどうもでした!!
ググってみるとZipfldr.dll などのファイル名が出ていたのでそれ使って
どうこうするのかと思ったりもしてましたらそういうことではなくて助かりました。
Zip がこれでできるということは、、このShellNewのDataがある拡張子の
ファイルやフォルダはすべてこれと同じようにして作成可能と考えてよい
でしょうか。
0543デフォルトの名無しさん
2008/01/19(土) 17:43:11ユーザー設定にもオプションにもそのようなものが見つかりません
0544デフォルトの名無しさん
2008/01/19(土) 18:11:16チェック入れたら、環境の自動バックアップでソースコードの自動バックアップしないようにできるけど。
2008からは変わったのかな…。
0545543
2008/01/19(土) 18:28:04> 全ての設定を表示にチェック入れた?
入れてませんでした チェックしたら自動バックアップの項目が出てきました
これで自動保存を恐れることなく色々いじれます
単純ミスでした ありがとうございます
0546デフォルトの名無しさん
2008/01/20(日) 19:00:17(グローバル変数宣言部)
Public Sub InitializeData()
この中で色々データの初期化を行う
End Sub
[MainFormモジュール(ユーザフォーム)]
Private Sub MainForm_Activate()
●DataDef.InitializeData
End Sub
Private Sub MainForm_Initialize()
●DataDef.InitializeData
End Sub
F5でデバッグを開始するとブレークを張ったMainForm_Activate()の中も
MainForm_Initialize()中でも停止せず、どうやらプロシージャ内に入ってないみたいなんですが、
ユーザフォームが起動した時に最初に行う処理はユーザフォームモジュールの
どのプロシージャにあるのでしょうか?
0547デフォルトの名無しさん
2008/01/20(日) 19:02:10ちょっと教えていただけませんでした。もしご存知の方いらっしゃいましたらご指導をお願いします。
現在ファイルのプロパティを表示するために ShellExecuteEx を使っていました。そのとき、
通常のファイルやフォルダの場合ではOKだったのですが、たとえばブリーフケースのような特殊
なフォルダの場合、Explorer ではそれ用の専用のタブも追加されてプロパティダイアログが表示
されていました。それと同じように表示するためには、構造体 ShellExecuteInfo のメンバを
どのように指定すればよいでしょうか?現在のものはこれでした。
Dim info As New NativeMethods.SHELLEXECUTEINFO
With info
.cbSize = Marshal.SizeOf(info)
.fMask = NativeMethods.SEE_MASK_NOCLOSEPROCESS Or _
NativeMethods.SEE_MASK_INVOKEIDLIST Or _
NativeMethods.SEE_MASK_FLAG_NO_UI
.hWnd = Operation.hWndOfAppWindow
.lpFile = FilePath
.lpVerb = "properties"
.lpParameters = "\0"
.lpDirectory = "\0"
.nShow = 0
.hInstApp = IntPtr.Zero
.lpIDList = IntPtr.Zero
.lpClass = "\0"
.hkeyClass = IntPtr.Zero
.dwHotKey = 0
.hIcon = IntPtr.Zero
.hProcess = IntPtr.Zero
End With
この他に指定が必要な項目と値を知りたく、ご指導をお願いします!
0548デフォルトの名無しさん
2008/01/20(日) 20:27:06lpIDList試してみたら?
■ このスレッドは過去ログ倉庫に格納されています