X



古代VBプログラマ質問スレ(Ver.6.0 まで) part65 [転載禁止]©2ch.net
0001デフォルトの名無しさん垢版2015/08/30(日) 19:25:35.12ID:ZYoWCo0d
ここは古代に使われていたVisual Basic 〜6.0 の質問スレです。
質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。

VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。

○ 質問者の心得
 一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。
 二.VBScript、インストーラーなどはこのスレでOK。
 三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。
 四.荒らしは相手しない。

○ 回答者の心得
 一.答えられない質問は無駄に罵倒せずスルー。無理するな。
 二.代用法を強制しない。
 三.回答する上で必須ではない情報をむやみに聞き返さない。
 四.荒らしは相手しない。
 五.VB情報募集中。
 六.回答は質問者が理解できるよう具体的に。

MSDN Online Japan ホーム
 http://www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6
 http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
Google
 http://www.google.co.jp/

前スレ VBプログラマ質問スレ(Ver.6.0 まで) part64
http://peace.2ch.net/test/read.cgi/tech/1393069842/

※「まず自分で調べる」クセを身につけよう。
0757デフォルトの名無しさん垢版2022/10/17(月) 20:51:15.53ID:ResM8v79
なんでC#にする必要があるのか聞いてみれば
たぶん、例えばTreeViewとかの非標準のコントロールを使っているから
起動すらしないということなんでしょ

そのコントロール相当のものを自作すれば済む話なんじゃないの
自作コントロールを作っておけば、そういう案件全部食えるのでは
0758デフォルトの名無しさん垢版2022/10/17(月) 21:25:14.86ID:ResM8v79
例えばポップアップメニューの項目の中で、使えない項目は
Enabled=Falseにすると、エンボス表示になって、これは使えない項目だと瞬時に分かったのに
今時のWindowsはタブレット対応のためか、滲んだフォントを使うので、エンボス表示が使えない
そこで文字色を灰色にしたり、背景色を変えたりの統一されていない仕様になって非常に分かりにくい

それはほんの一例だが、Windows開発の先人たちが改良を重ねて使いやすくしてきたものを
全否定する今時のWindowsは、GUIが子供が作ったようにバカげたものになっている
コントロールパネル関係なんか悲惨すぎる
場当たり的な思いつきの仕様が使われて、もう末期的だろう
開発チームを統括してる奴がいないようだ

しかしXP時代のよきGUIがVBランタイムとして残されていくのは救いだな
0759デフォルトの名無しさん垢版2022/10/18(火) 00:14:57.56ID:CVoWA+t6
今やWindowsの売上はMS全体の売上の2〜3割しかないからあまり工数を割けないんだろうねぇ
0760デフォルトの名無しさん垢版2022/10/18(火) 06:51:01.92ID:pefqX3pO
>>758
今のWindowsって今までに蓄積したものをぶっ壊した挙句、
UIが中途半端なキメラ状態になってしまってるんだよな
もう、モバイル完敗なんだから、サッサと諦めて
今までのデスクトップ路線に戻してほしいわ
0761デフォルトの名無しさん垢版2022/10/18(火) 18:34:43.68ID:jOxllUCG
XPが完成形だよな。それ以降は劣化だよ。
進数計算とか空で出来ない雑魚文系なので、XPの関数電卓は未だに重宝する。
0762デフォルトの名無しさん垢版2022/10/19(水) 13:44:29.15ID:ZROCGRwu
今のWindowsの電卓は最低だわ
フリーソフト以下だ
たぶん新人の勉強のために作らせたんだろうが
あんなものをよく上司がOK出すなと思う

アンドロイドスマホの電卓はセンス良い
さすがGoogle
0764デフォルトの名無しさん垢版2022/10/21(金) 18:27:27.18ID:dJ8blgI8
VB爺がC#なんて理解できると思うかい?
0765デフォルトの名無しさん垢版2022/10/22(土) 12:33:42.37ID:rIQL1uZ+
古いプログラムは余り手を付けずに延命できるならそれに越したことはない
表面化してこなかったバグを掘り起こしてしまいかねない

C#に移行なんて話は、どうせ元のソースの全てを理解してやろうとは思ってないだろ
0766デフォルトの名無しさん垢版2022/10/28(金) 18:14:06.14ID:j2qyk+wH
「Internet Explorer 11」は2023年2月の
パッチで完全無効化
~Microsoftがアナウンス/

