トップページ⇒tech
988コメント350KB

くだすれVB6.0以前(超初心者向け)

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/12/08(金) 19:36:45
このスレッドはVBについて、
他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
VB使いが優しくコメントを返しますが、
お礼はVBの布教はしなくてよいので、初心者の救済をお願いします。
0083デフォルトの名無しさん2007/03/07(水) 23:43:57
>>82
もしかしてVB.NETか?
それならCheckedプロパティ
(VB.NETほとんど触って無いから、もっといい方法があるかもしれん)
0084802007/03/07(水) 23:52:31
>>83
ありがとうございます。VB.NETです。
そして最大の私の勘違いはメソッドの使い方でした。
てっきり
CheckBox1.Checked(True)
のような記述をするもんだと思い込んでましたが
CheckBox1.Checked = True
のような記述をするんですね!!
Cのプログラマが、にわかVBしてたもんで疑いもしませんでした。
これで今日は落ち着いて寝られます。
どうもありがとうございました。
0085デフォルトの名無しさん2007/03/08(木) 12:57:18
それメソッドじゃねぇ・・・
プロパティだぜ・・・・


突っ込んでよかったのかな・・?
0086デフォルトの名無しさん2007/03/08(木) 13:19:37
>>85
てっきりメソッドだと思った、と勘違いしてたんじゃないの?
0087デフォルトの名無しさん2007/03/08(木) 14:53:22
スレ違いかもしれませんが
javaスクリプトでいう『document.ondblclick = sample;』
をvbスクリプトで同じことってできますか?
0088デフォルトの名無しさん2007/03/08(木) 15:15:24
>>87
できます。

参考までにIEだとこんなカンジでしょうか。

Set ie=CreateObject("InternetExplorer.Application")
Set ie.Document.body.ondblclick=sample
0089デフォルトの名無しさん2007/03/08(木) 15:22:05
sampleの型に寄るんじゃね?
0090デフォルトの名無しさん2007/03/08(木) 15:23:39
>>88
本当だ!できました。
確かに"sample"では不十分な書き方でした。
それなのに丁寧に教えて下さってありがとうございました。&ごめんなさい
0091デフォルトの名無しさん2007/03/08(木) 23:30:41
本当にくだらない事なのですか
formに設定した画像を動かすにはどうすればいいのでしょうか
form事態ではなく画像だけ動かしたいのです
0092デフォルトの名無しさん2007/03/08(木) 23:56:13
何度もすみません。本当はWSHのスレへ質問するべきかもしれないのですが、、
なにぶんひどい素人なもので、空気的にできればこちらのスレで知恵をお貸し願えないものかと思っています。

IE上の以下のスクリプトを埋め込んだページから
"sample.xls"というエクセルファイルの"test1"というマクロを動かそうとしていますが、
うまくいきませんでした。

<SCRIPT LANGUAGE = "VBScript">
<!--
Sub CallXlMacro
 Dim xlapp
 Set xlApp = GetObject(, "Excel.Application")
 Call xlApp.Run("sample.xls!test1")
 Set xlapp = Nothing
End Sub
-->
</SCRIPT>

とりあえずCallXLMacroプロシージャを以下のようにしてみたところ、動作しましたので
プロシージャが呼び出されていることは確認できました。
Sub CallXlMacro
 Msgbox "test"
End Sub

また、「Dim xlapp」〜「Set xlapp = Nothing」までを「test.vbs」として保存し、直接実行してみたところ、
test1マクロは呼び出されて動きました。(スクリプト使用時は、sample.xlsは必ず開いた状態で使用する前提でいます)

