名前 題名 ▼ Mr.XRAYさん > ▼ nyさん,どうもです. > > > GetDeviceCapsのRASTERCAPSにRC_STRETCHBLTが含まれていないとコピーできません。 > > > > 具体的なコードが知りたいですがご教授を・・・・ > > これは,GetDeviceCaps 関数の使い方ということでよろしいでしょうか ? > でしたら,例えば以下のようになりますね. > > [GetDeviceCaps 関数 - MSDN] > https://msdn.microsoft.com/ja-jp/library/cc428670.aspx > > procedure TForm1.Button1Click(Sender: TObject); > var > LDeviceCap : Integer; > LCapable : Integer; > begin > LCapable := RC_FLOODFILL; > > if PrinterSetupDialog1.Execute then begin > LDeviceCap := GetDeviceCaps(Printer.Handle, RASTERCAPS); > if (LDeviceCap and LCapable) = LCapable then begin > MessageBox(Handle, 'サポートあり', '調査結果', MB_ICONINFORMATION); > end; > end; > end; > > ただですね.プリンタでですね.メモリデバイスコンテキストを持っている, > というのは記憶にないですね. > つまり,プリンタには RC_FLOODFILL の機能はないと思います. > あまり自信ないですけど. > 地震なら,先日,熊本で大きいのがありましたが (^^; > > ディスプレイ (モニタ) でしたら使えますどね.当然ですが, > > procedure TForm1.Button4Click(Sender: TObject); > var > LDeviceCap : Integer; > LCapable : Integer; > LDesktopDC : HDC; > begin > LCapable := RC_FLOODFILL; > > LDesktopDC := CreateDC('DISPLAY', nil, nil, nil); > try > LDeviceCap := GetDeviceCaps(LDesktopDC, RASTERCAPS); > if (LDeviceCap and LCapable) = LCapable then begin > MessageBox(Handle, 'サポートあり', '調査結果', MB_ICONINFORMATION); > end; > finally > DeleteDC(LDesktopDC); > end; > end; GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link