そろそろクラシックVBも引導渡されるかな。
0767デフォルトの名無しさん垢版2022/10/28(金) 21:30:01.59ID:P0BjJ9dQ
そもそもプロプライエタリな開発ソフトなんて時代遅れだからっ!
これからはフリーなg++またはclang++やろ?
もちろんGUIはwxWidgetsッ!
Qt?・・・もう知らん
0774デフォルトの名無しさん垢版2023/04/10(月) 16:52:13.53ID:z/zSHTiC
VBだけで出来ることなら簡単だけど、
OSの機能にアクセスしようとすると急に難しくなる
0776デフォルトの名無しさん垢版2023/04/12(水) 19:25:35.16ID:KziYdiqm
VBAにはコントロール配列が無かったから複数の同じコントロールを
操作するのが面倒だった気がする
0778デフォルトの名無しさん垢版2023/04/13(木) 23:16:41.34ID:DuR8Y0W3
VBってトライ&エラーがやりやすいから
やっつけ的な糞コードができやすいというのはあるかも・・・
0779デフォルトの名無しさん垢版2023/04/26(水) 15:39:13.95ID:RunjDrnT
難しいかどうかを気にするのって
やらない言い訳を探しているように見えるな
0781デフォルトの名無しさん垢版2023/05/04(木) 08:08:25.88ID:h3ZpMKja
Picture1をコンテナとして、複数のImageコントロールが乗っています
そのイメージを
Clipboard.Clear
Clipboard.SetData Picture1.Picture か Picture1.Image
でクリップボードに入らないかと思ったらImageは無視されてしまいます

Picture1に直接描かずに、Imageを乗せるのは、
Imageはドラッグで動かすものだからです

ウインドウ丸ごとキャプチャは、Picture1がウインドウより大きくて
スクロールしながら見るものだからダメです

全Image を BitBild でPicture1にコピーしてから
Clipboard.SetData するしかないでしょうか
0783デフォルトの名無しさん垢版2023/05/09(火) 16:11:08.45ID:WGtTQQBV
>>781

これでどうでしょうか?

フォーム上に Picture1 と Command1 を置きました。
Picture1 上には任意の Image を置いてください。

※ Picture1 の ScaleMode プロパティは、「3 - ピクセル」に設定してください。
0784デフォルトの名無しさん垢版2023/05/09(火) 16:11:45.13ID:WGtTQQBV
Option Explicit

Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hDC As Long) As Long
Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hDC As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hDC As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hDC As Long) As Long

Private Const SRCCOPY = &HCC0020

Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long

Private Const CF_BITMAP As Long = 2

Private Declare Function OpenClipboard Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function CloseClipboard Lib "user32" () As Long
Private Declare Function SetClipboardData Lib "user32" (ByVal uFormat As Long, ByVal hData As Long) As Long
0785デフォルトの名無しさん垢版2023/05/09(火) 16:12:13.61ID:WGtTQQBV
Private Sub Command1_Click()

Dim hDC As Long
Dim hBitmap As Long
Dim hBitmapOld As Long

hDC = CreateCompatibleDC(Picture1.hDC)
hBitmap = CreateCompatibleBitmap(Picture1.hDC, Picture1.ScaleWidth, Picture1.ScaleHeight)
hBitmapOld = SelectObject(hDC, hBitmap)

BitBlt hDC, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, Picture1.hDC, 0, 0, SRCCOPY

If OpenClipboard(Me.hWnd) Then
If (EmptyClipboard()) Then
SetClipboardData CF_BITMAP, hBitmap
End If

CloseClipboard
End If

SelectObject hDC, hBitmapOld
'DeleteObject hBitmap
DeleteDC hDC

End Sub
0786デフォルトの名無しさん垢版2023/05/09(火) 16:12:29.38ID:WGtTQQBV
全 Image を Picture1 に BitBlt する必要な無いみたいです。

VB6 の Clipboard オブジェクトを使用する場合は、StdPicture にする必要があるみたいですが、
hBitmap を StdPicture に変換するより Clipboard API を使用して hBitmap を渡す方が簡単だと思ったので
この様にしました。
0787デフォルトの名無しさん垢版2023/05/12(金) 20:31:18.18ID:7o2Sw5TQ
ありがとうございます
ありがとうございます
ありがとうございます
できました!

複数のImageは透過Gifでして、重なり合っているので
ImageはたぶんBitbldできないから、一旦ワーク用のPictureBoxにコピーして
それをZオーダーの下層から順にPicture1にBitbldするのに
EnumWindowsとGetNextWindowを調べているところでした

でもPicture1はウインドウより大きいので
やはり見えない部分は内部では保持していないのでしょうね
そこはコードから少しずつスクロールしながらキャプって繋ぎ合わせようと思います