私の知識ではこれ以上進めなかったのですが、
問題はどの辺りにあるのかご教授願えませんでしょうか。
ちなみにtest1マクロそのものは、「Msgbox "testOK"」だけのものです。
よろしくお願いいたします。
0093デフォルトの名無しさん2007/03/08(木) 23:58:23
IE上からだとセキュリティ的にまずいから動かないようになっているんだと思う。
0094922007/03/09(金) 00:12:32
>>93
確かに言われてみればその通りですね。
どうもありがとうございます。
0095デフォルトの名無しさん2007/03/09(金) 00:43:22
>>91
本当にくだらないと思っている事を人任せにするのか?(#^ω^ おっ?
それ以前にプログラムの話したいならコード晒せ
無ければコードかけるくらい詳細に調べて書け

あと>>1な
0096デフォルトの名無しさん2007/03/09(金) 00:50:25
Option Explicit
Private pct As PictureBox
Private Sub Form_Load()
    Dim i   As Long
    Set pct = Me.Controls.Add("VB.PictureBox", "pct")
    With pct
        Call .Move(0, 0, 32 * Screen.TwipsPerPixelX, 32 * Screen.TwipsPerPixelY)
        .BackColor = 0
        .ScaleMode = ScaleModeConstants.vbPixels
        .AutoRedraw = True
    End With
    
    For i = 1 To 100
        pct.PSet (Rnd * 32, Rnd * 32), Rnd * &HFFFFFF
    Next
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Call Me.PaintPicture(pct.Image, X, Y)
End Sub

# formに、設定した画像を動かすにはどうすればいいのでしょうか 
# form事態ではなく画像だけ動かしたいのです 
こんなソースコードだけど、動いてるか?
0097912007/03/09(金) 18:04:22
色々すいませんでした

例えば
ボタンが押されたときにイメージを動かすのなら
Private Sub Command1_Click()
Image1.Move (Image1.Left), (Image1.Top + 100)
End Sub
でできるのですが、
フォームに背景として表示されている画像の動かし方が知りたいのですが、どんなに調べても見つけれなくて困っています
0098デフォルトの名無しさん2007/03/09(金) 18:14:51
>>97
発想の転換で、フォームよりでかいイメージをフォームに貼り付けといて
それを背景とし、そのピクチャを動かすとかじゃ実現できないかな?
0099デフォルトの名無しさん2007/03/09(金) 20:43:00
>>97
PaintPicture使いなさい
0100デフォルトの名無しさん2007/03/09(金) 21:53:23
>>97
> 背景として表示されている
Formが自発的に背景として表示してるわけじゃないだろ?
もう少し具体的に状況を説明した上で議論なり質問なりしてくださいな
0101802007/03/10(土) 07:16:17
>>85-86
突っ込みOKでしょう。
叩かれて人は強くなる…
皆様のおかげです。
0102デフォルトの名無しさん2007/03/11(日) 19:57:32
起動時にFormに乗ってるTextBoxのフォーカスをアクティブにしたいです
フォーカスをあやつる方法がわからないので教えてください
0103デフォルトの名無しさん2007/03/11(日) 20:08:51
>>102
フォーカスやイベント等はVBやるときにいつもネックになるね。

フォームのコードイベント内でセットフォーカスメソッドを使えばいいけど
コントロールが表示される前にはフォーカスの指定ができないので
先にフォームをShowするか、あらかじめtab順序を設定するか、かな。


'先にShowする場合。
Private Sub Form_Load()

Me.Show
Me.Text1.SetFocus

End Sub
0104デフォルトの名無しさん2007/03/11(日) 20:09:26
>>102
・TabIndexを一番若くしておくとか
・無駄に一つだけタイマーを配置して、次のようにしてみるとか
Option Explicit
Private WithEvents Tmr  As Timer
Private WithEvents Btn1 As CommandButton
Private WithEvents Btn2 As CommandButton

Private Sub Form_Load()
    Set Tmr = Me.Controls.Add("VB.Timer", "Tmr")
    Set Btn1 = Me.Controls.Add("VB.CommandButton", "Btn1")
    Set Btn2 = Me.Controls.Add("VB.CommandButton", "Btn2")
    With Tmr: .Interval = 1: .Enabled = True: End With
    With Btn1: .Move 0, 0, 1000, 1000: .Caption = "Button1": .Visible = True: End With
    With Btn2: .Move 0, 1000, 1000, 1000: .Caption = "Button2": .Visible = True: End With
End Sub
    
Private Sub Tmr_Timer()
    Tmr.Enabled = False
    'Call Btn1.SetFocus  'Button1にフォーカス
    Call Btn2.SetFocus  'Button2にフォーカス
End Sub
01051022007/03/11(日) 20:24:40
>>103
>>104
うまくいきました
ありがとうございます
01061032007/03/11(日) 20:54:17
話は変わるが、>104なんで、タイマー?

tab順はお互い「やっぱりな」と思うよね。でもタイマーは意外だった。


悪い意味じゃなくて、ちょっと興味があった。
いつもはイベントドリブンのように使ってるの?それとも、思いつき?
0107デフォルトの名無しさん2007/03/11(日) 20:59:31
>>106
イベントとは呼び出し手続き上で、ワンショットなイベントを作りたいときによくやっている
イベントプロシージャの再帰呼び出しが怖いときなんか特に
01081032007/03/11(日) 21:04:52
>>107
ありがとう。納得した。

VBやってたら、イベント再帰しても目をつぶったりするからネw
0109デフォルトの名無しさん2007/03/11(日) 21:07:02
訂正

>>107
> イベントとは呼び出し手続き上で、
# 別の呼び出し手続き上で、

>>108
すまんね
0110デフォルトの名無しさん2007/03/12(月) 09:17:26
vbでhtmlを解析してデータベース化する、
なんかいいサンプルないですか?
0111デフォルトの名無しさん2007/03/12(月) 10:09:02
「vb html 解析 データベース化」
でググったらそれらしいのがポツポツあるけど
0112デフォルトの名無しさん2007/03/12(月) 11:00:56
VB初心者です
VB6です。スプレッドを使っています
スプレッドの行固定したいのと、行をダブルクリックしたときのイベントのとりかた教えてください
イベントとったあと、ダイアログも表示さしたいのですが。よろしくお願いします
0113デフォルトの名無しさん2007/03/12(月) 22:21:31
>>110
エクセルコンポーネントで読み込む
0114デフォルトの名無しさん2007/03/12(月) 22:22:36
>>113
mjd?
0115デフォルトの名無しさん2007/03/12(月) 22:55:14
>>112
グレープシティのやつね。

手元に環境がないからわからないけど、インストールした
ディレクトリにサンプルソースが付いてなかったっけ?
0116デフォルトの名無しさん2007/03/15(木) 20:07:35
Dim Num As String * 256

の* 256ってどういう意味なんですか?
0117デフォルトの名無しさん2007/03/15(木) 20:44:44
Numが256バイト分の固定長文字列という意味。

仮に
Dim Num As String * 1
とした場合はNumには1バイト以上文字が代入できません。
0118デフォルトの名無しさん2007/03/15(木) 21:04:57
バイト×
文字長○
0119デフォルトの名無しさん2007/03/15(木) 21:22:33
>>118
え?バイトの意味解ってる?
8ビット分の記憶容量という意味だけど。

文字長って意味解ってる??
0120デフォルトの名無しさん2007/03/15(木) 21:28:17
Dim Num As String * 256
MsgBox LenB(Num)
0121デフォルトの名無しさん2007/03/15(木) 21:29:03
>>118
>>118
0122デフォルトの名無しさん2007/03/15(木) 21:35:51
>>118=>>120
なんでお前のようなバカが一丁前に答えようとするかね?


VBでバイトが知りたきゃ、こうだろ・・・・。


Dim Num As String * 256
MsgBox LenB(StrConv(Num, vbFromUnicode))
0123デフォルトの名無しさん2007/03/15(木) 21:43:29
>>122
それは格納されている文字の容量であって
VBが確保した変数の容量ではない
0124デフォルトの名無しさん2007/03/15(木) 22:00:30
>>117>>119>>122
Unicodeって言葉知っている?
そしてそれ (UTF-16)が32ビットVBに採用されていることを知っている?
0125デフォルトの名無しさん2007/03/15(木) 22:01:22
Numに0いれても256を返すよ?
0126デフォルトの名無しさん2007/03/15(木) 22:09:52
>>117
ひらがなって2バイトだよね?*1にも"あ"が入るんだけど
0127デフォルトの名無しさん2007/03/15(木) 22:23:11
わかりました。何バイトだろうが何ビットだろうが関係なく*1は1文字*256は256文字入るって事ですね
調べ方教えてくれてありがとう。
0128デフォルトの名無しさん2007/03/15(木) 22:25:12
>>124
だから、vbFromなんだろ。F、R、O、M。

>>126
VBがメモリを食いつぶさないように気をつかってるんだろ。
お前のような奴のために。
0129デフォルトの名無しさん2007/03/15(木) 22:45:27
>>118=>>120=>>124=>>126
バカめ。

Dim Num AS string * 1

'1を返す。
MsgBox LenB(StrConv(Num, vbFromUnicode))

Num = "あ"

'2を返す。
MsgBox LenB(StrConv(Num, vbFromUnicode))

VBがお前のようなバカのために
メモリを食いつぶさないように気をつかってるの。


なんでお前のようなバカが一丁前に答えようとするかね?
0130デフォルトの名無しさん2007/03/15(木) 22:58:09
「メモリを食いつぶさないように気をつかってる」
この意味がさっぱり分からん。
Sting*1が収納する文字によって8bitだったり16bitだったり
するとでも言いたいのだろうか? 
0131デフォルトの名無しさん2007/03/15(木) 23:07:47
*って掛けるって意味?
0132デフォルトの名無しさん2007/03/15(木) 23:17:53
だから入れた文字のバイト数えたってしょうがないだろ
*1は1文字制限っていう決め事を言ってるだけなんだから
ってことか?どんどんわからなくなるw
0133デフォルトの名無しさん2007/03/15(木) 23:20:45
129が数えているのは、「入れた文字をCP932に変換したときのバイト長」
0134デフォルトの名無しさん2007/03/16(金) 00:02:59
dim nnnn as string * 数字
は格納バイトを示すんではなく
格納文字数を示してるんだろ
0135デフォルトの名無しさん2007/03/16(金) 00:17:54
>>129
発端となったのは>>116。
String * 256の意味を聞いている以上、それにStrConvで変換を施した上でどうなるかは関係ない(別問題)。
256文字分の固定長文字列を意味すると答えれば十分かつそれ以上の意味は無い。

中にどんな文字列が格納されていようと固定長なのだから、
116のNumはString * 256だから常に256 * 2で512バイトのメモリを使う。
それを示すために120はLenB(Num)を持ち出したのだろう。

>>128でFromと書いているが、LenB(StrConv(Num, vbFromUnicode))では、
中身をマルチバイト文字列(日本語環境のWindowsではShift_JISことCP932)に変換する。
これでは本来のNumの大きさが見えない。単にNumの内容をマルチバイト文字列で表したときのバイト数に過ぎなくなる。
0136デフォルトの名無しさん2007/03/16(金) 00:28:20
>>119,121,127,128,129,131
まあ朽木は彫るべからず糞土の牆は塗るべからずって言うしな

耳の穴も口の穴も開いてるだけの木偶の坊には上出来の回答だよ
よくがんばった
0137デフォルトの名無しさん2007/03/16(金) 01:05:02
*1は16ビットをあらわしてるのか
半角数字の1も文字の"あ"も16ビットなの?
0138デフォルトの名無しさん2007/03/16(金) 01:06:33
>>137
そうだ
0139デフォルトの名無しさん2007/03/16(金) 01:17:17
なんで文字とバイトが混同されるのかわかんねぇ
文字は文字だ
文字コードを格納しているんじゃない、文字を格納しているんだ

昔を引きずるのもいいけど、ちゃんと前提条件示してからにしろよ
0140デフォルトの名無しさん2007/03/16(金) 01:17:21
でもWindowsのメモ帳で保存してプロパティのディスク上のサイズを見ると 1 は1バイト あ は2バイトになってるぞ
0141デフォルトの名無しさん2007/03/16(金) 01:18:15
ああそうかstringは文字しか入らないから1をいれても全角1になってるのかw
0142デフォルトの名無しさん2007/03/16(金) 01:21:07
>>140
それは正にStrConvでvbFromUnicodeをやった状態。

NT系のメモ帳は保存時に文字コードを選べるぞ。
Unicodeを選べばみんな1文字2バイト(とも限らないが)。
0143デフォルトの名無しさん2007/03/16(金) 01:23:49
>>140>>141
少し眠ってもいいですよ^^;;;;;;
0144デフォルトの名無しさん2007/03/16(金) 01:28:31
いや1を入れても全角になってるんじゃなくて1が1バイト分入ってもう1バイト分は空が入ってるのかもしれん
0145デフォルトの名無しさん2007/03/16(金) 01:29:21
なんでメモ帳出てきたの?
0146デフォルトの名無しさん2007/03/16(金) 01:33:33
VBSには質問スレがないようですし、ココにはどちらにも精通されてる方が多いようなので
若干スレ違いとは思いますが、質問させてください。
ページを読み込んだ後、2秒後に"testOK"を表示させる為に

Dim lngWait
TestSetTime()

Sub TestSetTime()
 If lngWait < 2000 then
   setTimeout "TestSetTime()", 1000
   lngWait = lngWait + 1000
 Else
   Msgbox "testOK"
 End if
End Sub

以上のようなスクリプトを書いて保存し
CreateElement("script")でつくったスクリプトタグの
srcに指定し、appendChildで挿入したところ、
ページ表示後、2秒後に"testOK"のメッセージを出すことができました。

次に、これを直接スクリプトタグに書いたページを読み込んだところ
1度目の 「lngWait = lngWait + 1000」までは動くのですが
TestSetTime()が再帰呼び出しされず、"testOK"が表示されません。
私の乏しい知識では理由がわからないのですが、
おわかりになる方、是非ご教授下さい。よろしくお願いします。
0147デフォルトの名無しさん2007/03/16(金) 01:34:06
VBのStringは
Dim aaaa as String * 2
と宣言した場合
aaaa = "1234"
と格納した場合、メモリ上には
" 1 2 3 4"
バイナリじゃ
20 31 20 32 20 33 20 34
と格納されるんじゃないの?
01481472007/03/16(金) 01:35:00
20 31 20 32 20 33 20 34
じゃなくて
00 31 00 32 00 33 00 34
かな
0149デフォルトの名無しさん2007/03/16(金) 01:37:03
2文字分しか確保してないから3と4は代入時に切り捨てられるよ
0150デフォルトの名無しさん2007/03/16(金) 01:38:44
でもmsgboxすると" 1 2"じゃなくて"12"なんだよな
0151デフォルトの名無しさん2007/03/16(金) 01:40:22
>>147
内部表現を問題にするなら”本当の仕様書”を引っ張り上げないといけないから面倒
てか俺は知らない

で、俺の知ってる観測方法は byte() に代入か、StrPtr()で”文字列のポインタ”を拾ってそこからメモリを見る位だ
この適当な観測から>>148は腐ってることが分かった
0152デフォルトの名無しさん2007/03/16(金) 01:42:13
>>146
とりあえずコピペで状況再現できるの作ってみて?
0153デフォルトの名無しさん2007/03/16(金) 01:45:40
>>151
こいつがこのスレで一番レベルが高そうだな
0154デフォルトの名無しさん2007/03/16(金) 02:56:23
>>149
すまん、* 2 じゃなく * 4 だった

>>150
そうなるはず

>>151
実際検証して結果を出してから腐ってるかどうか判別したほうがいいんじゃない?
憶測だけで腐ってるか判断するんだね
0155デフォルトの名無しさん2007/03/16(金) 03:54:09
0x0とか&HF0ってなんですか?
0156デフォルトの名無しさん2007/03/16(金) 10:49:53
>>154
乙

>>155
なんでしょう?
0157デフォルトの名無しさん2007/03/16(金) 11:25:18
>>151
検証してやったよ。 APIのlstrlenを使って。

Dim s As String * 3,ss As String * 3

MsgBox lstrlen(s) :MsgBox lstrlen(ss)
この時点で変数sが初期化されていないので結果は0。
つまり、宣言時は何も確保されていない。

次に変数を初期化してバイト数を計測
s = vbNullString: ss = vbNullString
MsgBox lstrlen(s): MsgBox lstrlen(ss)

結果は共に3バイトを返す。よって、あの宣言は3バイトという意味。
最後に片方にVB規定のユニコードで全角と半角で3文字代入

s = "あいう": ss = "123"
MsgBox lstrlen(s): MsgBox lstrlen(ss)

結果はsが6バイト。ssが3バイト。
VBは変数に代入時に無言でコンバート処理を行うか、メモリ領域を拡張しているか
しているんじゃないの。

>>155
16進数と明示的に宣言している。
0158デフォルトの名無しさん2007/03/16(金) 11:38:03
>>157
お前DLL呼び出すときに byval string が変換されるの知ってるか?
0159デフォルトの名無しさん2007/03/16(金) 11:41:47
>>155
前者はCやJavaなどの16進数表現による整数リテラル
後者はVBやBASICなどのそれ
0160デフォルトの名無しさん2007/03/16(金) 11:54:39
>>158
valでもrefでもanyでも宣言していいから、説明しろ。
0161デフォルトの名無しさん2007/03/16(金) 12:00:50
何説明してほちいんでちゅか〜?
0162デフォルトの名無しさん2007/03/16(金) 12:03:27
わからないなら、書き込むなよ、屑が。
0163デフォルトの名無しさん2007/03/16(金) 12:08:41
(^A^)m9 pgrwwwwwww
0164デフォルトの名無しさん2007/03/16(金) 12:19:18
byref string だとBSTRでUNICODEじかだっけか。
Shift-JISで漢字交じりの固定長レコードを読み書きするのにえらく苦労した記憶があるな。
0165デフォルトの名無しさん2007/03/16(金) 13:01:46
>>157
文字を扱うAPIはUnicode版 (W)とマルチバイト版 (A)がある。
VBが無言でコンバートするのはDeclareで宣言した関数を呼び出すとき。
String型の引数・戻り値をマルチバイト文字列へ変換してから関数を呼び、その後再びUnicode文字列へ戻している。

それもあって普通はAliasを使ってA版のAPIを使うが、String以外なら変換はされないので
たとえばこうすると直接マルチバイト文字列へ変換せずにAPIへ文字列を渡せる。
Declare Function lstrlenA Lib "kernel32" (ByVal s As String) As Long
Declare Function lstrlenW Lib "kernel32" (ByVal s As Long) As Long

Sub Test()
    Dim s As String
    s = "あいうえおABC"
    MsgBox lstrlenA(s) & " " & lstrlenW(StrPtr(s))
End Sub

しかし、そもそもlstrlenはメモリの大きさではなく、Cの文字列の長さを返す関数。
Cだと文字列の長さとは、ヌル文字の手前までの要素数。
(VBの文字列も実はヌル文字が後ろに付いている)
上のコードでs = "あA" & Chr$(0) & "いB"などととすれば違いがわかると思う。
0166デフォルトの名無しさん2007/03/16(金) 13:04:08
あと、vbNullStringをString変数に代入しても初期化されるわけではない。
APIを使ってStringの中身をByte配列を写し取ってみればわかる。
Declare Sub MoveMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)

