トップページ⇒tech
993コメント374KB

VB初心者質問スレ Part4

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
VB初心者質問スレPart3
http://pc.2ch.net/test/read.cgi/tech/1000523122/
0263クリスタルレポートNGNG
現在、VBからクリスタルレポートを開く時、
参照先のDB名を変更出来なくこまっています。
下記のコードのように幾つか試しているのですがうまくいきません。
ご存知の方がいらっしゃいましたら、是非教えて下さい。
バージョンは、VB6.0、Crystal Reports8.5
DBは、DB2、バージョン7で、RDO接続です。
初心者ではありませんが、どうかよろしくお願いします。

Dim Report As New CrystalReport1
Public rEn As rdoEngine
Public rEv As rdoEnvironment
Public rCn As rdoConnection
Public rRs As rdoResultset
Public sCnct As String
Public str_SQL As String

Private Sub test_Click()

sSQL = SQL_MAKE() 'SQL作成

sCnct = "DSN=DB2TEST2; UID=ADMINISTRATOR; PWD=******" ' システムDSN

Set rEn = rdoEngine
Set rEv = rEn.rdoEnvironments(0)
Set rCn = rEv.OpenConnection("", rdDriverNoPrompt, False, sCnct)
Set rRs = rCn.OpenResultset(sSQL)

'レコードセットを与える
Report.Database.SetDataSource rRs, 3, 1
'システムDSNを与える
Report.Application.OpenReport("Report1.rpt").Database.Tables.Item(1).SetLogOnInfo (sCnct)

CRViewer1.ReportSource = Report
CRViewer1.ViewReport
CRViewer1.Zoom (2)

End Sub
0264デフォルトの名無しさんNGNG
>>222
テキストボックスにマウスが入ったら
キャプチャーして、出て行ったら色直して
解放してやるのが一番無難ではないかと思われ。
0265デフォルトの名無しさんNGNG
>254
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
 
Debug.Print "Form_KeyDown"; KeyCode; Shift; GetKeyState(vbKeyMenu)
 
If KeyCode = vbKeyR And (Shift And 4) = 4 Then
  Debug.Print "Enterを押下したことにする"; KeyCode; Shift; GetKeyState(vbKeyMenu)
  Call KIS_keybd_event(vbKeyMenu, 0, KEYEVENTF_KEYUP, 0)
  Call KIS_keybd_event(vbKeyReturn, 0, 0, 0)
  Call KIS_keybd_event(vbKeyMenu, 0, 0, 0)
ElseIf KeyCode = vbKeyReturn And (Shift And 4) = 4 Then
  Debug.Print "フルスクリーン"; KeyCode; Shift; GetKeyState(vbKeyMenu)
ElseIf KeyCode = vbKeyReturn And (Shift And 4) <> 4 Then
  Debug.Print "Enter押下時の処理"; KeyCode; Shift; GetKeyState(vbKeyMenu)
End If
 
Exit Sub
 
どうもGetKeyStateは254さんの思ったとおりの動作をしていないようです。
使用しないほうがよさげ。
0266デフォルトの名無しさんNGNG
>>262
ScaleModeは関係ないかと
0267デフォルトの名無しさんNGNG
>>266
確かに。スマソ。鬱氏。
0268デフォルトの名無しさんNGNG
>>260,262さん
>ところで、FormのStartUpPositionプロパティで「画面の中央」じゃ駄目なの?
これで解決しました。勉強不足でした。

>>261
>パスワードを暗号化して保存するぐらいは
暗号化とはどういうことをするのでしょうか
初心者ですので、もしできれば詳しく説明してただければと思います
レスサンクスです
0269デフォルトの名無しさんNGNG
>>268
初心者だからと行って何でも許されるわけではない。
0270デフォルトの名無しさんNGNG
>>268
パスワードを逆にしたり全バイト1足したり
Xor使ったり色々。
要は暗号化後には暗号前が分からなくすれば良い。

どう実装するかは自分で考えようね。
0271デフォルトの名無しさんNGNG
vb5.0エンプラ版+SQLserver7.0スタンダード版で開発しているのですが、
接続しているデータベース・テーブルが更新・追加等された際の
イベントってあるんでしょうか?

