HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0520
横槍screenのyに擬似的に480以上を代入8解決


横槍

リンク

2012/5/20(Sun) 15:34:16|NO.46735

本当は縮尺小さくしたものを再製作して表示倍率変更...で出来るんです何か面倒臭い。
そこでscreenのYの大きさの値に480以上を擬似的に代入したいのですが、
作り直したほうが早いですか?回答待ってます。



この記事に返信する


spider

リンク

2012/5/20(Sun) 15:38:38|NO.46736

うむ、ようは何がしたいのかよくわからないので、
教えてください。(ものわかりが悪いもので…)



GrapeColor(DION)

リンク

2012/5/20(Sun) 15:46:47|NO.46737

理解しかねます・・・



ヂオン

リンク

2012/5/21(Mon) 04:22:01|NO.46786

質問の意図がよくわからないので推測で回答してみます。

SelectObject 関数 を使用すれば、
ウィンドウに設定された画像をすり替える事が可能です。

boxf
mes
circle
line

等の基本的な描画は出来ますが

bmpsave による画面の保存
gmode のパレットモード
ginfo_sx ginfo_sy 初期化サイズの取得

等の機能を使用するには

bmscr 構造体 に 適切な値を代入する必要が有る事が難点です。(試していないので詳しくは解りません。)


#include "gdi32.as" #include "user32.as" // 表示限界をディスプレイのサイズにする。 screen 0,ginfo_dispx,ginfo_dispy,0,,,200,200 onexit *exit onclick *exit dim hbm,2 // ビットマップのハンドル sx=350,250 // ビットマップサイズ sy=300,200 // 300,300 サイズのビットマップを作成。 CreateCompatibleBitmap hdc,sx,sy:hbm.0=stat SelectObject hdc,hbm.0 DeleteObject stat // 以前のビットマップObjectが返るので削除しておく。 color ,255:boxf color :pos 0,0:mes strf("サイズ=%d,%d",sx,sy) // 200,200 サイズのビットマップを作成。 CreateCompatibleBitmap hdc,sx.1,sy.1:hbm.1=stat SelectObject hdc,hbm.1 color ,,255:boxf color 255,255,255:pos 0,0:mes strf("サイズ=%d,%d",sx.1,sy.1) // 切り替えてみる *@ i^=1 SelectObject hdc,hbm.i redraw // 変更を反映するにはredraw 1 を実行する。 width sx.i,sy.i wait 30 goto*@b stop *exit // 作成したオブジェクトは必ず DeleteObject で破棄する事が基本 DeleteObject hbm DeleteObject hbm.1 end



fortunehill

リンク

2012/5/22(Tue) 12:08:55|NO.46808

/*こう言う事?*/

#include "gdi32.as" screen 0,640,480*2,,,,640,480 boxf 20,20,220,220 pos 0,460 mes "ABCDEFGHIJKLMNOPQRSTUVWXYZ" wait 100 SetmapMode hdc,8 SetViewportExtEx hdc,1,2,0 redraw



check

リンク

2012/5/22(Tue) 22:12:52|NO.46820

おそらくだけどウィンドウサイズが可変のウィンドウを作成したいんだと思う。



spider

リンク

2012/5/23(Wed) 10:00:40|NO.46823

そうでしたか!なら
WinAPIのGetWindowLongとSetWindowLongでできます。


#uselib "user32.dll"
#func SetWindowLong "SetWindowLongA" sptr,sptr,sptr #cfunc GetWindowLong "GetWindowLongA" sptr,sptr //最大サイズと最大サイズ指定 screen 0, ginfo_dispx, ginfo_dispy, 0, -1, -1, 400, 400 SetWindowLong hwnd, -16, GetWindowLong(hwnd, -16) + 0x50000



spider

リンク

2012/5/23(Wed) 10:05:10|NO.46824

連続投稿すみません。
ていせいです。最大サイズと表示サイズでした。



横槍

リンク

2012/5/24(Thu) 20:42:59|NO.46832

うわwwwひどいことになってる....
すみません。自己解決しました。
何故かエラーが出ていただけでした。
こんなに盛り上げてしまって何かすみません。



ONION software Copyright 1997-2023(c) All rights reserved.