Sub Test()
    Dim s As String * 1
    Dim b(1) As Byte
    s = vbNullString
    Call MoveMemory(b(0), s, 2)
    MsgBox Hex$(b(0)) & " " & Hex$(b(1))
End Sub
0167デフォルトの名無しさん2007/03/16(金) 13:16:15
site:microsoft.comでググってもVB .NETのことしかばかりだ。

すまんな、Stringに付いて触れているのがこれくらいしか見付からなかった。
http://support.microsoft.com/kb/187912/en-us
MORE INFORMATIONのところをよく読め。URLのen-usをjaすれば日本語機械翻訳になる。
0168デフォルトの名無しさん2007/03/16(金) 13:22:34
ピクチャーボックスの中にイメージを配置してピクチャーボックスに何か表示させると
イメージの前面に表示され、イメージが隠れてしまいます。
イメージのvisibleをFalse、Trueにしたりイメージを移動させると
イメージは表示されるのですが、イメージがあった箇所のピクチャーボックスに表示した部分が欠けてしまいます
イメージが隠れないようにピクチャーボックスに表示させたいのですが、どうすればいいいでしょうか
0169デフォルトの名無しさん2007/03/16(金) 15:08:45
>>168
疑問点があるので逆質問
・ピクチャーボックスの中にイメージを配置とは?
・ピクチャーボックスに何か表示させるとは?
・イメージが隠れてしまうとは、背景食が見える状態?それ以外?

