X



古代VBプログラマ質問スレ(Ver.6.0 まで) part65 [転載禁止]©2ch.net

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なんてマイクロソフトがもう捨てろと言っているのにな
0806デフォルトの名無しさん
垢版 |
2024/04/24(水) 15:39:04.48ID:a09B/WSd
マイクロソフトのライバルはマイクロソフトなのである!
つまり、VB6の様な手軽に開発出来るソフトを作ってしまったのがいけなかったんや
VBが無ければみんな泣きながらVC++使ってたろうから、多分.NETが救世主に見えたんじゃね?
0807デフォルトの名無しさん
垢版 |
2024/04/24(水) 16:30:10.07ID:QkuRMYb7
>>806
C++も無かった時代を知らないにわかですか?
レスを投稿する


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