私の趣味に付き合って頂いた善意あるあなた様のご健康を願っていますので一言
「ワクチンは絶対に打ってはなりません」
これから世界は大混乱の終末の様相となり大勢の人々が無くなります
もし自由な時間がおありでしたら海外情報を紹介しているサイトをご覧になることをお勧めします
0788デフォルトの名無しさん垢版2023/05/21(日) 21:31:13.35ID:MfvE52Zi
オレはワクチン打つたびに副作用が強くなっていったから3回で止めたわ
人によっては1回目で強烈な副作用に襲われたらしいが・・・
0789デフォルトの名無しさん垢版2023/05/27(土) 13:44:40.69ID:dQE1+1Te
マイクロソフトもWindowsアプリケーションの開発手段のひとつを提供しただけで、VB6.0はもともと本流ではない。
0790デフォルトの名無しさん垢版2023/05/27(土) 14:25:02.05ID:GOC3C8Ue
それなのに予想以上に人気が出てしまって(ソフトに掛けるお金や時間もなく)
切るに切れずに今に至るのでした
簡易的なものはDelphiに任せてどんと構えていれば良かったのかもしれないな
0791デフォルトの名無しさん垢版2023/05/28(日) 12:29:12.65ID:37jclXZD
でもVB4〜6の出来は素晴らしい
Windows本体やエクセルなんかより頑張ったと思う
文句の付け所がほとんど無い

思うに、MSはある時点で突然スタッフが劣化し
その前に終了したVBは良く見えると
0792デフォルトの名無しさん垢版2023/05/28(日) 12:43:01.09ID:yewAJdBX
ホントかウソか分からんが実は日本人が裏で頑張ってた説もあるんだよな
ある日突然日本人に触らせなくなってから劣化して逝ったとか・・・
日本人はソフト開発向かないと言われているが
一部には特別優秀な人が居るんだなぁ
0794デフォルトの名無しさん垢版2023/05/28(日) 18:11:05.53ID:8TEHyhBs
噂の範疇
0795デフォルトの名無しさん垢版2023/05/30(火) 19:12:16.07ID:rTNSOv2W
日本から富士通やらNECやらがWindows開発部隊をMSに送り込んでいたのは事実
当時FM-TOWNSを持っていて、富士通系のパソコン雑誌でそういう記事が紹介されてた

てっきりWindowsの日本語化、2バイト文字対応をしてるのかと思ってたが
Windowsの核の部分から日本人技術者が担当してたと後から聞いた

すると松下が加勢した日本のOSであるTRONと、Windowsの戦いは
ある意味日本人同士の戦いだったのかも知れんね

戦いというほどではなかったのかも知れないが
ゲイツや孫一味によるJAL123便撃墜で終止符が打たれたから
アメリカの方では完全に戦いになってた

アメリカはスーパー301条を発動したからね
ペンタゴンまでTRONには国防上の大問題だとイキってたし


日本人は本当に優秀だよ
JAL撃墜のときの中曽根、そして小泉・竹中による日本潰しが始まった
こいつら日本人じゃないんだ

海外の調査でも、日本をトップに、香港など東アジア勢が知能指数が高いことが判っている
8ビットCPUの、ザイログZ80やインテル8080は日本人の嶋さんの設計で
嶋さんはインテルに引き抜かれた

カナダで製造された世界初の量子コンピューターの原理は日本人の発案
人工知能でブレイクスルーとなったディープ・ラーニングも日本人の発案
しかし日本には白人の言う通りに動く、いわば日本人の足かせとなっている民族がいる
政治家なんか全員そうだ
0796デフォルトの名無しさん垢版2023/05/30(火) 19:41:10.23ID:IJpskfJb
そしてWindows安全神話が始まった
(実際は、アメリカに情報抜かれまくってたりして
0798デフォルトの名無しさん垢版2023/07/14(金) 12:53:42.31ID:b+ja8x9H
ビルド実行してもエラーもおきずEXEも吐き出されないのはどうやって原因追及すれば
突然VB6やることになってやばいです
0799デフォルトの名無しさん垢版2023/07/15(土) 22:56:11.91ID:b97teXF7
VBPをメモ帳で開いて良く見るのです
0802デフォルトの名無しさん垢版2023/08/01(火) 21:04:07.07ID:9YAGGl5I
同じ機能、同じ性能のアプリを作れるなら
簡単に早く作れる方がいいに決まっているからね
0803デフォルトの名無しさん垢版2023/11/13(月) 17:45:59.64ID:iaAhBGeY
Windows10上のVBアプリで
テキストボックスに入力していると
そのうち漢字入力ができなくなる問題が放置されている
もう修正する気は無いのだろう

たぶんWindows11上でも同じなんでしょ?

VBアプリを再起動すれば復活するのだけど
何かコードを書いて、漢字モードのリセット的なことはできないでしょうか

つまり、漢字入力できなくなったら、
それ用のコードを仕込んだボタンをポチッと押すだけで
再び漢字入力できるような・・・
0805デフォルトの名無しさん垢版2024/04/19(金) 02:47:20.29ID:uD5nyH4z
VB6.0なんてマイクロソフトがもう捨てろと言っているのにな
レスを投稿する


ニューススポーツなんでも実況