これがわからない為に、ロード時にadodb.connectionを
バインドして、タイマー毎にadodb.commandでsp_whoやsp_lock、自前の
ストアドを走らせて確認し、イベントを発生させています。

ここが出来れば、ADO関係はActiveXDLLにして
実行プログラム自体にはraiseeventしてやるだけで
済むので大分楽になるなーっていう手抜きしたさのみでこれに
ついて調べています。

日本語が不自由ですみませんがこの辺実践してる方
いましたらご教示ください。お願いいたします。
0272271NGNG
すみません‥sage‥
0273268NGNG
問題外の質問と言われそうですが
暗号化の目的がよく理解できないんですが
例えばパスワードが1234としたら
テキストファイルには4321と書いて保存すると言うことですよね
1234と暗号化しないで書いても特に不都合はないように思うのですが
0274デフォルトの名無しさんNGNG
>>273
パスワードなんて物騒なもんが平文でその辺に置いてあることの
危険性が理解できない奴の作ったプログラムなんか使えねえよ。
0275デフォルトの名無しさんNGNG
便乗で、暗号化教えて。
XOR演算でやってみたけど、いまいちうまくいかないです。

日本語を暗号化するときも、表示可能な文字に暗号化したい。
暗号前の文字列が長さ0の時でも、暗号化ルーチンを見破られないようにしたい。

自前より、APIのCryptを使ったほうがいいのかな。
0276 NGNG
>>273
んじゃあ、オマエのインターネットのIDとパスワード教えろ(w
0277デフォルトの名無しさんNGNG
>>275
例えば、8bit×3をxorしたあと、6bit×4として取り出せば必ず表示可能な
範囲に収まる。
0278261NGNG
>>268
unixのパスワードなんかは暗号化して保存しているから
その辺を調べてみると参考になるかもしれません。

簡単なサンプル。

'復号化は自分で作ってね。
'パスワードが正しいか判定するだけなら、ユーザが入力したパスワードを
'暗号化して、ファイルに保存してある暗号化パスワードと比較すれば判定
'できるから、必ずしも復号化は必要じゃないけどね。

Function crypt(src As String) As String
Dim l As Long, i As Long, ret As String, c As Long
Rnd -123
l = Len(src)
For i = 1 To l
c = Asc(Mid$(src, i, 1)) Xor Int(Rnd * &H10000)
ret = ret & Right$("0000" & Hex$(c), 4)
Next
crypt = ret
End Function
0279デフォルトの名無しさんNGNG
>>275
>暗号前の文字列が長さ0の時でも、暗号化ルーチンを見破られないようにしたい。
長さが一定以下なら末尾にゴミを突っ込んでから暗号化するとか。
0280275NGNG
ありがとーう やってみます。
DB接続のユーザ名とパスワードをIniファイルに保存したかったもので。
0281265NGNG
誤)KIS_keybd_event
正)keybd_event
ウツ...
0282263クリスタルレポートNGNG
解決しました、
お騒がせして申し訳ありませんでした。
0283デフォルトの名無しさんNGNG
すいません、ファイルを読み込んで1バイトずつループまわして
文字列を比較してきたいんですけど、うまくいきません。
MidB$とかやっても内部でUniCodeしてるみたいなんで。
助けてください。
0284デフォルトの名無しさんNGNG
>>283

dim wk() as byte
wk()=Strconv( "文字列",vbFromUnicode )

後はバイト配列を一つづつ比べれ。
バイト配列の最大はubound(wk())とかやで。
0285デフォルトの名無しさんNGNG
>>283
ファイルを読み込むにはInputかGetを普通使うが、
どちらを使うかでUnicodeとANSIに分かれる。
注意しようね。
0286デフォルトの名無しさんNGNG
最小化した時、右下のタスクトレイに格納される様に
VBでできますか?
0287デフォルトの名無しさんNGNG
>>286
できる。API必須。
0288271NGNG
>>283
文字列だったら
line inputで行単位でとって
ただのmid()で文字数分まわして
やればいいんじゃないでしょうか?
違ったらすみません。
0289286NGNG
>>287
できれば、モスウコ氏具体的にやり方など教えてくださいませんか・・・?
0290286NGNG
モウスコ氏って誰だ・・・。「もう少し」です。鬱・・・。
0291286NGNG
よ、よく見たらモスウコ氏だ・・・。再鬱・・・。
0292287NGNG
>>286
まず、タスクトレイにアイコンを登録するために
Shell_NotifyIconが必要。