日本語で状況説明が難しいなら、再現できる環境とソースコードうpして
0170デフォルトの名無しさん2007/03/16(金) 15:47:50
・ピクチャーボックスの中にイメージを配置とは?

イメージとピクチャーボックスを別々にフォーム上に配置すると
イメージとピクチャーボックスが重なった部分でイメージがピクチャーボックスの下に隠れてしまうので
イメージを切り取ってピクチャーボックス上で貼り付けました

・ピクチャーボックスに何か表示させるとは?

今はクリックしたときに線を描画したり塗りつぶした四角を描画したりしているのですが
それでイメージが隠れてしまいます

・イメージが隠れてしまうとは、背景食が見える状態?それ以外?
描画した線などで線の部分のイメージが見えなくなるという意味です

描画した線
イメージ
ピクチャーボックスの背景

上からこういう感じです
0171デフォルトの名無しさん2007/03/16(金) 20:50:33
>>164-167
レベルが高すぎて逆に迷惑
このスレは円周率も四捨五入して教えるところ
0172デフォルトの名無しさん2007/03/16(金) 20:57:45
でもゲームの最強武器を知ってて早く使いたくてわくわくしながら最初からプレイしてる感じ
言ってる内容はわからなくてもプログラミングがなんだか楽しくなってくる効果はある、かな?w
0173デフォルトの名無しさん2007/03/16(金) 22:10:59
ディストリビューション ウィザードでプログラムのインストールはできるのですが、
今度、プログラムのあるディレクトリに「tips」というディレクトリを作ってし、そこに
html文書を入れ、プログラムから呼び出したいと思っていて、そのようなインスト
ールプログラムを作成するのに試行錯誤しています。

ディストリビューション ウィザードで、プログラムと同じディレクトリに、別のディレ
クトリを作って、その中にhtml文書を納めるようなインストールプログラムはでき
るのでしょうか。

ただ単に「add」でhtml文書を加えると、ディレクトリができないし…・。

すみません。どなたか、アドバイスをお願いできますか。
0174デフォルトの名無しさん2007/03/17(土) 01:35:59
>>173

[email protected],$(AppPath)\tips,,,3/16/07 3:17:37 AM,845,0.0.0.0

のようにAppPath)の後ろにディレクトリ名を入れると出来ることがわかりました。
0175デフォルトの名無しさん2007/03/17(土) 22:25:19
'INETを使いたいのですが宣言の時点でエラーが出てしまいます
'何が間違ってるのでしょうか?

Dim inet1 As New Inet

---------------------------
Microsoft Visual Basic
---------------------------
コンパイル エラー:

New キーワードの使用法が不正です。
---------------------------
OK ヘルプ
---------------------------

'VB6SP6です
0176デフォルトの名無しさん2007/03/17(土) 22:34:15
>>175
参照設定した?
0177デフォルトの名無しさん2007/03/17(土) 22:44:31
>>176
コンポーネントに追加していましたが
MSINET.OCXを参照設定するように変更したところエラーがでなくなりました
ありがとうございます
0178デフォルトの名無しさん2007/03/18(日) 02:45:41
>>171
でも、しっかりした説明のおかげで不毛な罵り愛が終了しました。
GJだと思います。
0179デフォルトの名無しさん2007/03/18(日) 11:52:42
どうすればTextboxの書き換えを出来ないようにできますか?
Text1.ReadOnly = Trueとしてもうまくいきません
0180デフォルトの名無しさん2007/03/18(日) 11:56:07
スレ名も見れないようじゃ先行き暗いな
つ http://pc11.2ch.net/test/read.cgi/tech/1173061176/
01811792007/03/18(日) 11:58:29
>>180
VB6でお願いします
0182デフォルトの名無しさん2007/03/18(日) 12:02:12
> Text1.ReadOnly = Trueとしてもうまくいきません 
・.NETにしか見えない
・「うまくいかない」ってだけ言うな

ユーザからの書き換えを不能にするのは Locked プロパティ
プログラム上から書き換えを不能にするのは、ロジックでカバー
■ このスレッドは過去ログ倉庫に格納されています