次にタスクトレイのクリックを取得するために
サブクラス化が必要。

サブクラス化には
SetWindowLongとCallWindowProcが必要。

んで、最小化の時にタスクトレイのアイコンを表示。
タスクトレイのクリック時にフォームを表示。

・・・ってな感じで。

サブクラス化もタスクトレイのアイコンの登録の仕方も
ネットに山ほどサンプルあるからGoogleあたりで検索してみな。

あと、落ち着け。(w
0293デフォルトの名無しさんNGNG
タイピングゲームに関することなんですが。
キーボード入力を取得するにあたり、それが「確実に」
キーボードから入力されたかどうかを判定する方法はあるでしょうか?
仮想キーコードを独自に送出するツールなんかからの
入力は無視したいんですが。
GetKeyStateは試してみましたが、うまくいきませんでした。
なんかハードウェアを直接制御するしかないのかなぁとか思ってるんですが。
(そのやり方もよく分かってませんが・・)
0294デフォルトの名無しさんNGNG
VBでWindowsよりいいOSを作ています。
マルチスレトにするには、どのAPIを使えばいいですか?
教えてくれたら人は、売れたらお金をあげます。
あと、デュアルCPUのAPiも教えてください。
0295268NGNG
>>278
サンプルまでありがとうございます
コピペして試しました

ただ、一つだけ
Rnd -123
これの意味がわからないです
あとは調べたら理解できました
0296261NGNG
>>295
乱数系列を初期化しています。
その行が有る時と無い時で
debug.print crypt("ABCDE") , crypt("ABCDE")
の出力を見比べると解ると思います。
0297デフォルトの名無しさんNGNG
>>284
>>285
>>288
どうもっす。やってみます。
0298ラーニングNGNG
ラーニングソフトではDBグリットが使えませんでした・・・。
アクセスで作成したDBを操作したいのですが、どうコーディングしたらよいのか
さっぱりわかりません。
参考書はBDグリットの使い方しか、載ってません。

具体的にしたいことは
1.ファイルをオープンし、データを追加する。
2.ファイルをオープンし、データを修正する。
3.ファイルをオープンし、データを削除する。
(なんそ命令が違うらしいと聞いたので)
4.クローズ

すいません、どなたか教えてください。
0299デフォルトの名無しさんNGNG
>298
そのやりたい操作とDBGridに何の関係が...?
0300ラーニングNGNG
DBグリッとが使えると、コーディング量がぐっと減るし、
フォームでデータが関連付けできるから、楽なんです。

しかし、ラーニングではできない(プロフェッショナルならできるんだけど)
ので、教えてもらいたいんです。
0301デフォルトの名無しさんNGNG
...ネタ?
0302ラーニングNGNG
ネタではなくて、困ってるんです。

DBグリッとがあれば、オープンもクローズもしないで
DBへ書き込んで、次のレコードへブックマークセットして・・・
みたいなコーディングで終わるんでしょうが、
1対NでN側のDBをDBグリッと無しで操作しようとする場合、
DBオープンして内容を操作してクローズするといった処理が必要になると
思うのですが、参考書はDBグリッとの使用方法しか載ってないんですよね。

だから、知っている人がいれば、教えてもらえたらなと・・。
0303ラーニングNGNG
ラーニングはプロフェッショナルに比べ、値段も安い分、機能も制限されています。
アクティブXの機能は使えない。いたーいです。
0304デフォルトの名無しさんNGNG
ラーニングのVB使ってる人はじめてみた。
ちょっと感動。
0305 NGNG
>>304
おいらも使ってるよ。金が無かったんだよ。激しく後悔。
0306デフォルトの名無しさんNGNG
>>298
LearningEditionって、ほんと何もできないのね…。
使ってても学習になるのかどうか疑問だ。

すまんね、ADOもDAOも使わずにDB操作したことないんで
役に立てそうにないわ。
0307301NGNG
>302
...そうか。疑ってスマソね。

DBGridを使う場合、普通はデータコントロールを対にして使う。
折れはSQL鯖との組み合わせしか知らないけど一応参考にしてくれ。

まず、グリッドと対になるデータコントロール(ADODC)をフォームに貼り付ける。
んで、DBGridのDataSourceプロパティには連結するADODCを指定する。
ADODCには、接続するDBやテーブルに関するプロパティを設定してやる。

実行すると、ADODCの設定に応じてDBへのConnectなどが行われて
結果がGridに反映される。
こんな感じ。
0308デフォルトの名無しさんNGNG
ラーニングエディションって、
●カスタムコントロールが使用不可
●ネイティブコンパイルが使用不可
●配布不可
だったっけ?

うーむ・・・確かにきついな。

んで、>>298
DAOは使っていいんだよね?
あと、参照設定って使えたっけ?
使えるんなら参照設定で
「Microsoft DAO 2.5/3.0・・・」
をチェックして、

Function a()
Dim DB as DAO.DataBase,RS as DAO.Recordset
Set DB=DAO.OpenDataBase("C:\Hoge.mdb")
Set RS=DB.OpenRecordSet("HogeHoge")'テーブル名
MsgBox(RS!HogeHogeHoge)'フィールド名
RS.Close
Set RS=Nothing
Set DB=Nothing
End Function

は駄目?
0309デフォルトの名無しさんNGNG
あの〜、以前「箱入り娘」ゲームをVBで作ろうとしてカキコさせて
もらったのですが、どうもうまくいきません。

↓サンプル(JAVA)
http://hp.vector.co.jp/authors/VA006860/hako/sample1.html

サンプルはJAVAですが、どうしてもVBかVCで作りたいのです。
なにがうまくいかないか、というと、駒をマウスでドラッグアンドドロップで
動かす時に他の駒の上に重ならないようにしたいのです。
ドラッグアンドドロップ中のオブジェクトの動きって制限できるものなの
でしょうか?私はFormの上にImageコントロールを置いているのですが、
そのやり方自体、間違っているのでしょうか?
どなたかどうか教えてください。
0310ラーニングNGNG
提出期限は過ぎたけど、就職の課題だった。
正味8日。子供がいるので時間的にきつかった。
VB初めてだし。
どうしても、DBの直接操作の部分がうまくいかない。
オープンができても、フィールド名が取れなかったりと、
参考書もプロフェッショナル版の内容で書いてあるから、
どれが使えて、どれが使えないか判らない。
エラーがでても、自分が悪いのか、サービスされてないのか、
それを解明するのにかえって時間がかかりました。

しかし、プロフェッショナルは8万。ラーニングが2万4千。
う〜ん。価格の差があるだけのことはあると思いました。
0311ラーニングNGNG
>>308
ありがとうございます。
オープンは何とかできるようになりました。
現在フィールド名が認識されないので、作業がストップしてます。
0312デフォルトの名無しさんNGNG
>309
こないだレスした者ですが、そのやり方自体は間違ってないです。
置けるか置けないか判定するのに、XY座標の2次元配列を使います。
で、Masu(1 to 4, 1 to 5)だと、娘がMasu(2, 4)まで来たらゴール。
0313デフォルトの名無しさんNGNG
>>312
うーん・・・。
サンプル→http://hp.vector.co.jp/authors/VA006860/hako/sample1.html
みたいに、「移動できる方向」も判定したいのです。
ドラッグアンドドロップだと、とりあえず置けはしないけど、
どこにでも行けてしまう!(MouseDownイベントで座標取得、後ドラッグアンドドロップ)
サンプルのJAVA解析しろやゴルアって話もあるんですが、
あいにくJAVAを知らないので・・・。
これがVBの限界なんですかね・・・。
0314312NGNG
>313
置けないところにいったん置いてから、「そこには置けません!」で
元に戻すのじゃなくて、最初からドラッグの方向を制限したいわけね。
DragOverイベントで、マウスの座標を監視するだけよ。
0315313NGNG
>>314
なるほど、そういう方法があったのかー・・・・。
勉強になりました!
0316301NGNG
>309
ちなみに、VBでゲーム製作なら、コントロールは何も使わずに
Formに直接Bltとかしてやったほうが細かく制御できるよ。
コーディング自体はちょっとメンドくなるけど。
0317309NGNG
>>301

>Formに直接Bltとかしてやったほうが

それってBitBlt関数のことですね。
今、MSDN見て初めて知りました。
確かに大変そうだけど、VBでやるなら
しょうがないか・・・・・。
0318デフォルトの名無しさんNGNG
>>316 がんばる気があるならDirectXというテも...
0319192NGNG
>>194
すごく遅れましたが、ありがとうございました。
フォントを変えるたび値を設定しなおしてやりました。
それでも若干縮んでしまいますが・・・。なんでなんでしょうねえ
0320デフォルトの名無しさんNGNG
>>317
一応BitBltはWindowsの基本なんで。
慣れるとむしろそっちの方が簡単だよ。

今更コントロールでゲームを作れっていわれても
ピンとこない。(w
0321デフォルトの名無しさんNGNG
将来性とか考えて、初心者が今からVB始めるなら、
何を買うのがベスト?

Microsoft Visual Basic 6.0 Learning Edition
とか買おうかケソトウ中。
0322VB使いNGNG
>>321
・・・将来性ならVC++じゃねえか?VBスレだが。
VB6.0ならプロフェッショナルにしとくべし。
過去レスにラーニングで後悔した人がいっぱいいる。
0323デフォルトの名無しさんNGNG
>321
上でもLearning使って難儀してる人いたよ。最低でもProにしとけ。
高い!って思うなら、Delphiとかは?
Personalは確かに機能限定はあるけど、なにしろタダだし...
0324デフォルトの名無しさんNGNG
今、mouse_eventというAPIを使ったプログラムを組んでいるのですが
マウスカーソルの移動をさせる動作が、どうしても
うまくゆきません。
Call mouse_event(MOUSEEVENTF_MOVE, x, 0, 0, 0)
とやったら、Xピクセルほど移動してくれなくてなんか変な場所に
カーソルが行ってしまったりします。

ともかく、ディスプレイ上の(x,y)の座標にカーソルを移動させる方法
を誰かお願いします。
0325321NGNG
>322
>323
サンクスコ
何か作ったらウプするよ。
0326314NGNG
>315
ドラッグで処理しようっていうこと自体がどうも間違いだったみたい(汗)。

MouseMoveは使わない方がいいよ。コードによってはスタック不足になりやすいから。

DragOverもふさわしくなかった。動けない方向へは動けないようにするために、
1ドットでもマウスの移動を検知したら、ドラッグを即キャンセルするんだけど、
斜めの場合、XY方向のどちらを重視するかとか、余計な処理が必要になる。

で、解決法だけど、Image上のクリックだけで空いてる方向に動かすのはどう?
スライドパズルの場合、動ける方向はほとんど決まってるわけだから。
ただし、1コマ大が左右または上下の2方向に動ける場合とかは、
そのつど、Imageのどちら半分がクリックされたか判定すればオッケー。
0327314NGNG
>324
x座標と変な場所の法則性は?
xの型と値は?
ピクセル座標系に変換してるかな?
これが一番間違いやすいと思う。
0328箱入り娘作成中NGNG
>>326
Image上のクリック・・・・。
確かにBitBltを使いこなすのは初心者の私には
難しいかもしれない。
でもー、サンプルのJAVAのソース↓
http://hp.vector.co.jp/authors/VA006860/hako/HakoApplet.java
だと、MouseDownとかMouseDragとかいう関数が・・・。

JAVAアプレットだと作りやすいのかな?
よくよく考えたらWindowsアプリじゃないしー。
同じ方法でやろうとしてたって事が間違ってた・・・・。
うんうん、理解、理解。
0329箱入り娘作成中NGNG
>>326
Image上のクリック・・・。
そっかー、そのやり方がいまのところ
ベストかもしれないです。
BitBltはVB初心者の私には難しすぎるっ
でもー、サンプルのJAVA(アプレット?)は
mousedownとかmousedragとかあるんですけど、
やっぱり、全然作り方が違うのかなー。
よくよく考えるとJAVAのサンプルはWindowsアプリじゃないし、
やっぱりマウスの制御でやろうというのは方向性が
間違っていたんだー。うんうん、理解、理解。
0330デフォルトの名無しさんNGNG
はじめまして。質問させて下さい。
Text1に手打ちで「C:\Windows\aaa」などとパスを書いて、
そのフォルダが有るか無いか判断するにはどうしたら良いですか?
お願いします。
0331ヒッキー@プログラミングNGNG
>>330
Dir関数を使われてはどうでしょう?
0332なつかしいね〜NGNG
>>322
私もVB6.0PROを買いたかったんだけど
アカデミックと通常版の値段を見て買う気
をなくした。
別に金が無かったわけじゃないけど、ムカツイテ
Delphi6.0PROを買ったよ。
0333デフォルトの名無しさんNGNG
学生なのでVS6.0Proを買っちゃいましたー(^o^)
あと7000円ほど出せばEntも買えましたけど。
0334デフォルトの名無しさんNGNG
ろくでもない学生なんぞのためにソフトを安くするな。
0335デフォルトの名無しさんNGNG
>>334

安くしているんじゃなくて、それがコスト+儲けなんだよ。
商用利用に使えるやつ(通常版)は、そのソフトを使って儲けるわけだから高いんだよ。
0336ひどいよマイクロソフトNGNG
あの価格差は余りにも異常、、、、
0337335NGNG
学生以外も使える商用利用不可のバージョンも出せばいいのに>マイクロソフト
0338デフォルトの名無しさんNGNG
爺なんか、すぐ死ぬだろ!
ガキを洗脳するのが重要なんだよ。
将来の大事な金づるだ。
0339ひどいよマクロメディアNGNG
しかし、Flash5の差の小ささも許せないね、、、、
0340デフォルトの名無しさんNGNG
知り合いの中学生か高校生、大学生に頼めばいいじゃんよ。
0341箱入り娘作成中NGNG
328,329
ほとんど同じ内容でカキコしてしまった。
スマソ
0342ひどいよマイクロソフトNGNG
それが、いないのよ知り合いに学生が、、、
0343デフォルトの名無しさんNGNG
アカデミックは、教育のために金のない学生に安く・・・
なんてMSがやるわけないだろゴルァ
金がある奴からは搾り取る
ガキはどうせ払えないんだから、他社より安くして洗脳する
そのうちアカデミックフリーとかやりだすかもな
0344VB使いNGNG
>>324
今日は休みなんでサンプル作ってみた。
フォームにコマンドボタン貼り付けて
フォームにこのコードを貼り付けること。

Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, _
ByVal DX As Long, ByVal dy As Long, ByVal cButtons As Long, _
ByVal dwExtraInfo As Long)
Private Const MOUSEEVENTF_ABSOLUTE = &H8000
Private Const MOUSEEVENTF_MOVE = &H1

Private Sub Command1_Click()
Dim x&, y&
x = 1200: y = 300 '移動したい座標

mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_MOVE, _
x * (65535 / (Screen.Width / Screen.TwipsPerPixelX)), _
y * (65535 / (Screen.Height / Screen.TwipsPerPixelY)), 0, 0

End Sub

もしかしたらもう解決済みか?(w
昨日の話だしなあ。
0345>NGNG
.NETっていつでるんですか.
0346VB使いNGNG
>>345
知らん。
0347 NGNG
VBでゲームを作ろうと思ってるんですが
2つのキャラクターとかがぶつかったときの
あたり判定とかってどうやって設定したらいいんですか?
0348デフォルトの名無しさんNGNG
>>345
http://www.microsoft.com/japan/developer/vstudio/
毎日チェックせれ。
0349314NGNG
>箱入り娘作成中さん
自前ドラッグのサンプル。フォームにイメージを1個貼って実行。
右方向に1コマ分しか動かせないという条件です。

Dim DragX As Single, DragY As Single
Dim OrgX As Single, OrgY As Single
Dim MoveFlag As Boolean

Private Sub Form_Load()
  Image1.Appearance = 0 '' フラット
  Image1.BorderStyle = 1 '' 実線
  OrgX = Image1.Left: OrgY = Image1.Top
  MoveFlag = False
End Sub

Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  MoveFlag = True '' ドラッグ開始
  DragX = X: DragY = Y
End Sub

Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  Dim NowX As Single
  If MoveFlag = True Then '' ドラッグ中?
    NowX = Image1.Left + X - DragX
    If NowX >= OrgX And NowX < OrgX + Image1.Width Then '' 範囲内?
      Image1.Move NowX, OrgY
    End If
  End If
End Sub

Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  MoveFlag = False '' ドラッグ終了
End Sub
0350VB使いNGNG
>>347
基本は矩形(四角形)処理。
APIにもそれ用の関数がある。

つまり、矩形1と矩形2とを比べて、
重なっていたらヒット。
重なってなかったらはずれ。ってな感じで。

キャラごとに矩形をいくつか設定すると
複雑なキャラでも結構それなりに使える。

格闘ゲーム系も同じやり方でやってる。はず。(w
0351デフォルトの名無しさんNGNG
うちのVB6のTreeViewオブジェクトのデザイン時プロパティの
HotTrackingプロパティの説明に
「マウスすプロパティ・・・」と書かれているんですけど、これが普通ですか?
Microsoftに言ったら何かもらえますか。
0352VB使いNGNG
>>351
ホントだな。初めて知ったよ。
地図は間違いがあったら図書券もらえるらしいけどな。
0353デフォルトの名無しさんNGNG
vbでのネイティブコードコンパイルなんですが
コンパイルする度に.obj生成してlinkしてcleanしてるような気がする
C2.exeとLink.exeの引数解ればnmake.exeで
コンパイルする事は可能ですかね?
教えてちょ
0354>345NGNG
ああ,どうも.確か今年中に出るって言ってたような気がするんだが・・.Windows XPみたいに誰でも使うものではないから話題になってないだけかと思ったが,どうも本当に出る気配はなさそうだな.
0355デフォルトの名無しさんNGNG
VB勉強してます。
データへのアクセスというところででてきた、フレキシブルグリッドというコンポーネント
が使用できなくて困ってます。
プロフェッショナルをインストールしてあるのに、
フレキシブルグリッドを使用するためのライセンスがありませんといわれます。
なぜ??
0356314NGNG
>箱入りさん
2時間ぐらいで、例のJavaアプレットをVBに移植しました。遊べます。
コマはまだ色の四角形ですが、GIF画像ファイルを入手すれば
即置き換えられます。

マウス座標の取得がFormと別々になるので、Imageコントロールは使わず、
Formだけにして、非表示のPictureBoxからPaintPictureします。

Java固有のスレッドやイベントの制御コード部分は無視してかまいません。

ほか
 1.あのままではマウス移動の判定が鈍いので、改良。
 2.手数を表示。←これは必須
0357箱入り娘作成中NGNG
>>356
ん?板チェックしに来たら、もう出来てる?!
私はまだ完成してません。
もしかしてImageコントロールをFormにペタペタ貼ってた
のが、ただでさえ初心者の私をさらに追い込んでたとか・・・。
そんな気がしてきた!
0358とて〜も初心者NGNG
VBで作ったものってDLLがいるとよくいいますが
私のパソコンでは(VAIOノートのPCG-FX33G/BP)DLLがないとか
言われたことはありません。
DLLを入れた記憶はないのですが、メーカー製のものってDLLとかが標準で
入ってるってことですか?
0359デフォルトの名無しさんNGNG
っていうか箱入り娘のレベル1も解けないんだけど
0360箱入り娘作成中NGNG
>>359
作ってる私も解けません。
0361箱入り娘作成中NGNG
フォームに絵が出ない・・・。
ファイルのパスは合ってるのに。なんで?

Private Sub Form_Load()
Dim Pic_Waku As Picture
Set Pic_Waku = LoadPicture("C:\〜省略〜\koma0.gif")
frmMain.PaintPicture Pic_Waku, 0, 0
End Sub
0362デフォルトの名無しさんNGNG
>>361
frmMainにじかに書いているわけですね。
恐らくfrmMainのAutoRedrawがFalseになってるせいです。
この辺はWindowsの仕組みを理解していないとわからない所ですね。
■ このスレッドは過去ログ倉庫に格納されています